[cig-commits] r19885 - in seismo/3D/SPECFEM3D_GLOBE/trunk/src: create_header_file meshfem3D shared
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Tue Mar 27 15:04:57 PDT 2012
Author: dkomati1
Date: 2012-03-27 15:04:57 -0700 (Tue, 27 Mar 2012)
New Revision: 19885
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/src/create_header_file/create_header_file.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/compute_element_properties.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_central_cube.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_doubling_elements.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regular_elements.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/get_model.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/meshfem3D.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/src/shared/save_header_file.f90
Log:
fixed a bug I had introduced in attenuation yesterday: I had forgotten to convert some arrays from double to single precision.
also put display of exact surface back when chunk has a size of 90 degrees x 90 degrees.
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/create_header_file/create_header_file.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/create_header_file/create_header_file.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/create_header_file/create_header_file.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -250,7 +250,13 @@
print *,' (but that can be perfectly acceptable if you can afford it and'
print *,' want faster results by using more cores)'
print *
- print *,'size of static arrays for all slices = ',static_memory_size*dble(NPROCTOT)/1.d9,' GB'
+ if(static_memory_size*dble(NPROCTOT)/1.d6 < 10000.d0) then
+ print *,'size of static arrays for all slices = ',static_memory_size*dble(NPROCTOT)/1.d6,' MB'
+ print *,' = ',static_memory_size*dble(NPROCTOT)/1048576.d0,' MiB'
+ print *,' = ',static_memory_size*dble(NPROCTOT)/1.d9,' GB'
+ else
+ print *,'size of static arrays for all slices = ',static_memory_size*dble(NPROCTOT)/1.d9,' GB'
+ endif
print *,' = ',static_memory_size*dble(NPROCTOT)/1073741824.d0,' GiB'
print *,' = ',static_memory_size*dble(NPROCTOT)/1.d12,' TB'
print *,' = ',static_memory_size*dble(NPROCTOT)/1099511627776.d0,' TiB'
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/compute_element_properties.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/compute_element_properties.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/compute_element_properties.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -97,8 +97,8 @@
! attenuation
integer nspec_att
- double precision, dimension(NGLLX,NGLLY,NGLLZ,nspec_att) :: Qmu_store
- double precision, dimension(N_SLS,NGLLX,NGLLY,NGLLZ,nspec_att) :: tau_e_store
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,nspec_att) :: Qmu_store
+ real(kind=CUSTOM_REAL), dimension(N_SLS,NGLLX,NGLLY,NGLLZ,nspec_att) :: tau_e_store
double precision, dimension(N_SLS) :: tau_s
double precision T_c_source
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_central_cube.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_central_cube.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_central_cube.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -114,8 +114,8 @@
! attenuation
integer nspec_att
- double precision, dimension(NGLLX,NGLLY,NGLLZ,nspec_att) :: Qmu_store
- double precision, dimension(N_SLS,NGLLX,NGLLY,NGLLZ,nspec_att) :: tau_e_store
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,nspec_att) :: Qmu_store
+ real(kind=CUSTOM_REAL), dimension(N_SLS,NGLLX,NGLLY,NGLLZ,nspec_att) :: tau_e_store
double precision, dimension(N_SLS) :: tau_s
double precision T_c_source
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_doubling_elements.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_doubling_elements.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_doubling_elements.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -125,8 +125,8 @@
! attenuation
integer nspec_att
- double precision, dimension(NGLLX,NGLLY,NGLLZ,nspec_att) :: Qmu_store
- double precision, dimension(N_SLS,NGLLX,NGLLY,NGLLZ,nspec_att) :: tau_e_store
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,nspec_att) :: Qmu_store
+ real(kind=CUSTOM_REAL), dimension(N_SLS,NGLLX,NGLLY,NGLLZ,nspec_att) :: tau_e_store
double precision, dimension(N_SLS) :: tau_s
double precision T_c_source
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regions_mesh.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -206,8 +206,8 @@
double precision, dimension(NDIM,NDIM) :: rotation_matrix
! attenuation
- double precision, dimension(:,:,:,:), allocatable :: Qmu_store
- double precision, dimension(:,:,:,:,:), allocatable :: tau_e_store
+ real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: Qmu_store
+ real(kind=CUSTOM_REAL), dimension(:,:,:,:,:), allocatable :: tau_e_store
double precision, dimension(N_SLS) :: tau_s
double precision T_c_source
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regular_elements.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regular_elements.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/create_regular_elements.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -130,8 +130,8 @@
! attenuation
integer nspec_att
- double precision, dimension(NGLLX,NGLLY,NGLLZ,nspec_att) :: Qmu_store
- double precision, dimension(N_SLS,NGLLX,NGLLY,NGLLZ,nspec_att) :: tau_e_store
+ real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,nspec_att) :: Qmu_store
+ real(kind=CUSTOM_REAL), dimension(N_SLS,NGLLX,NGLLY,NGLLZ,nspec_att) :: tau_e_store
double precision, dimension(N_SLS) :: tau_s
double precision T_c_source
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/get_model.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/get_model.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/get_model.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -70,8 +70,8 @@
! attenuation values
integer vx,vy,vz,vnspec
double precision, dimension(N_SLS) :: tau_s
- double precision, dimension(vx, vy, vz, vnspec) :: Qmu_store
- double precision, dimension(N_SLS, vx, vy, vz, vnspec) :: tau_e_store
+ real(kind=CUSTOM_REAL), dimension(vx, vy, vz, vnspec) :: Qmu_store
+ real(kind=CUSTOM_REAL), dimension(N_SLS, vx, vy, vz, vnspec) :: tau_e_store
double precision T_c_source
logical ABSORBING_CONDITIONS
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/meshfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/meshfem3D.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/meshfem3D.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -693,7 +693,7 @@
call meshfem3D_compute_area(myrank,NCHUNKS,iregion_code, &
area_local_bottom,area_local_top,&
volume_local,volume_total, &
- RCMB,RICB,R_CENTRAL_CUBE)
+ RCMB,RICB,R_CENTRAL_CUBE,ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES)
! create chunk buffers if more than one chunk
if(NCHUNKS > 1) then
@@ -738,12 +738,13 @@
! take the central cube into account
! it is counted 6 times because of the fictitious elements
if(INCLUDE_CENTRAL_CUBE) then
- write(IMAIN,*) ' exact volume: ', &
+ write(IMAIN,*) ' similar volume: ', &
dble(NCHUNKS)*((4.0d0/3.0d0)*PI*(R_UNIT_SPHERE**3)+5.*(2.*(R_CENTRAL_CUBE/R_EARTH)/sqrt(3.))**3)/6.d0
else
- write(IMAIN,*) ' exact volume: ', &
+ write(IMAIN,*) ' similar volume: ', &
dble(NCHUNKS)*((4.0d0/3.0d0)*PI*(R_UNIT_SPHERE**3)-(2.*(R_CENTRAL_CUBE/R_EARTH)/sqrt(3.))**3)/6.d0
endif
+ write(IMAIN,*) ' (but not exact because the central cube is purposely inflated)'
endif
endif
@@ -1174,7 +1175,7 @@
subroutine meshfem3D_compute_area(myrank,NCHUNKS,iregion_code, &
area_local_bottom,area_local_top,&
volume_local,volume_total, &
- RCMB,RICB,R_CENTRAL_CUBE)
+ RCMB,RICB,R_CENTRAL_CUBE,ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES)
use meshfem3D_models_par
@@ -1184,7 +1185,7 @@
integer :: myrank,NCHUNKS,iregion_code
- double precision :: area_local_bottom,area_local_top,volume_local
+ double precision :: area_local_bottom,area_local_top,volume_local,ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES
double precision :: volume_total
double precision :: RCMB,RICB,R_CENTRAL_CUBE
@@ -1229,14 +1230,16 @@
write(IMAIN,*) 'calculated bottom area: ',area_total_bottom
! compare to exact theoretical value
- if(NCHUNKS == 6 .and. .not. TOPOGRAPHY) then
+ if((NCHUNKS == 6 .or. (abs(ANGULAR_WIDTH_XI_IN_DEGREES - 90.d0) < TINYVAL .and. &
+ abs(ANGULAR_WIDTH_ETA_IN_DEGREES - 90.d0) < TINYVAL)) .and. .not. TOPOGRAPHY) then
select case(iregion_code)
case(IREGION_CRUST_MANTLE)
write(IMAIN,*) ' exact area: ',dble(NCHUNKS)*(4.0d0/6.0d0)*PI*(RCMB/R_EARTH)**2
case(IREGION_OUTER_CORE)
write(IMAIN,*) ' exact area: ',dble(NCHUNKS)*(4.0d0/6.0d0)*PI*(RICB/R_EARTH)**2
case(IREGION_INNER_CORE)
- write(IMAIN,*) ' similar area (central cube): ',dble(NCHUNKS)*(2.*(R_CENTRAL_CUBE / R_EARTH)/sqrt(3.))**2
+ write(IMAIN,*) ' similar (but not exact) area (central cube): ', &
+ dble(NCHUNKS)*(2.*(R_CENTRAL_CUBE / R_EARTH)/sqrt(3.))**2
case default
call exit_MPI(myrank,'incorrect region code')
end select
@@ -1244,7 +1247,5 @@
endif
-
end subroutine meshfem3D_compute_area
-
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/meshfem3D/save_arrays_solver.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -50,26 +50,6 @@
include "constants.h"
-! model_attenuation_variables
-! type model_attenuation_variables
-! sequence
-! double precision min_period, max_period
-! double precision :: QT_c_source ! Source Frequency
-! double precision, dimension(:), pointer :: Qtau_s ! tau_sigma
-! double precision, dimension(:), pointer :: QrDisc ! Discontinutitues Defined
-! double precision, dimension(:), pointer :: Qr ! Radius
-! double precision, dimension(:), pointer :: Qmu ! Shear Attenuation
-! double precision, dimension(:,:), pointer :: Qtau_e ! tau_epsilon
-! double precision, dimension(:), pointer :: Qomsb, Qomsb2 ! one_minus_sum_beta
-! double precision, dimension(:,:), pointer :: Qfc, Qfc2 ! factor_common
-! double precision, dimension(:), pointer :: Qsf, Qsf2 ! scale_factor
-! integer, dimension(:), pointer :: Qrmin ! Max and Mins of idoubling
-! integer, dimension(:), pointer :: Qrmax ! Max and Mins of idoubling
-! integer, dimension(:), pointer :: interval_Q ! Steps
-! integer :: Qn ! Number of points
-! integer dummy_pad ! padding 4 bytes to align the structure
-! end type model_attenuation_variables
-
logical ATTENUATION
character(len=150) prname
@@ -150,8 +130,8 @@
integer vx, vy, vz, vnspec
double precision T_c_source
double precision, dimension(N_SLS) :: tau_s
- double precision, dimension(vx, vy, vz, vnspec) :: Qmu_store
- double precision, dimension(N_SLS, vx, vy, vz, vnspec) :: tau_e_store
+ real(kind=CUSTOM_REAL), dimension(vx, vy, vz, vnspec) :: Qmu_store
+ real(kind=CUSTOM_REAL), dimension(N_SLS, vx, vy, vz, vnspec) :: tau_e_store
logical ABSORBING_CONDITIONS,SAVE_MESH_FILES
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/shared/save_header_file.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/shared/save_header_file.f90 2012-03-27 21:00:53 UTC (rev 19884)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/shared/save_header_file.f90 2012-03-27 22:04:57 UTC (rev 19885)
@@ -281,7 +281,13 @@
write(IOUT,*) '! (but that can be perfectly acceptable if you can afford it and'
write(IOUT,*) '! want faster results by using more cores)'
write(IOUT,*) '!'
- write(IOUT,*) '! size of static arrays for all slices = ',static_memory_size*dble(NPROCTOT)/1.d9,' GB'
+ if(static_memory_size*dble(NPROCTOT)/1.d6 < 10000.d0) then
+ write(IOUT,*) '! size of static arrays for all slices = ',static_memory_size*dble(NPROCTOT)/1.d6,' MB'
+ write(IOUT,*) '! = ',static_memory_size*dble(NPROCTOT)/1048576.d0,' MiB'
+ write(IOUT,*) '! = ',static_memory_size*dble(NPROCTOT)/1.d9,' GB'
+ else
+ write(IOUT,*) '! size of static arrays for all slices = ',static_memory_size*dble(NPROCTOT)/1.d9,' GB'
+ endif
write(IOUT,*) '! = ',static_memory_size*dble(NPROCTOT)/1073741824.d0,' GiB'
write(IOUT,*) '! = ',static_memory_size*dble(NPROCTOT)/1.d12,' TB'
write(IOUT,*) '! = ',static_memory_size*dble(NPROCTOT)/1099511627776.d0,' TiB'
More information about the CIG-COMMITS
mailing list