[cig-commits] r12597 - seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Fri Aug 8 14:02:58 PDT 2008
Author: dkomati1
Date: 2008-08-08 14:02:58 -0700 (Fri, 08 Aug 2008)
New Revision: 12597
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/create_regions_mesh.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/declarations_mesher.f90
seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/meshfem3D.f90
Log:
suppressed SAVE_BOUNDARY_MESH from create_regions_mesh.f90 because only used for sensitivity kernels
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/create_regions_mesh.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/create_regions_mesh.f90 2008-08-08 20:42:50 UTC (rev 12596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/create_regions_mesh.f90 2008-08-08 21:02:58 UTC (rev 12597)
@@ -43,7 +43,7 @@
numker,numhpa,numcof,ihpa,lmax,nylm, &
lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
- coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr,ipass,ratio_divide_central_cube,HONOR_1D_SPHERICAL_MOHO,&
+ coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr,ipass,ratio_divide_central_cube, &
CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,offset_proc_xi,offset_proc_eta, &
iboolleft_xi,iboolright_xi,iboolleft_eta,iboolright_eta, &
NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX, &
@@ -66,8 +66,7 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
iboun, locval, ifseg, xp,yp,zp, rmass_ocean_load, mask_ibool, copy_ibool_ori, iMPIcut_xi,iMPIcut_eta, &
- rho_vp,rho_vs, Qmu_store, tau_e_store, ibelm_moho_top, ibelm_moho_bot, ibelm_400_top, ibelm_400_bot, &
- ibelm_670_top, ibelm_670_bot, normal_moho, normal_400, normal_670)
+ rho_vp,rho_vs, Qmu_store, tau_e_store)
! create the different regions of the mesh
@@ -387,8 +386,7 @@
logical ELLIPTICITY,TOPOGRAPHY
logical TRANSVERSE_ISOTROPY,ANISOTROPIC_3D_MANTLE,ANISOTROPIC_INNER_CORE,ISOTROPIC_3D_MANTLE,CRUSTAL,ONE_CRUST,OCEANS
- logical ATTENUATION,ATTENUATION_3D, &
- INCLUDE_CENTRAL_CUBE,ABSORBING_CONDITIONS,HONOR_1D_SPHERICAL_MOHO
+ logical ATTENUATION,ATTENUATION_3D,INCLUDE_CENTRAL_CUBE,ABSORBING_CONDITIONS
double precision R_CENTRAL_CUBE,RICB,RHO_OCEANS,RCMB,R670,RMOHO, &
RTOPDDOUBLEPRIME,R600,R220,R771,R400,R120,R80,RMIDDLE_CRUST,ROCEAN
@@ -455,7 +453,7 @@
integer idoubling(nspec)
! parameters needed to store the radii of the grid points in the spherically symmetric Earth
- double precision rmin,rmax,r1,r2,r3,r4,r5,r6,r7,r8
+ double precision :: rmin,rmax
! for model density and anisotropy
integer nspec_ani
@@ -581,22 +579,6 @@
! now perform two passes in this part to be able to save memory
integer :: ipass
-! boundary mesh
- integer nex_eta_moho
- integer ispec2D_moho_top,ispec2D_moho_bot,ispec2D_400_top,ispec2D_400_bot,ispec2D_670_top,ispec2D_670_bot
- double precision r_moho,r_400,r_670
-
- integer ibelm_moho_top(NSPEC2D_MOHO)
- integer ibelm_moho_bot(NSPEC2D_MOHO)
- integer ibelm_400_top(NSPEC2D_400)
- integer ibelm_400_bot(NSPEC2D_400)
- integer ibelm_670_top(NSPEC2D_670)
- integer ibelm_670_bot(NSPEC2D_670)
-
- real(kind=CUSTOM_REAL) normal_moho(NDIM,NGLLX,NGLLY,NSPEC2D_MOHO)
- real(kind=CUSTOM_REAL) normal_400(NDIM,NGLLX,NGLLY,NSPEC2D_400)
- real(kind=CUSTOM_REAL) normal_670(NDIM,NGLLX,NGLLY,NSPEC2D_670)
-
! the height at which the central cube is cut
integer :: nz_inf_limit
@@ -757,17 +739,6 @@
call stretching_function(r_top(1),r_bottom(1),ner(1),stretch_tab)
endif
-! boundary mesh
- if (ipass == 2 .and. SAVE_BOUNDARY_MESH .and. iregion_code == IREGION_CRUST_MANTLE) then
- ispec2D_moho_top = 0; ispec2D_moho_bot = 0
- ispec2D_400_top = 0; ispec2D_400_bot = 0
- ispec2D_670_top = 0; ispec2D_670_bot = 0
-
- nex_eta_moho = NEX_PER_PROC_ETA
-
- r_moho = RMOHO/R_EARTH; r_400 = R400 / R_EARTH; r_670 = R670/R_EARTH
- endif
-
! generate and count all the elements in this region of the mesh
ispec = 0
@@ -875,18 +846,6 @@
! define the doubling flag of this element
if(iregion_code /= IREGION_OUTER_CORE) idoubling(ispec) = doubling_index(ilayer)
-! save the radii of the nodes before modified through compute_element_properties()
- if (ipass == 2 .and. SAVE_BOUNDARY_MESH .and. iregion_code == IREGION_CRUST_MANTLE) then
- r1=sqrt(xelm(1)**2+yelm(1)**2+zelm(1)**2)
- r2=sqrt(xelm(2)**2+yelm(2)**2+zelm(2)**2)
- r3=sqrt(xelm(3)**2+yelm(3)**2+zelm(3)**2)
- r4=sqrt(xelm(4)**2+yelm(4)**2+zelm(4)**2)
- r5=sqrt(xelm(5)**2+yelm(5)**2+zelm(5)**2)
- r6=sqrt(xelm(6)**2+yelm(6)**2+zelm(6)**2)
- r7=sqrt(xelm(7)**2+yelm(7)**2+zelm(7)**2)
- r8=sqrt(xelm(8)**2+yelm(8)**2+zelm(8)**2)
- endif
-
! compute several rheological and geometrical properties for this spectral element
call compute_element_properties(ispec,iregion_code,idoubling, &
xstore,ystore,zstore,nspec, &
@@ -1071,18 +1030,6 @@
! define the doubling flag of this element
if(iregion_code /= IREGION_OUTER_CORE) idoubling(ispec) = doubling_index(ilayer)
-! save the radii of the nodes before modified through compute_element_properties()
- if (ipass == 2 .and. SAVE_BOUNDARY_MESH .and. iregion_code == IREGION_CRUST_MANTLE) then
- r1=sqrt(xelm(1)**2+yelm(1)**2+zelm(1)**2)
- r2=sqrt(xelm(2)**2+yelm(2)**2+zelm(2)**2)
- r3=sqrt(xelm(3)**2+yelm(3)**2+zelm(3)**2)
- r4=sqrt(xelm(4)**2+yelm(4)**2+zelm(4)**2)
- r5=sqrt(xelm(5)**2+yelm(5)**2+zelm(5)**2)
- r6=sqrt(xelm(6)**2+yelm(6)**2+zelm(6)**2)
- r7=sqrt(xelm(7)**2+yelm(7)**2+zelm(7)**2)
- r8=sqrt(xelm(8)**2+yelm(8)**2+zelm(8)**2)
- endif
-
! compute several rheological and geometrical properties for this spectral element
call compute_element_properties(ispec,iregion_code,idoubling, &
xstore,ystore,zstore,nspec, &
@@ -1480,35 +1427,6 @@
endif
-! boundary mesh
- if (SAVE_BOUNDARY_MESH .and. iregion_code == IREGION_CRUST_MANTLE) then
-! first check the number of surface elements are the same for Moho, 400, 670
- if (.not. SUPPRESS_CRUSTAL_MESH .and. HONOR_1D_SPHERICAL_MOHO) then
- if (ispec2D_moho_top /= NSPEC2D_MOHO .or. ispec2D_moho_bot /= NSPEC2D_MOHO) &
- call exit_mpi(myrank, 'Not the same number of Moho surface elements')
- endif
- if (ispec2D_400_top /= NSPEC2D_400 .or. ispec2D_400_bot /= NSPEC2D_400) &
- call exit_mpi(myrank,'Not the same number of 400 surface elements')
- if (ispec2D_670_top /= NSPEC2D_670 .or. ispec2D_670_bot /= NSPEC2D_670) &
- call exit_mpi(myrank,'Not the same number of 670 surface elements')
-
-! writing surface topology databases
- stop 'DK DK should do this in MPI instead of writing to a disk file'
- open(unit=27,file='OUTPUT_FILES/boundary_disc.bin',status='unknown',form='unformatted',action='write')
- write(27) NSPEC2D_MOHO, NSPEC2D_400, NSPEC2D_670
- write(27) ibelm_moho_top
- write(27) ibelm_moho_bot
- write(27) ibelm_400_top
- write(27) ibelm_400_bot
- write(27) ibelm_670_top
- write(27) ibelm_670_bot
- write(27) normal_moho
- write(27) normal_400
- write(27) normal_670
- close(27)
-
- endif
-
! compute volume, bottom and top area of that part of the slice
volume_local = ZERO
area_local_bottom = ZERO
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/declarations_mesher.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/declarations_mesher.f90 2008-08-08 20:42:50 UTC (rev 12596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/declarations_mesher.f90 2008-08-08 21:02:58 UTC (rev 12597)
@@ -47,17 +47,6 @@
double precision, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: Qmu_store
double precision, dimension(N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_ATTENUAT) :: tau_e_store
- integer ibelm_moho_top(NSPEC2D_MOHO)
- integer ibelm_moho_bot(NSPEC2D_MOHO)
- integer ibelm_400_top(NSPEC2D_400)
- integer ibelm_400_bot(NSPEC2D_400)
- integer ibelm_670_top(NSPEC2D_670)
- integer ibelm_670_bot(NSPEC2D_670)
-
- real(kind=CUSTOM_REAL) normal_moho(NDIM,NGLLX,NGLLY,NSPEC2D_MOHO)
- real(kind=CUSTOM_REAL) normal_400(NDIM,NGLLX,NGLLY,NSPEC2D_400)
- real(kind=CUSTOM_REAL) normal_670(NDIM,NGLLX,NGLLY,NSPEC2D_670)
-
!!!!!!!!!!!!!!!! DK DK for merged version, all the arrays below are allocated statically instead
!!!!!!!!!!!!!!!! DK DK for merged version, all the arrays below are allocated statically instead
!!!!!!!!!!!!!!!! DK DK for merged version, all the arrays below are allocated statically instead
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/meshfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/meshfem3D.f90 2008-08-08 20:42:50 UTC (rev 12596)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/meshfem3D.f90 2008-08-08 21:02:58 UTC (rev 12597)
@@ -1198,7 +1198,7 @@
AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,JP3DM_V,SEA99M_V,CM_V, AM_S, AS_V, &
numker,numhpa,numcof,ihpa,lmax,nylm,lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
- coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr,ipass,ratio_divide_central_cube,HONOR_1D_SPHERICAL_MOHO,&
+ coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr,ipass,ratio_divide_central_cube, &
CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,mod(iproc_xi_slice(myrank),2),mod(iproc_eta_slice(myrank),2), &
iboolleft_xi_crust_mantle,iboolright_xi_crust_mantle,iboolleft_eta_crust_mantle,iboolright_eta_crust_mantle, &
NGLOB2DMAX_XMIN_XMAX_CM,NGLOB2DMAX_YMIN_YMAX_CM, &
@@ -1224,8 +1224,7 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
iboun, locval, ifseg, xp,yp,zp, rmass_ocean_load, mask_ibool, copy_ibool_ori, iMPIcut_xi,iMPIcut_eta, &
- rho_vp,rho_vs, Qmu_store, tau_e_store, ibelm_moho_top, ibelm_moho_bot, ibelm_400_top, ibelm_400_bot, &
- ibelm_670_top, ibelm_670_bot, normal_moho, normal_400, normal_670)
+ rho_vp,rho_vs, Qmu_store, tau_e_store)
else if(iregion_code == IREGION_OUTER_CORE) then
! outer_core
@@ -1244,7 +1243,7 @@
AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,JP3DM_V,SEA99M_V,CM_V, AM_S, AS_V, &
numker,numhpa,numcof,ihpa,lmax,nylm,lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
- coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr,ipass,ratio_divide_central_cube,HONOR_1D_SPHERICAL_MOHO,&
+ coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr,ipass,ratio_divide_central_cube, &
CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,mod(iproc_xi_slice(myrank),2),mod(iproc_eta_slice(myrank),2), &
iboolleft_xi_outer_core,iboolright_xi_outer_core,iboolleft_eta_outer_core,iboolright_eta_outer_core, &
NGLOB2DMAX_XMIN_XMAX_OC,NGLOB2DMAX_YMIN_YMAX_OC, &
@@ -1270,8 +1269,7 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
iboun, locval, ifseg, xp,yp,zp, rmass_ocean_load, mask_ibool, copy_ibool_ori, iMPIcut_xi,iMPIcut_eta, &
- rho_vp,rho_vs, Qmu_store, tau_e_store, ibelm_moho_top, ibelm_moho_bot, ibelm_400_top, ibelm_400_bot, &
- ibelm_670_top, ibelm_670_bot, normal_moho, normal_400, normal_670)
+ rho_vp,rho_vs, Qmu_store, tau_e_store)
else if(iregion_code == IREGION_INNER_CORE) then
! inner_core
@@ -1290,7 +1288,7 @@
AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,JP3DM_V,SEA99M_V,CM_V, AM_S, AS_V, &
numker,numhpa,numcof,ihpa,lmax,nylm,lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
- coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr,ipass,ratio_divide_central_cube,HONOR_1D_SPHERICAL_MOHO,&
+ coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr,ipass,ratio_divide_central_cube, &
CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,mod(iproc_xi_slice(myrank),2),mod(iproc_eta_slice(myrank),2), &
iboolleft_xi_inner_core,iboolright_xi_inner_core,iboolleft_eta_inner_core,iboolright_eta_inner_core, &
NGLOB2DMAX_XMIN_XMAX_IC,NGLOB2DMAX_YMIN_YMAX_IC,ibool1D_leftxi_lefteta,ibool1D_rightxi_lefteta, &
@@ -1315,8 +1313,7 @@
c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
iboun, locval, ifseg, xp,yp,zp, rmass_ocean_load, mask_ibool, copy_ibool_ori, iMPIcut_xi,iMPIcut_eta, &
- rho_vp,rho_vs, Qmu_store, tau_e_store, ibelm_moho_top, ibelm_moho_bot, ibelm_400_top, ibelm_400_bot, &
- ibelm_670_top, ibelm_670_bot, normal_moho, normal_400, normal_670)
+ rho_vp,rho_vs, Qmu_store, tau_e_store)
else
stop 'DK DK incorrect region in merged code'
More information about the cig-commits
mailing list