[cig-commits] r12669 - in seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta: DATA src

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Sun Aug 17 16:12:11 PDT 2008


Author: dkomati1
Date: 2008-08-17 16:12:11 -0700 (Sun, 17 Aug 2008)
New Revision: 12669

Added:
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_01
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_02
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_03
Modified:
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/Par_file
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/compute_element_properties.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/create_regions_mesh.F90
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/s362ani.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/topo_bathy.f90
Log:
- suppressed the stretching of the Moho and inclusion of topography at mantle discontinuities because not well tested and unstable at very high resolution
- removed the need to two passes in the mesher, which made mesh creation twice slower (and therefore very slow in the case of 3D models that had to be interpolated at very high resolution); I now use a single pass
- added the three CMTSOLUTION files suggested by Jeroen for the Gordon Bell runs


Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION	2008-08-17 21:52:24 UTC (rev 12668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION	2008-08-17 23:12:11 UTC (rev 12669)
@@ -1,13 +1,13 @@
-PDE 1994  6  9  0 33 16.40 -13.8300  -67.5600 637.0 6.9 6.8 NORTHERNBOLIVIA
-event name:     060994A
-time shift:      0.0000
-half duration: 100.0000
-latitude:       87.8200
-longitude:      12.2500
-depth:         647.1000
-Mrr:      -7.600000e+27
-Mtt:       7.700000e+27
-Mpp:      -2.000000e+26
-Mrt:      -2.500000e+28
-Mrp:       4.000000e+26
-Mtp:      -2.500000e+27
+PDE 2000 12 18  1 19 21.60 -21.1800 -179.1200 628.2 6.4 0.0 FIJI ISLANDS REGION
+event name:     121800A
+time shift:      0
+half duration:   0
+latitude:      -21.1100
+longitude:    -178.9800
+depth:         655.7000
+Mrr:      -2.501000e+25
+Mtt:      -5.150000e+24
+Mpp:       3.015000e+25
+Mrt:      -5.235000e+25
+Mrp:      -4.540000e+25
+Mtp:       1.502000e+25

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_01
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_01	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_01	2008-08-17 23:12:11 UTC (rev 12669)
@@ -0,0 +1,13 @@
+PDE 2000 12 18  1 19 21.60 -21.1800 -179.1200 628.2 6.4 0.0 FIJI ISLANDS REGION
+event name:     121800A
+time shift:      0
+half duration:   0
+latitude:      -21.1100
+longitude:    -178.9800
+depth:         655.7000
+Mrr:      -2.501000e+25
+Mtt:      -5.150000e+24
+Mpp:       3.015000e+25
+Mrt:      -5.235000e+25
+Mrp:      -4.540000e+25
+Mtp:       1.502000e+25

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_02
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_02	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_02	2008-08-17 23:12:11 UTC (rev 12669)
@@ -0,0 +1,13 @@
+PDE 2006  9 22  2 32 25.60 -26.8700  -63.1500 598.3 6.1 6.0 SANTIAGO DEL ESTERO PROV
+event name:     220232A
+time shift:      0
+half duration:   0
+latitude:      -26.8500
+longitude:     -63.0500
+depth:         602.3700
+Mrr:      -7.900000e+24
+Mtt:      -4.270000e+23
+Mpp:       8.330001e+24
+Mrt:      -4.450000e+24
+Mrp:       5.450000e+24
+Mtp:      -1.430000e+24

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_03
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_03	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/CMTSOLUTION_Jeroen_03	2008-08-17 23:12:11 UTC (rev 12669)
@@ -0,0 +1,13 @@
+PDE 2003  9  6 15 46 59.90 -57.4200  -25.6400  33.0 5.6 5.3 SOUTH SANDWICH ISLANDS R
+event name:     090603D
+time shift:      0
+half duration:   0
+latitude:      -57.5600
+longitude:     -25.5100
+depth:          44.0000
+Mrr:       3.480000e+24
+Mtt:      -2.690000e+23
+Mpp:      -3.210000e+24
+Mrt:       8.130000e+21
+Mrp:       1.800000e+24
+Mtp:       1.290000e+24

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/Par_file
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/Par_file	2008-08-17 21:52:24 UTC (rev 12668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/DATA/Par_file	2008-08-17 23:12:11 UTC (rev 12669)
@@ -36,7 +36,7 @@
 # parameters describing the Earth model
 OCEANS                          = .false.
 ELLIPTICITY                     = .true.
-TOPOGRAPHY                      = .false.
+TOPOGRAPHY                      = .true.
 GRAVITY                         = .false.
 ROTATION                        = .false.
 ATTENUATION                     = .true.

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/compute_element_properties.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/compute_element_properties.f90	2008-08-17 21:52:24 UTC (rev 12668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/compute_element_properties.f90	2008-08-17 23:12:11 UTC (rev 12669)
@@ -398,10 +398,13 @@
 ! add topography on the Moho *before* adding the 3D crustal model so that the streched
 ! mesh gets assigned the right model values
 !! DK DK added this for merged version because array idoubling is not allocated in outer core
+!! DK DK unsafe at very high resolution therefore remove for now
+  if(.not. PATCH_FOR_GORDON_BELL) then
   if(iregion_code /= IREGION_OUTER_CORE) then
     if(THREE_D_MODEL/=0 .and. (idoubling(ispec)==IFLAG_CRUST .or. idoubling(ispec)==IFLAG_220_80 &
        .or. idoubling(ispec)==IFLAG_80_MOHO)) call moho_stretching(myrank,xelm,yelm,zelm,RMOHO,R220)
   endif
+  endif
 
 ! compute values for the Earth model
 !! DK DK added this for merged version because array idoubling is not allocated in outer core
@@ -440,6 +443,8 @@
   endif
 
 ! add topography on 410 km and 650 km discontinuity in model S362ANI
+!! DK DK unsafe at very high resolution therefore remove for now
+  if(.not. PATCH_FOR_GORDON_BELL) then
   if(THREE_D_MODEL == THREE_D_MODEL_S362ANI .or. THREE_D_MODEL == THREE_D_MODEL_S362WMANI &
      .or. THREE_D_MODEL == THREE_D_MODEL_S362ANI_PREM .or. THREE_D_MODEL == THREE_D_MODEL_S29EA) &
           call add_topography_410_650(myrank,xelm,yelm,zelm,R220,R400,R670,R771, &
@@ -447,6 +452,7 @@
                                       lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
                                       nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
                                       coe,ylmcof,wk1,wk2,wk3,varstr)
+  endif
 
 ! CMB topography
 !! DK DK merged version: this will not work anymore because idoubling not allocated in outer core

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-17 21:52:24 UTC (rev 12668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/create_regions_mesh.F90	2008-08-17 23:12:11 UTC (rev 12669)
@@ -567,9 +567,6 @@
   character(len=80) kerstr
   character(len=40) varstr(maxker)
 
-! to perform two passes of the whole routine to be able to save memory
-  integer :: ipass
-
 ! the height at which the central cube is cut
   integer :: nz_inf_limit
 
@@ -589,9 +586,6 @@
   real(kind=CUSTOM_REAL) :: normal_bottom(NDIM,NGLLX,NGLLY,NSPEC2D_BOTTOM)
   real(kind=CUSTOM_REAL) :: normal_top(NDIM,NGLLX,NGLLY,NSPEC2D_TOP)
 
-! perform two passes of the whole routine to be able to save memory
-  do ipass = 1,2
-
 ! attenuation
   if(ATTENUATION .and. ATTENUATION_3D) then
     T_c_source = AM_V%QT_c_source
@@ -716,7 +710,7 @@
   ystore(:,:,:,:) = 0.d0
   zstore(:,:,:,:) = 0.d0
 
-  if(ipass == 1) ibool(:,:,:,:) = 0
+  ibool(:,:,:,:) = 0
 
 ! initialize boundary arrays
   iboun(:,:) = .false.
@@ -725,7 +719,7 @@
 
 !! DK DK added this for merged version
 ! creating mass matrix in this slice (will be fully assembled in the solver)
-  if(ipass == 2) rmass(:) = 0._CUSTOM_REAL
+  rmass(:) = 0._CUSTOM_REAL
 
   if (.not. PATCH_FOR_GORDON_BELL .and. (CASE_3D .and. iregion_code == IREGION_CRUST_MANTLE .and. .not. SUPPRESS_CRUSTAL_MESH)) then
     allocate(stretch_tab(2,ner(1)),STAT=ier )
@@ -1228,9 +1222,6 @@
 ! check total number of spectral elements created
   if(ispec /= nspec) call exit_MPI(myrank,'ispec should equal nspec')
 
-! only create global addressing and the MPI buffers in the first pass
-  if(ipass == 1) then
-
     locval = 0
     ifseg = .false.
     xp = 0.d0
@@ -1258,8 +1249,8 @@
 
   ! check that number of points found equals theoretical value
     if(nglob /= nglob_theor) then
-      write(errmsg,*) 'incorrect total number of points found: myrank,nglob,nglob_theor,ipass,iregion_code = ',&
-        myrank,nglob,nglob_theor,ipass,iregion_code
+      write(errmsg,*) 'incorrect total number of points found: myrank,nglob,nglob_theor,iregion_code = ',&
+        myrank,nglob,nglob_theor,iregion_code
       call exit_MPI(myrank,errmsg)
     endif
 
@@ -1340,10 +1331,7 @@
               idoubling,xstore,ystore,zstore,locval,ifseg,npointot,iregion_code)
   endif
 
-! only create mass matrix and save all the final arrays in the second pass
-  else if(ipass == 2) then
-
-! copy the theoretical number of points for the second pass
+! copy the theoretical number of points
   nglob = nglob_theor
 
 ! count number of anisotropic elements in current region
@@ -1513,12 +1501,5 @@
     enddo
   enddo
 
-  else
-    stop 'there cannot be more than two passes in mesh creation'
-
-  endif  ! end of test if first or second pass
-
-  enddo ! of loop on ipass = 1,2
-
   end subroutine create_regions_mesh
 

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/s362ani.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/s362ani.f90	2008-08-17 21:52:24 UTC (rev 12668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/s362ani.f90	2008-08-17 23:12:11 UTC (rev 12669)
@@ -1064,7 +1064,7 @@
 ! -------------------------------------
 
   depth=6371.0-xrad
-  call evradker (depth,kerstr,numker,vercof,vercofd,ierror)
+  call evradker(depth,kerstr,numker,vercof,vercofd,ierror)
   if(ierror /= 0) stop 'ierror evradker'
 
 ! --- loop over sv and sh (sv=0,sh=1)

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/topo_bathy.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/topo_bathy.f90	2008-08-17 21:52:24 UTC (rev 12668)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/topo_bathy.f90	2008-08-17 23:12:11 UTC (rev 12669)
@@ -38,18 +38,17 @@
 ! use integer array to store values
   integer, dimension(NX_BATHY,NY_BATHY) :: ibathy_topo
 
+! compute number of samples per degree
+  double precision, parameter :: samples_per_degree_topo = RESOLUTION_TOPO_FILE / 60.d0
+
   double precision xlat,xlon,value
 
   integer iadd1,iel1
-  double precision samples_per_degree_topo
   double precision xlo
 
   xlo = xlon
   if(xlon < 0.d0) xlo = xlo + 360.d0
 
-! compute number of samples per degree
-  samples_per_degree_topo = dble(RESOLUTION_TOPO_FILE) / 60.d0
-
 ! compute offset in data file and avoid edge effects
   iadd1 = 1 + int((90.d0-xlat)/samples_per_degree_topo)
   if(iadd1 < 1) iadd1 = 1



More information about the cig-commits mailing list