[cig-commits] r22669 - in seismo/3D/SPECFEM3D_GLOBE: branches/SPECFEM3D_GLOBE_SUNFLOWER branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D trunk trunk/src/specfem3D
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Wed Jul 24 16:39:11 PDT 2013
Author: dkomati1
Date: 2013-07-24 16:39:11 -0700 (Wed, 24 Jul 2013)
New Revision: 22669
Removed:
seismo/3D/SPECFEM3D_GLOBE/trunk/.gitignore
Modified:
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/flags.guess
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D/create_mass_matrices.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D/create_regions_mesh.F90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/check_simulation_stability.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_add_sources.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_coupling.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_element.F90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_crust_mantle_Dev.F90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_crust_mantle_noDev.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_elastic.F90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_inner_core_Dev.F90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_inner_core_noDev.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_outer_core_noDev.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_kernels.F90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_stacey_crust_mantle.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_stacey_outer_core.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/get_attenuation.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/initialize_simulation.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/locate_sources.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/noise_tomography.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/prepare_timerun.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_arrays_solver_adios.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_mesh_databases.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_mesh_databases_adios.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/save_kernels.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/setup_sources_receivers.f90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/specfem3D_par.F90
seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/write_seismograms.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/assemble_MPI_scalar.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/check_simulation_stability.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_add_sources.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_boundary_kernel.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_coupling.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_noDev.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_stacey_crust_mantle.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_stacey_outer_core.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/get_attenuation.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/locate_receivers.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/locate_sources.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/noise_tomography.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_arrays_solver.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/setup_sources_receivers.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_movie_volume.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_seismograms.f90
Log:
done with easy merges in src/specfem3D
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/flags.guess 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/flags.guess 2013-07-24 23:39:11 UTC (rev 22669)
@@ -30,7 +30,7 @@
# parallel file systems like SFS 3.2 / Lustre 1.8. If omitted
# I/O throughput lingers at 2.5 MB/s, with it it can increase to ~44 MB/s
# However it does not make much of a difference on NFS mounted volumes or with SFS 3.1.1 / Lustre 1.6.7.1
- DEF_FFLAGS="-O3 -DFORCE_VECTORIZATION -check nobounds -xHost -ftz -assume buffered_io -assume byterecl -align sequence -vec-report0 -std03 -diag-disable 6477 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage" # -mcmodel=medium -shared-intel
+ DEF_FFLAGS="-O3 -DFORCE_VECTORIZATION -check nobounds -xHost -ftz -assume buffered_io -assume byterecl -align sequence -vec-report0 -std03 -diag-disable 6477 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -mcmodel=medium -shared-intel"
# useful for debugging...
# for debugging: change -O3 -DFORCE_VECTORIZATION -check nobounds to -check all -debug -g -O0 -fp-stack-check -traceback -ftrapuv
#
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D/create_mass_matrices.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D/create_mass_matrices.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D/create_mass_matrices.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -74,7 +74,7 @@
! initializes matrices
!
- ! in the case of stacey boundary conditions, add C*delta/2 contribution to the mass matrix
+ ! in the case of Stacey boundary conditions, add C*delta/2 contribution to the mass matrix
! on the Stacey edges for the crust_mantle and outer_core regions but not for the inner_core region
! thus the mass matrix must be replaced by three mass matrices including the "C" damping matrix
!
@@ -262,7 +262,7 @@
subroutine create_mass_matrices_Stacey(myrank,nspec,ibool,iregion_code, &
NSPEC2D_BOTTOM)
-! in the case of stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
+! in the case of Stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
! on Stacey edges for the crust_mantle and outer_core regions but not for the inner_core region
! thus the mass matrix must be replaced by three mass matrices including the "C" damping matrix
@@ -310,7 +310,7 @@
integer :: ispec2D
! checks if we have absorbing boundary arrays
- if( .not. allocated(nimin) ) call exit_MPI(myrank,'error stacey array not allocated')
+ if( .not. allocated(nimin) ) call exit_MPI(myrank,'error Stacey array not allocated')
! use the non-dimensional time step to make the mass matrix correction
if(CUSTOM_REAL == SIZE_REAL) then
@@ -338,7 +338,7 @@
enddo
enddo
- ! adds contributions to mass matrix to stabilize stacey conditions
+ ! adds contributions to mass matrix to stabilize Stacey conditions
select case(iregion_code)
case(IREGION_CRUST_MANTLE)
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D/create_regions_mesh.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D/create_regions_mesh.F90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/meshfem3D/create_regions_mesh.F90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -284,7 +284,7 @@
! allocates mass matrices in this slice (will be fully assembled in the solver)
!
- ! in the case of stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
+ ! in the case of Stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
! on Stacey edges for the crust_mantle and outer_core regions but not for the inner_core region
! thus the mass matrix must be replaced by three mass matrices including the "C" damping matrix
!
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/check_simulation_stability.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/check_simulation_stability.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/check_simulation_stability.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -282,7 +282,7 @@
weekday_name(day_of_week_remote),month_name(mon_remote),day_remote,year_remote,hr_remote,minutes_remote
endif
- if(it < 100) then
+ if (it < 100) then
write(IMAIN,*) '************************************************************'
write(IMAIN,*) '**** BEWARE: the above time estimates are not reliable'
write(IMAIN,*) '**** because fewer than 100 iterations have been performed'
@@ -373,7 +373,6 @@
data month_name /'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'/
data weekday_name /'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'/
-
! write time stamp file to give information about progression of simulation
write(outputname,"('/timestamp',i6.6)") it
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_add_sources.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_add_sources.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_add_sources.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -29,6 +29,7 @@
use specfem_par
use specfem_par_crustmantle,only: accel_crust_mantle,ibool_crust_mantle
+
implicit none
! local parameters
@@ -58,12 +59,6 @@
f0 = hdur(isource) !! using hdur as a FREQUENCY just to avoid changing CMTSOLUTION file format
- !if (it == 1 .and. myrank == 0) then
- ! write(IMAIN,*) 'using a source of dominant frequency ',f0
- ! write(IMAIN,*) 'lambda_S at dominant frequency = ',3000./sqrt(3.)/f0
- ! write(IMAIN,*) 'lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
- !endif
-
! This is the expression of a Ricker; should be changed according maybe to the Par_file.
stf_used = FACTOR_FORCE_SOURCE * comp_source_time_function_rickr(dble(it-1)*DT-t0-tshift_cmt(isource),f0)
@@ -74,7 +69,6 @@
+ sngl( nu_source(COMPONENT_FORCE_SOURCE,:,isource) ) * stf_used
else
-
stf = comp_source_time_function(dble(it-1)*DT-t0-tshift_cmt(isource),hdur_gaussian(isource))
! distinguish between single and double precision for reals
@@ -133,6 +127,7 @@
use specfem_par
use specfem_par_crustmantle,only: accel_crust_mantle,ibool_crust_mantle
+
implicit none
! local parameters
@@ -284,7 +279,6 @@
!-------------------------------------------------------------------------------------------------
!
-
subroutine compute_add_sources_backward()
use specfem_par
@@ -319,6 +313,7 @@
! however, we read in the backward/reconstructed wavefields at the end of the Newmark time scheme
! in the first (it=1) time loop.
! this leads to the timing (NSTEP-(it-1)-1)*DT-t0-tshift_cmt for the source time function here
+
if(USE_FORCE_POINT_SOURCE) then
! note: for use_force_point_source xi/eta/gamma are in the range [1,NGLL*]
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_coupling.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_coupling.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_coupling.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -161,7 +161,6 @@
real(kind=CUSTOM_REAL) :: displ_x,displ_y,displ_z,displ_n,nx,ny,nz,weight
integer :: i,j,k,k_corresp,ispec,ispec2D,iglob_oc,iglob_ic,ispec_selected
-
! for surface elements exactly on the ICB
do ispec2D = 1, nspec_bottom ! NSPEC2D_BOTTOM(IREGION_OUTER_CORE)
@@ -267,7 +266,6 @@
real(kind=CUSTOM_REAL) :: pressure,nx,ny,nz,weight
integer :: i,j,k,k_corresp,ispec,ispec2D,iglob_oc,iglob_mantle,ispec_selected
-
! for surface elements exactly on the CMB
do ispec2D = 1,nspec_bottom ! NSPEC2D_BOTTOM(IREGION_CRUST_MANTLE)
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_element.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_element.F90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_element.F90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -843,19 +843,7 @@
! subtract memory variables if attenuation
if(ATTENUATION_VAL .and. ( PARTIAL_PHYS_DISPERSION_ONLY .eqv. .false. ) ) then
-!daniel: att - debug update
-! call compute_element_att_mem_up_cm(ispec,i,j,k, &
-! R_xx(:,i,j,k,ispec), &
-! R_yy(:,i,j,k,ispec), &
-! R_xy(:,i,j,k,ispec), &
-! R_xz(:,i,j,k,ispec), &
-! R_yz(:,i,j,k,ispec), &
-! epsilondev_loc(:,i,j,k),muvstore(i,j,k,ispec),is_backward_field)
-! dummy to avoid compiler warning
- if( is_backward_field ) then
- endif
-
- ! note: fortran passes pointers to array location, thus R_memory(1,1,...) should be fine
+ ! note: Fortran passes pointers to array location, thus R_memory(1,1,...) is fine
call compute_element_att_stress(R_xx(1,i,j,k,ispec), &
R_yy(1,i,j,k,ispec), &
R_xy(1,i,j,k,ispec), &
@@ -923,7 +911,6 @@
sy_l = rho * dble(dummyy_loc(i,j,k))
sz_l = rho * dble(dummyz_loc(i,j,k))
-
! compute G tensor from s . g and add to sigma (not symmetric)
sigma_xx = sigma_xx + sngl(sy_l*gyl + sz_l*gzl)
sigma_yy = sigma_yy + sngl(sx_l*gxl + sz_l*gzl)
@@ -1266,9 +1253,9 @@
c45*duzdxl_plus_duxdzl + c44*duzdyl_plus_duydzl + c34*duzdzl
! subtract memory variables if attenuation
- if(ATTENUATION_VAL .and. ( PARTIAL_PHYS_DISPERSION_ONLY .eqv. .false. ) ) then
+ if(ATTENUATION_VAL .and. .not. PARTIAL_PHYS_DISPERSION_ONLY_VAL) then
- ! note: fortran passes pointers to array location, thus R_memory(1,1,...) should be fine
+ ! note: Fortran passes pointers to array location, thus R_memory(1,1,...) is fine
call compute_element_att_stress(R_xx(1,i,j,k,ispec), &
R_yy(1,i,j,k,ispec), &
R_xy(1,i,j,k,ispec), &
@@ -1556,10 +1543,6 @@
enddo ! i_SLS
-! dummy to avoid compiler warning
- if( is_backward_field ) then
- endif
-
end subroutine compute_element_att_memory_cm
!
@@ -1661,10 +1644,6 @@
enddo
-! dummy to avoid compiler warning
- if( is_backward_field ) then
- endif
-
end subroutine compute_element_att_memory_ic
!
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_crust_mantle_Dev.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_crust_mantle_Dev.F90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_crust_mantle_Dev.F90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -177,7 +177,7 @@
! for gravity
real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLY,NGLLZ) :: rho_s_H
- integer :: ispec,i,j,k,iglob1
+ integer :: ispec,i,j,k,iglob
integer :: num_elements,ispec_p
integer :: iphase
@@ -207,10 +207,10 @@
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
- iglob1 = ibool(i,j,k,ispec)
- dummyx_loc(i,j,k) = displ_crust_mantle(1,iglob1)
- dummyy_loc(i,j,k) = displ_crust_mantle(2,iglob1)
- dummyz_loc(i,j,k) = displ_crust_mantle(3,iglob1)
+ iglob = ibool(i,j,k,ispec)
+ dummyx_loc(i,j,k) = displ_crust_mantle(1,iglob)
+ dummyy_loc(i,j,k) = displ_crust_mantle(2,iglob)
+ dummyz_loc(i,j,k) = displ_crust_mantle(3,iglob)
enddo
enddo
enddo
@@ -225,10 +225,10 @@
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
- iglob1 = ibool(i,j,k,ispec)
- dummyx_loc_att(i,j,k) = dummyx_loc(i,j,k) + deltat*veloc_crust_mantle(1,iglob1)
- dummyy_loc_att(i,j,k) = dummyy_loc(i,j,k) + deltat*veloc_crust_mantle(2,iglob1)
- dummyz_loc_att(i,j,k) = dummyz_loc(i,j,k) + deltat*veloc_crust_mantle(3,iglob1)
+ iglob = ibool(i,j,k,ispec)
+ dummyx_loc_att(i,j,k) = dummyx_loc(i,j,k) + deltat*veloc_crust_mantle(1,iglob)
+ dummyy_loc_att(i,j,k) = dummyy_loc(i,j,k) + deltat*veloc_crust_mantle(2,iglob)
+ dummyz_loc_att(i,j,k) = dummyz_loc(i,j,k) + deltat*veloc_crust_mantle(3,iglob)
enddo
enddo
enddo
@@ -547,8 +547,8 @@
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
- iglob1 = ibool(i,j,k,ispec)
- accel_crust_mantle(:,iglob1) = accel_crust_mantle(:,iglob1) + sum_terms(:,i,j,k)
+ iglob = ibool(i,j,k,ispec)
+ accel_crust_mantle(:,iglob) = accel_crust_mantle(:,iglob) + sum_terms(:,i,j,k)
enddo
enddo
enddo
@@ -568,11 +568,7 @@
! therefore Q_\alpha is not zero; for instance for V_p / V_s = sqrt(3)
! we get Q_\alpha = (9 / 4) * Q_\mu = 2.25 * Q_\mu
- if(ATTENUATION_VAL .and. ( PARTIAL_PHYS_DISPERSION_ONLY .eqv. .false. ) ) then
-
-!daniel: att - debug update R_memory variable only if not last time step which will be saved..
-! if( .not. it == NSTEP ) then
-
+ if(ATTENUATION_VAL .and. .not. PARTIAL_PHYS_DISPERSION_ONLY_VAL) then
! updates R_memory
call compute_element_att_memory_cm(ispec,R_xx,R_yy,R_xy,R_xz,R_yz, &
vx,vy,vz,vnspec,factor_common, &
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_crust_mantle_noDev.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_crust_mantle_noDev.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_crust_mantle_noDev.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -915,6 +915,7 @@
! IMPROVE we should probably use an average value instead
! reformatted R_memory to handle large factor_common and reduced [alpha,beta,gamma]val
+
factor_common_c44_muv = factor_common(i_SLS,:,:,:,ispec)
if(ANISOTROPIC_3D_MANTLE_VAL) then
factor_common_c44_muv = factor_common_c44_muv * c44store(:,:,:,ispec)
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_elastic.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_elastic.F90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_elastic.F90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -618,7 +618,7 @@
! mass matrices
!
- ! in the case of stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
+ ! in the case of Stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
! on Stacey edges for the crust_mantle and outer_core regions but not for the inner_core region
! thus the mass matrix must be replaced by three mass matrices including the "C" damping matrix
!
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_inner_core_Dev.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_inner_core_Dev.F90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_inner_core_Dev.F90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -472,7 +472,7 @@
duzdxl_plus_duxdzl = duzdxl + duxdzl
duzdyl_plus_duydzl = duzdyl + duydzl
- if(ATTENUATION_VAL .and. COMPUTE_AND_STORE_STRAIN_VAL) then
+ if (ATTENUATION_VAL .and. COMPUTE_AND_STORE_STRAIN_VAL) then
! temporary variables used for fixing attenuation in a consistent way
duxdxl_att = xixl*tempx1_att(i,j,k) + etaxl*tempx2_att(i,j,k) + gammaxl*tempx3_att(i,j,k)
duxdyl_att = xiyl*tempx1_att(i,j,k) + etayl*tempx2_att(i,j,k) + gammayl*tempx3_att(i,j,k)
@@ -522,7 +522,7 @@
endif
endif
- if( ATTENUATION_VAL ) then
+ if(ATTENUATION_VAL ) then
if( USE_3D_ATTENUATION_ARRAYS ) then
minus_sum_beta = one_minus_sum_beta(i,j,k,ispec) - 1.0_CUSTOM_REAL
else
@@ -577,7 +577,7 @@
mul = muvstore(i,j,k,ispec)
! use unrelaxed parameters if attenuation
- if( ATTENUATION_VAL ) then
+ if(ATTENUATION_VAL) then
if( USE_3D_ATTENUATION_ARRAYS ) then
mul = mul * one_minus_sum_beta(i,j,k,ispec)
else
@@ -600,16 +600,14 @@
endif
! subtract memory variables if attenuation
- if(ATTENUATION_VAL .and. ( PARTIAL_PHYS_DISPERSION_ONLY .eqv. .false. ) ) then
-
- ! note: fortran passes pointers to array location, thus R_memory(1,1,...) should be fine
+ if(ATTENUATION_VAL .and. .not. PARTIAL_PHYS_DISPERSION_ONLY_VAL) then
+ ! note: Fortran passes pointers to array location, thus R_memory(1,1,...) is fine
call compute_element_att_stress(R_xx(1,i,j,k,ispec), &
R_yy(1,i,j,k,ispec), &
R_xy(1,i,j,k,ispec), &
R_xz(1,i,j,k,ispec), &
R_yz(1,i,j,k,ispec), &
sigma_xx,sigma_yy,sigma_zz,sigma_xy,sigma_xz,sigma_yz)
-
endif
! define symmetric components of sigma for gravity
@@ -823,14 +821,11 @@
do i=1,NGLLX
fac2 = wgllwgll_xz(i,k)
fac3 = wgllwgll_xy(i,j)
-
! sum contributions
sum_terms(1,i,j,k) = - (fac1*newtempx1(i,j,k) + fac2*newtempx2(i,j,k) + fac3*newtempx3(i,j,k))
sum_terms(2,i,j,k) = - (fac1*newtempy1(i,j,k) + fac2*newtempy2(i,j,k) + fac3*newtempy3(i,j,k))
sum_terms(3,i,j,k) = - (fac1*newtempz1(i,j,k) + fac2*newtempz2(i,j,k) + fac3*newtempz3(i,j,k))
-
if(GRAVITY_VAL) sum_terms(:,i,j,k) = sum_terms(:,i,j,k) + rho_s_H(:,i,j,k)
-
enddo
enddo
enddo
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_inner_core_noDev.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_inner_core_noDev.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_inner_core_noDev.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -48,7 +48,7 @@
hprimewgll_xx,hprimewgll_yy,hprimewgll_zz, &
wgllwgll_xy,wgllwgll_xz,wgllwgll_yz,wgll_cube, &
kappavstore,muvstore,ibool,idoubling, &
- c11store,c33store,c12store,c13store,c44store,R_memory,one_minus_sum_beta,deltat,veloc_inner_core,&
+ c11store,c33store,c12store,c13store,c44store,R_memory,one_minus_sum_beta,deltat,veloc_inner_core, &
alphaval,betaval,gammaval,factor_common, &
vx,vy,vz,vnspec,PARTIAL_PHYS_DISPERSION_ONLY,&
istage,R_memory_lddrk,tau_sigma_CUSTOM_REAL)
@@ -211,7 +211,7 @@
integer, dimension(NSPEC2D_BOTTOM_INNER_CORE) :: ibelm_bottom_inner_core
real(kind=CUSTOM_REAL) templ
-!for LDDRK
+! for LDDRK
integer :: istage
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUATION) :: R_memory_lddrk
real(kind=CUSTOM_REAL),dimension(N_SLS) :: tau_sigma_CUSTOM_REAL
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_outer_core_noDev.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_outer_core_noDev.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_forces_outer_core_noDev.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -153,7 +153,7 @@
! big loop over all spectral elements in the fluid
! ****************************************************
if(istage == 1) then
- if (NSPEC_OUTER_CORE_ADJOINT /= 1 .and. icall == 1) div_displfluid(:,:,:,:) = 0._CUSTOM_REAL
+ if (NSPEC_OUTER_CORE_ADJOINT /= 1 .and. SIMULATION_TYPE == 1 .and. icall == 1) div_displfluid(:,:,:,:) = 0._CUSTOM_REAL
endif
computed_elements = 0
@@ -351,7 +351,7 @@
! note: these calculations are only considered for SIMULATION_TYPE == 1 .and. SAVE_FORWARD
! and one has set MOVIE_VOLUME_TYPE == 4 when MOVIE_VOLUME is .true.;
! in case of SIMULATION_TYPE == 3, it gets overwritten by compute_kernels_outer_core()
- if (NSPEC_OUTER_CORE_ADJOINT /= 1 .and. MOVIE_VOLUME) then
+ if (NSPEC_OUTER_CORE_ADJOINT /= 1 .and. SIMULATION_TYPE == 1 .and. MOVIE_VOLUME) then
div_displfluid(i,j,k,ispec) = &
minus_rho_g_over_kappa_fluid(int_radius) * (dpotentialdx_with_rot * gxl + &
dpotentialdy_with_rot * gyl + dpotentialdzl * gzl)
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_kernels.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_kernels.F90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_kernels.F90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -27,8 +27,6 @@
subroutine compute_kernels()
-! kernel calculations
-
use specfem_par
use specfem_par_crustmantle
use specfem_par_innercore
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_stacey_crust_mantle.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_stacey_crust_mantle.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_stacey_crust_mantle.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -63,7 +63,7 @@
integer :: i,j,k,ispec,iglob,ispec2D
!integer :: reclen1,reclen2
- ! note: we use c functions for I/O as they still have a better performance than
+ ! note: we use C functions for I/O as they still have a better performance than
! Fortran, unformatted file I/O. however, using -assume byterecl together with Fortran functions
! comes very close (only ~ 4 % slower ).
!
@@ -274,14 +274,11 @@
2) ! <= ymin
endif
-
! writes absorbing boundary values
if (SIMULATION_TYPE == 1 .and. SAVE_FORWARD .and. nspec2D_ymin_crust_mantle > 0 ) then
call write_abs(2,absorb_ymin_crust_mantle,reclen_ymin_crust_mantle,it)
endif
-
-
! ymax
! reads absorbing boundary values
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_stacey_outer_core.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_stacey_outer_core.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/compute_stacey_outer_core.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -61,7 +61,7 @@
real(kind=CUSTOM_REAL) :: sn,weight
integer :: i,j,k,ispec2D,ispec,iglob
- ! note: we use c functions for I/O as they still have a better performance than
+ ! note: we use C functions for I/O as they still have a better performance than
! Fortran, unformatted file I/O. however, using -assume byterecl together with Fortran functions
! comes very close (only ~ 4 % slower ).
!
@@ -264,7 +264,6 @@
7) ! <= ymax
endif
-
if (SIMULATION_TYPE == 1 .and. SAVE_FORWARD .and. nspec2D_ymax_outer_core > 0 ) then
call write_abs(7,absorb_ymax_outer_core,reclen_ymax_outer_core,it)
endif
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/get_attenuation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/get_attenuation.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/get_attenuation.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -76,7 +76,6 @@
open(unit=27, file=prname(1:len_trim(prname))//'attenuation.bin', &
status='old',action='read',form='unformatted',iostat=ier)
if( ier /= 0 ) call exit_MPI(myrank,'error opening file attenuation.bin')
-
read(27) tau_s
read(27) factor_common ! tau_e_store
read(27) scale_factor ! Qmu_store
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/initialize_simulation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/initialize_simulation.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/initialize_simulation.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -119,7 +119,7 @@
! distributes parameters from master to all processes
! note: uses NSPEC_computed,NGLOB_computed as arguments
- call broadcast_compute_parameters(myrank,MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,NER_CRUST, &
+ call broadcast_computed_parameters(myrank,MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,NER_CRUST, &
NER_80_MOHO,NER_220_80,NER_400_220,NER_600_400,NER_670_600,NER_771_670, &
NER_TOPDDOUBLEPRIME_771,NER_CMB_TOPDDOUBLEPRIME,NER_OUTER_CORE, &
NER_TOP_CENTRAL_CUBE_ICB,NEX_XI,NEX_ETA, &
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/locate_sources.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/locate_sources.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/locate_sources.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -126,7 +126,7 @@
double precision :: f0,t0_ricker
! mask source region (mask values are between 0 and 1, with 0 around sources)
- real(kind=CUSTOM_REAL),dimension(:,:,:,:),allocatable :: mask_source
+ real(kind=CUSTOM_REAL), dimension(:,:,:,:),allocatable :: mask_source
! event time
integer :: yr,jda,ho,mi
@@ -324,10 +324,6 @@
y_target_source = r_target_source*dsin(theta)*dsin(phi)
z_target_source = r_target_source*dcos(theta)
- ! debug
- ! would only output desired target locations
- !if(myrank == 0) print *,sngl(x_target_source),sngl(y_target_source),sngl(z_target_source)
-
! set distance to huge initial value
distmin = HUGEVAL
@@ -390,8 +386,6 @@
iy_initial_guess_source = j
iz_initial_guess_source = k
located_target = .true.
- !debug
- !print*,myrank,'dist:',distmin*R_EARTH/1000.d0,i,j,k,ispec
endif
enddo
@@ -703,7 +697,7 @@
endif
! stores location for vtk visualization
- if(isource == 1 ) then
+ if(isource == 1) then
vtkdata_source_x = sngl(x_found_source(isource_in_this_subset))
vtkdata_source_y = sngl(y_found_source(isource_in_this_subset))
vtkdata_source_z = sngl(z_found_source(isource_in_this_subset))
@@ -852,7 +846,6 @@
!-------------------------------------------------------------------------------------------------
!
-
subroutine print_stf(NSOURCES,isource,Mxx,Myy,Mzz,Mxy,Mxz,Myz, &
tshift_cmt,hdur,min_tshift_cmt_original,NSTEP,DT)
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/noise_tomography.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/noise_tomography.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/noise_tomography.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -79,6 +79,7 @@
use specfem_par
use specfem_par_crustmantle
use specfem_par_movie
+
implicit none
include "precision.h"
@@ -92,7 +93,6 @@
real(kind=CUSTOM_REAL), dimension(nmovie_points,0:NPROCTOT_VAL-1) :: &
val_x_all,val_y_all,val_z_all,val_ux_all,val_uy_all,val_uz_all
-
! read master receiver ID -- the ID in DATA/STATIONS
filename = 'OUTPUT_FILES/NOISE_TOMOGRAPHY/'//'irec_master_noise'
open(unit=IIN_NOISE,file=trim(filename),status='old',action='read',iostat=ios)
@@ -532,7 +532,6 @@
noise_surface_movie(2,i,j,ispec2D) * normal_y_noise(ipoin) + &
noise_surface_movie(3,i,j,ispec2D) * normal_z_noise(ipoin)
-
accel(1,iglob) = accel(1,iglob) &
+ eta * mask_noise(ipoin) * normal_x_noise(ipoin) &
* wgllwgll_xy(i,j) * jacobian2D_top_crust_mantle(i,j,ispec2D)
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/prepare_timerun.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/prepare_timerun.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/prepare_timerun.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -612,7 +612,6 @@
write(IMAIN,*)
endif
-
! store g, rho and dg/dr=dg using normalized radius in lookup table every 100 m
! get density and velocity from PREM model using dummy doubling flag
! this assumes that the gravity perturbations are small and smooth
@@ -816,6 +815,7 @@
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
+
if( USE_3D_ATTENUATION_ARRAYS ) then
scale_factor = factor_scale_crust_mantle(i,j,k,ispec)
else
@@ -869,6 +869,7 @@
do k=1,NGLLZ
do j=1,NGLLY
do i=1,NGLLX
+
if( USE_3D_ATTENUATION_ARRAYS ) then
scale_factor = factor_scale_inner_core(i,j,k,ispec)
else
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_arrays_solver_adios.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_arrays_solver_adios.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_arrays_solver_adios.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -375,7 +375,7 @@
! mass matrices
!
- ! in the case of stacey boundary conditions, add C*deltat/2 contribution to
+ ! in the case of Stacey boundary conditions, add C*deltat/2 contribution to
! the mass matrix on Stacey edges for the crust_mantle and outer_core regions
! but not for the inner_core region thus the mass matrix must be replaced by
! three mass matrices including the "C" damping matrix
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_mesh_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_mesh_databases.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_mesh_databases.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -60,7 +60,7 @@
call read_mesh_databases_coupling()
endif
- ! reads "addressing.txt" 2-D addressing (needed for stacey boundaries)
+ ! reads "addressing.txt" 2-D addressing (needed for Stacey boundaries)
call read_mesh_databases_addressing()
! sets up MPI interfaces, inner/outer elements and mesh coloring
@@ -132,7 +132,7 @@
! allocates mass matrices in this slice (will be fully assembled in the solver)
!
- ! in the case of stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
+ ! in the case of Stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
! on Stacey edges for the crust_mantle and outer_core regions but not for the inner_core region
! thus the mass matrix must be replaced by three mass matrices including the "C" damping matrix
!
@@ -256,7 +256,7 @@
! allocates mass matrices in this slice (will be fully assembled in the solver)
!
- ! in the case of stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
+ ! in the case of Stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
! on Stacey edges for the crust_mantle and outer_core regions but not for the inner_core region
! thus the mass matrix must be replaced by three mass matrices including the "C" damping matrix
!
@@ -368,7 +368,7 @@
! allocates mass matrices in this slice (will be fully assembled in the solver)
!
- ! in the case of stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
+ ! in the case of Stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
! on Stacey edges for the crust_mantle and outer_core regions but not for the inner_core region
! thus the mass matrix must be replaced by three mass matrices including the "C" damping matrix
!
@@ -451,6 +451,9 @@
integer :: njunk1,njunk2,njunk3
integer :: ier
+ ! user output
+ if( myrank == 0 ) write(IMAIN,*) 'reading coupling surfaces...'
+
! crust and mantle
! create name of database
call create_name_database(prname,myrank,IREGION_CRUST_MANTLE,LOCAL_PATH)
@@ -490,7 +493,6 @@
read(27) jacobian2D_top_crust_mantle
close(27)
-
! read parameters to couple fluid and solid regions
!
! outer core
@@ -536,7 +538,6 @@
read(27) jacobian2D_top_outer_core
close(27)
-
!
! inner core
!
@@ -565,7 +566,6 @@
read(27) ibelm_top_inner_core
close(27)
-
! -- Boundary Mesh for crust and mantle ---
if (SAVE_BOUNDARY_MESH .and. SIMULATION_TYPE == 3) then
@@ -695,7 +695,7 @@
endif
! determine chunk number and local slice coordinates using addressing
- ! (needed for stacey conditions)
+ ! (needed for Stacey conditions)
ichunk = ichunk_slice(myrank)
end subroutine read_mesh_databases_addressing
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_mesh_databases_adios.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_mesh_databases_adios.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/read_mesh_databases_adios.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -732,7 +732,7 @@
endif
! determine chunk number and local slice coordinates using addressing
- ! (needed for stacey conditions)
+ ! (needed for Stacey conditions)
ichunk = ichunk_slice(myrank)
end subroutine read_mesh_databases_addressing_adios
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/save_kernels.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/save_kernels.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/save_kernels.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -91,7 +91,6 @@
do j = 1, NGLLY
do i = 1, NGLLX
-
if (ANISOTROPIC_KL) then
! For anisotropic kernels
@@ -461,13 +460,6 @@
rho_kl_outer_core(i,j,k,ispec) = (rho_kl + alpha_kl) * scale_kl
alpha_kl_outer_core(i,j,k,ispec) = 2 * alpha_kl * scale_kl
-
- !deviatoric kernel check
- if( deviatoric_outercore ) then
- beta_kl = - 2 * beta_kl_outer_core(i,j,k,ispec) ! not using mul, since it's zero for the fluid
- beta_kl_outer_core(i,j,k,ispec) = beta_kl
- endif
-
enddo
enddo
enddo
@@ -482,13 +474,6 @@
write(27) alpha_kl_outer_core
close(27)
- ! deviatoric kernel check
- if( deviatoric_outercore ) then
- open(unit=27,file=trim(prname)//'mu_kernel.bin',status='unknown',form='unformatted',action='write')
- write(27) beta_kl_outer_core
- close(27)
- endif
-
end subroutine save_kernels_outer_core
!
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/setup_sources_receivers.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/setup_sources_receivers.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/setup_sources_receivers.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -344,7 +344,6 @@
yr_SAC,jda_SAC,ho_SAC,mi_SAC,sec_SAC, &
theta_source(1),phi_source(1),NCHUNKS_VAL,ELLIPTICITY_VAL)
-
! count number of receivers located in this slice
nrec_local = 0
if (SIMULATION_TYPE == 1 .or. SIMULATION_TYPE == 3) then
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/specfem3D_par.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/specfem3D_par.F90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/specfem3D_par.F90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -249,7 +249,7 @@
! proc numbers for MPI
integer :: myrank
- integer :: ichunk ! needed for stacey boundaries
+ integer :: ichunk ! needed for Stacey boundaries
! time loop timing
double precision :: time_start,tCPU
@@ -369,7 +369,7 @@
! mass matrices
!
- ! in the case of stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
+ ! in the case of Stacey boundary conditions, add C*deltat/2 contribution to the mass matrix
! on Stacey edges for the crust_mantle and outer_core regions but not for the inner_core region
! thus the mass matrix must be replaced by three mass matrices including the "C" damping matrix
!
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/write_seismograms.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/write_seismograms.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/SPECFEM3D_GLOBE_SUNFLOWER/src/specfem3D/write_seismograms.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -371,12 +371,14 @@
character(len=4) :: chn
character(len=256) :: sisname,sisname_big_file
character(len=2) :: bic
+ ! variables used for calculation of backazimuth and
+ ! rotation of components if ROTATE_SEISMOGRAMS=.true.
integer :: ior_start,ior_end
double precision :: backaz
real(kind=CUSTOM_REAL) :: phi,cphi,sphi
integer :: isample
- ! gets band code
+ ! get band code
call band_instrument_code(DT,bic)
if (ROTATE_SEISMOGRAMS_RT) then ! iorientation 1=N,2=E,3=Z,4=R,5=T
Deleted: seismo/3D/SPECFEM3D_GLOBE/trunk/.gitignore
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/.gitignore 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/.gitignore 2013-07-24 23:39:11 UTC (rev 22669)
@@ -1,7 +0,0 @@
-# List files that should not be committed
-.*swp
-.*swo
-.*swn
-*~
-*.mod
-obj/*
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess 2013-07-24 23:39:11 UTC (rev 22669)
@@ -30,7 +30,7 @@
# parallel file systems like SFS 3.2 / Lustre 1.8. If omitted
# I/O throughput lingers at 2.5 MB/s, with it it can increase to ~44 MB/s
# However it does not make much of a difference on NFS mounted volumes or with SFS 3.1.1 / Lustre 1.6.7.1
- DEF_FFLAGS="-O3 -DFORCE_VECTORIZATION -check nobounds -xHost -ftz -assume buffered_io -assume byterecl -align sequence -vec-report0 -std03 -diag-disable 6477 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage" # -mcmodel=medium -shared-intel
+ DEF_FFLAGS="-O3 -DFORCE_VECTORIZATION -check nobounds -xHost -ftz -assume buffered_io -assume byterecl -align sequence -vec-report0 -std03 -diag-disable 6477 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -mcmodel=medium -shared-intel"
# useful for debugging...
# for debugging: change -O3 -DFORCE_VECTORIZATION -check nobounds to -check all -debug -g -O0 -fp-stack-check -traceback -ftrapuv
#
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/assemble_MPI_scalar.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/assemble_MPI_scalar.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/assemble_MPI_scalar.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -52,7 +52,7 @@
include "constants.h"
include "precision.h"
- integer myrank,NCHUNKS,iphase
+ integer :: myrank,NCHUNKS,iphase
integer :: nglob
! array to assemble
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/check_simulation_stability.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/check_simulation_stability.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/check_simulation_stability.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -269,7 +269,6 @@
! write time stamp file to give information about progression of simulation
!! DK DK for UNDO_ATTENUATION
if(SIMULATION_TYPE == 1) then
-! write(outputname,"('/timestamp',i6.6)") it
write(outputname,"('/timestamp_forward',i6.6)") it
else
write(outputname,"('/timestamp_backward',i6.6)") it
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_add_sources.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_add_sources.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_add_sources.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -86,12 +86,6 @@
f0 = hdur(isource) !! using hdur as a FREQUENCY just to avoid changing CMTSOLUTION file format
- !if (it == 1 .and. myrank == 0) then
- ! write(IMAIN,*) 'using a source of dominant frequency ',f0
- ! write(IMAIN,*) 'lambda_S at dominant frequency = ',3000./sqrt(3.)/f0
- ! write(IMAIN,*) 'lambda_S at highest significant frequency = ',3000./sqrt(3.)/(2.5*f0)
- !endif
-
! This is the expression of a Ricker; should be changed according maybe to the Par_file.
if(USE_LDDRK)then
stf_used = FACTOR_FORCE_SOURCE * &
@@ -329,7 +323,6 @@
!-------------------------------------------------------------------------------------------------
!
-
subroutine compute_add_sources_backward(myrank,NSOURCES,NSTEP, &
b_accel_crust_mantle,sourcearrays, &
DT,t0,tshift_cmt,hdur_gaussian,ibool_crust_mantle, &
@@ -371,20 +364,20 @@
do isource = 1,NSOURCES
- ! add the source (only if this proc carries the source)
- if(myrank == islice_selected_source(isource)) then
+ ! add the source (only if this proc carries the source)
+ if(myrank == islice_selected_source(isource)) then
-! note on backward/reconstructed wavefields:
-! time for b_displ( it ) corresponds to (NSTEP - (it-1) - 1 )*DT - t0 ...
-! as we start with saved wavefields b_displ( 1 ) = displ( NSTEP ) which correspond
-! to a time (NSTEP - 1)*DT - t0
-! (see sources for simulation_type 1 and seismograms)
-!
-! now, at the beginning of the time loop, the numerical Newmark time scheme updates
-! the wavefields, that is b_displ( it=1) would correspond to time (NSTEP -1 - 1)*DT - t0.
-! however, we read in the backward/reconstructed wavefields at the end of the Newmark time scheme
-! in the first (it=1) time loop.
-! this leads to the timing (NSTEP-(it-1)-1)*DT-t0-tshift_cmt for the source time function here
+ ! note on backward/reconstructed wavefields:
+ ! time for b_displ( it ) corresponds to (NSTEP - (it-1) - 1 )*DT - t0 ...
+ ! as we start with saved wavefields b_displ( 1 ) = displ( NSTEP ) which correspond
+ ! to a time (NSTEP - 1)*DT - t0
+ ! (see sources for simulation_type 1 and seismograms)
+ !
+ ! now, at the beginning of the time loop, the numerical Newmark time scheme updates
+ ! the wavefields, that is b_displ( it=1) would correspond to time (NSTEP -1 - 1)*DT - t0.
+ ! however, we read in the backward/reconstructed wavefields at the end of the Newmark time scheme
+ ! in the first (it=1) time loop.
+ ! this leads to the timing (NSTEP-(it-1)-1)*DT-t0-tshift_cmt for the source time function here
if(USE_FORCE_POINT_SOURCE) then
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_boundary_kernel.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_boundary_kernel.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_boundary_kernel.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -25,7 +25,7 @@
!
!=====================================================================
-subroutine compute_boundary_kernel(displ,accel,b_displ,nspec,iregion_code, &
+ subroutine compute_boundary_kernel(displ,accel,b_displ,nspec,iregion_code, &
ystore,zstore,ibool,ispec_is_tiso, &
xix,xiy,xiz,etax,etay,etaz,gammax,gammay,gammaz, &
hprime_xx,hprime_yy,hprime_zz, &
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_coupling.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_coupling.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_coupling.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -138,7 +138,6 @@
real(kind=CUSTOM_REAL) :: displ_x,displ_y,displ_z,displ_n,nx,ny,nz,weight
integer :: i,j,k,k_corresp,ispec,ispec2D,iglob_oc,iglob_ic,ispec_selected
-
! for surface elements exactly on the ICB
do ispec2D = 1, nspec_bottom ! NSPEC2D_BOTTOM(IREGION_OUTER_CORE)
@@ -225,7 +224,6 @@
real(kind=CUSTOM_REAL) :: pressure,nx,ny,nz,weight
integer :: i,j,k,k_corresp,ispec,ispec2D,iglob_oc,iglob_mantle,ispec_selected
-
! for surface elements exactly on the CMB
do ispec2D = 1,nspec_bottom ! NSPEC2D_BOTTOM(IREGION_CRUST_MANTLE)
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_noDev.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_noDev.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_noDev.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -213,7 +213,7 @@
integer, dimension(NSPEC2D_BOTTOM_INNER_CORE) :: ibelm_bottom_inner_core
real(kind=CUSTOM_REAL) templ
-!for LDDRK
+! for LDDRK
integer :: istage
logical :: USE_LDDRK
real(kind=CUSTOM_REAL), dimension(5,N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUATION) :: R_memory_lddrk
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_stacey_crust_mantle.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_stacey_crust_mantle.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_stacey_crust_mantle.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -97,14 +97,13 @@
real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLZ,nabs_ymin_cm) :: absorb_ymin_crust_mantle
real(kind=CUSTOM_REAL), dimension(NDIM,NGLLX,NGLLZ,nabs_ymax_cm) :: absorb_ymax_crust_mantle
-
! local parameters
real(kind=CUSTOM_REAL) :: weight
real(kind=CUSTOM_REAL) :: vn,vx,vy,vz,nx,ny,nz,tx,ty,tz
integer :: i,j,k,ispec,iglob,ispec2D
!integer :: reclen1,reclen2
- ! note: we use c functions for I/O as they still have a better performance than
+ ! note: we use C functions for I/O as they still have a better performance than
! Fortran, unformatted file I/O. however, using -assume byterecl together with Fortran functions
! comes very close (only ~ 4 % slower ).
!
@@ -383,7 +382,6 @@
! file access (by process rank modulo 8) showed that the following,
! simple approach is still fastest. (assuming that files are accessed on a local scratch disk)
-
! crust & mantle
! xmin
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_stacey_outer_core.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_stacey_outer_core.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_stacey_outer_core.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -104,7 +104,7 @@
!integer :: reclen1,reclen2
integer :: i,j,k,ispec2D,ispec,iglob
- ! note: we use c functions for I/O as they still have a better performance than
+ ! note: we use C functions for I/O as they still have a better performance than
! Fortran, unformatted file I/O. however, using -assume byterecl together with Fortran functions
! comes very close (only ~ 4 % slower ).
!
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/get_attenuation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/get_attenuation.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/get_attenuation.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -67,13 +67,14 @@
! All of the following reads use the output parameters as their temporary arrays
! use the filename to determine the actual contents of the read
- open(unit=27, file=prname(1:len_trim(prname))//'attenuation.bin', &
- status='old',action='read',form='unformatted')
- read(27) tau_s
- read(27) factor_common
- read(27) scale_factor
- read(27) T_c_source
- close(27)
+ open(unit=27, file=prname(1:len_trim(prname))//'attenuation.bin', &
+ status='old',action='read',form='unformatted',iostat=ier)
+ if( ier /= 0 ) call exit_MPI(myrank,'error opening file attenuation.bin')
+ read(27) tau_s
+ read(27) factor_common ! tau_e_store
+ read(27) scale_factor ! Qmu_store
+ read(27) T_c_source
+ close(27)
scale_t = ONE/dsqrt(PI*GRAV*RHOAV)
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -153,8 +153,7 @@
double precision :: RMOHO_FICTITIOUS_IN_MESHER,R120,R_CENTRAL_CUBE,CENTER_LONGITUDE_IN_DEGREES,&
CENTER_LATITUDE_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES,ANGULAR_WIDTH_XI_IN_DEGREES,&
- GAMMA_ROTATION_AZIMUTH, &
- RATIO_BY_WHICH_TO_INCREASE_IT
+ GAMMA_ROTATION_AZIMUTH,RATIO_BY_WHICH_TO_INCREASE_IT
integer :: REFERENCE_1D_MODEL,THREE_D_MODEL
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/locate_receivers.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/locate_receivers.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/locate_receivers.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -676,8 +676,7 @@
enddo ! end of loop over all station subsets
-
-! this is executed by main process only
+! this is executed by the main process only
if(myrank == 0) then
nrec_found = 0
@@ -801,9 +800,8 @@
endif ! end of section executed by main process only
-! main process broadcasts the results to all the slices
+ ! main process broadcasts the results to all the slices
call MPI_BCAST(nrec,1,MPI_INTEGER,0,MPI_COMM_WORLD,ier)
- call MPI_BARRIER(MPI_COMM_WORLD,ier)
call MPI_BCAST(islice_selected_rec,nrec,MPI_INTEGER,0,MPI_COMM_WORLD,ier)
call MPI_BCAST(ispec_selected_rec,nrec,MPI_INTEGER,0,MPI_COMM_WORLD,ier)
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/locate_sources.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/locate_sources.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/locate_sources.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -347,10 +347,6 @@
y_target_source = r_target_source*dsin(theta)*dsin(phi)
z_target_source = r_target_source*dcos(theta)
- ! debug
- ! would only output desired target locations
- !if(myrank == 0) write(IOVTK,*) sngl(x_target_source),sngl(y_target_source),sngl(z_target_source)
-
! set distance to huge initial value
distmin = HUGEVAL
@@ -940,7 +936,6 @@
!-------------------------------------------------------------------------------------------------
!
-
subroutine print_stf(NSOURCES,isource,Mxx,Myy,Mzz,Mxy,Mxz,Myz, &
tshift_cmt,hdur,min_tshift_cmt_original,NSTEP,DT)
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/noise_tomography.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/noise_tomography.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/noise_tomography.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -113,7 +113,6 @@
real(kind=CUSTOM_REAL), dimension(nmovie_points,0:NPROCTOT_VAL-1) :: &
val_x_all,val_y_all,val_z_all,val_ux_all,val_uy_all,val_uz_all
-
! read master receiver ID -- the ID in DATA/STATIONS
filename = 'OUTPUT_FILES/NOISE_TOMOGRAPHY/'//'irec_master_noise'
open(unit=IIN_NOISE,file=trim(filename),status='old',action='read',iostat=ios)
@@ -236,11 +235,13 @@
include "constants.h"
include "OUTPUT_FILES/values_from_mesher.h"
+
! input parameters
integer :: myrank,NOISE_TOMOGRAPHY,SIMULATION_TYPE,NUMBER_OF_RUNS,NUMBER_OF_THIS_RUN,NSPEC_TOP,NSTEP
logical :: SAVE_FORWARD,ROTATE_SEISMOGRAMS_RT,SAVE_ALL_SEISMOS_IN_ONE_FILE, &
USE_BINARY_FOR_LARGE_FILE,MOVIE_COARSE
character(len=150) :: LOCAL_PATH
+
! output parameters
! local parameters
integer :: reclen,ier
@@ -568,7 +569,6 @@
noise_surface_movie(2,i,j,ispec2D) * normal_y_noise(ipoin) + &
noise_surface_movie(3,i,j,ispec2D) * normal_z_noise(ipoin)
-
accel_crust_mantle(1,iglob) = accel_crust_mantle(1,iglob) &
+ eta * mask_noise(ipoin) * normal_x_noise(ipoin) &
* wgllwgll_xy(i,j) * jacobian2D_top_crust_mantle(i,j,ispec2D)
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_arrays_solver.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_arrays_solver.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_arrays_solver.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -102,7 +102,8 @@
call create_name_database(prname,myrank,iregion_code,LOCAL_PATH)
open(unit=IIN,file=prname(1:len_trim(prname))//'solver_data_1.bin', &
- status='old',action='read',form='unformatted')
+ status='old',action='read',form='unformatted',iostat=ier)
+ if( ier /= 0 ) call exit_mpi(myrank,'error opening solver_data_1.bin')
read(IIN) xix
read(IIN) xiy
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/read_mesh_databases.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -739,7 +739,6 @@
! synchronizes processes
call sync_all()
-
! read parameters to couple fluid and solid regions
!
! outer core
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/setup_sources_receivers.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/setup_sources_receivers.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/setup_sources_receivers.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -115,7 +115,7 @@
! makes smaller hdur for movies
logical,parameter :: USE_SMALLER_HDUR_MOVIE = .false.
-! sources
+ ! sources
! BS BS moved open statement and writing of first lines into sr.vtk before the
! call to locate_sources, where further write statements to that file follow
if(myrank == 0) then
@@ -249,7 +249,6 @@
theta_source(1),phi_source(1),rspl,espl,espl2,nspl, &
ibathy_topo,RECEIVERS_CAN_BE_BURIED,NCHUNKS_VAL)
-
! count number of receivers located in this slice
nrec_local = 0
if (SIMULATION_TYPE == 1 .or. SIMULATION_TYPE == 3) then
@@ -422,7 +421,7 @@
! check that the source slice number is okay
if(islice_selected_source(isource) < 0 .or. islice_selected_source(isource) > NPROCTOT_VAL-1) &
- call exit_MPI(myrank,'something is wrong with the source slice number')
+ call exit_MPI(myrank,'error: source slice number invalid')
! compute source arrays in source slice
if(myrank == islice_selected_source(isource)) then
@@ -437,6 +436,7 @@
sourcearrays(:,:,:,:,isource) = sourcearray(:,:,:,:)
endif
+
enddo
end subroutine setup_sources_receivers_srcarr
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_movie_volume.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_movie_volume.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_movie_volume.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -51,7 +51,7 @@
logical, dimension(NGLOB_CRUST_MANTLE) :: mask_ibool
logical, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: mask_3dmovie
-! variables
+ ! local parameters
integer :: ipoints_3dmovie,ispecel_3dmovie,ispec,iglob,i,j,k,iNIT
real(kind=custom_real) :: rval,thetaval,phival
@@ -291,8 +291,11 @@
real(kind=CUSTOM_REAL), dimension(NGLLY,NGLLY) :: hprime_yy
real(kind=CUSTOM_REAL), dimension(NGLLZ,NGLLZ) :: hprime_zz
- real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_3DMOVIE) :: muvstore_crust_mantle_3dmovie
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_3DMOVIE) :: &
+ muvstore_crust_mantle_3dmovie
+
logical, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: mask_3dmovie
+
logical :: MOVIE_COARSE
real(kind=CUSTOM_REAL), dimension(3,3,npoints_3dmovie) :: nu_3dmovie
character(len=150) LOCAL_PATH,outputname
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_seismograms.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_seismograms.f90 2013-07-24 21:52:17 UTC (rev 22668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_seismograms.f90 2013-07-24 23:39:11 UTC (rev 22669)
@@ -339,17 +339,16 @@
logical SAVE_ALL_SEISMOS_IN_ONE_FILE
logical USE_BINARY_FOR_LARGE_FILE
-! local parameters
- character(len=2) bic
+ ! local parameters
+ character(len=2) :: bic
! variables used for calculation of backazimuth and
! rotation of components if ROTATE_SEISMOGRAMS=.true.
- integer ior_start,ior_end
- double precision backaz
- real(kind=CUSTOM_REAL) phi,cphi,sphi
- integer isample
+ integer :: ior_start,ior_end
+ double precision :: backaz
+ real(kind=CUSTOM_REAL) :: phi,cphi,sphi
+ integer :: isample
- !----------------------------------------------------------------
-
+ ! get band code
call band_instrument_code(DT,bic)
if (ROTATE_SEISMOGRAMS_RT) then ! iorientation 1=N,2=E,3=Z,4=R,5=T
More information about the CIG-COMMITS
mailing list