[cig-commits] r20612 - in seismo/3D/SPECFEM3D/trunk/src: decompose_mesh_SCOTCH generate_databases shared

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Mon Aug 20 16:39:43 PDT 2012


Author: dkomati1
Date: 2012-08-20 16:39:43 -0700 (Mon, 20 Aug 2012)
New Revision: 20612

Modified:
   seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90
   seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90
   seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
   seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_absorbing_boundary.f90
   seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90
   seismo/3D/SPECFEM3D/trunk/src/shared/check_mesh_resolution.f90
   seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90
Log:
final modifications for today for HEX27 support; but not done yet.


Modified: seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90	2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90	2012-08-20 23:39:43 UTC (rev 20612)
@@ -244,7 +244,7 @@
     if( count_def_mat > 0 .and. maxval(mat(1,:)) > count_def_mat ) then
       print*,'error material definitions:'
       print*,'  materials associated in materials_file:',maxval(mat(1,:))
-      print*,'  bigger than defined materials in nummaterial_velocity_file:',count_def_mat
+      print*,'  larger than defined materials in nummaterial_velocity_file:',count_def_mat
       stop 'error materials'
     endif
     allocate(mat_prop(16,count_def_mat),stat=ier)

Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90	2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90	2012-08-20 23:39:43 UTC (rev 20612)
@@ -171,7 +171,7 @@
     npointot,myrank,LOCAL_PATH, &
     nnodes_ext_mesh,nelmnts_ext_mesh, &
     nodes_coords_ext_mesh, elmnts_ext_mesh, &
-    max_static_memory_size, mat_ext_mesh, materials_ext_mesh, &
+    max_memory_size, mat_ext_mesh, materials_ext_mesh, &
     nmat_ext_mesh, undef_mat_prop, nundefMat_ext_mesh, &
     num_interfaces_ext_mesh, max_interface_size_ext_mesh, &
     my_neighbours_ext_mesh, my_nelmnts_neighbours_ext_mesh, &
@@ -192,8 +192,8 @@
   implicit none
 
 ! local parameters
-! static memory size needed by the solver
-  double precision :: static_memory_size
+! memory size needed by the solver
+  double precision :: memory_size
   real(kind=CUSTOM_REAL) :: model_speed_max,min_resolved_period
 
 ! initializes arrays
@@ -339,11 +339,11 @@
     call crm_save_moho()
   endif
 
-! computes the approximate amount of static memory needed to run the solver
+! computes the approximate amount of memory needed to run the solver
   call sync_all()
   call memory_eval(nspec,nglob_dummy,maxval(nibool_interfaces_ext_mesh),num_interfaces_ext_mesh, &
-                  OCEANS,static_memory_size)
-  call max_all_dp(static_memory_size, max_static_memory_size)
+                  OCEANS,memory_size)
+  call max_all_dp(memory_size, max_memory_size)
 
 ! checks the mesh, stability and resolved period
   call sync_all()

Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90	2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90	2012-08-20 23:39:43 UTC (rev 20612)
@@ -233,8 +233,8 @@
 ! parameters deduced from parameters read from file
   integer :: NPROC
 
-! static memory size that will be needed by the solver
-  double precision :: max_static_memory_size,max_static_memory_size_request
+! memory size that will be needed by the solver
+  double precision :: max_memory_size,max_memory_size_request
 
 ! this for all the regions
   integer NSPEC_AB,NGLOB_AB
@@ -828,7 +828,7 @@
 
   subroutine gd_setup_mesh
 
-! mesh creation for static solver
+! mesh creation for solver
 
   use generate_databases_par
   implicit none
@@ -850,9 +850,9 @@
                         nelmnts_ext_mesh,nmat_ext_mesh,num_interfaces_ext_mesh, &
                         max_interface_size_ext_mesh,nspec2D_xmin,nspec2D_xmax, &
                         nspec2D_ymin,nspec2D_ymax,nspec2D_bottom,nspec2D_top, &
-                        max_static_memory_size_request)
+                        max_memory_size_request)
 
-  max_static_memory_size = max_static_memory_size_request
+  max_memory_size = max_memory_size_request
 
 ! make sure everybody is synchronized
   call sync_all()
@@ -976,7 +976,7 @@
   if( myrank == 0 ) then
     call save_header_file(NSPEC_AB,NGLOB_AB,NPROC, &
                ATTENUATION,ANISOTROPY,NSTEP,DT, &
-               SIMULATION_TYPE,max_static_memory_size,nfaces_surface_glob_ext_mesh)
+               SIMULATION_TYPE,max_memory_size,nfaces_surface_glob_ext_mesh)
   endif
 
 ! elapsed time since beginning of mesh generation

Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_absorbing_boundary.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_absorbing_boundary.f90	2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_absorbing_boundary.f90	2012-08-20 23:39:43 UTC (rev 20612)
@@ -73,20 +73,10 @@
   real(kind=CUSTOM_REAL) :: normal_face(NDIM,NGLLX,NGLLY)
   integer:: ijk_face(3,NGLLX,NGLLY)
 
-  ! corner locations for faces
-  real(kind=CUSTOM_REAL), dimension(:,:,:),allocatable :: xcoord_iboun,ycoord_iboun,zcoord_iboun
-
   ! face corner locations
-  real(kind=CUSTOM_REAL),dimension(NGNOD2D) :: xcoord,ycoord,zcoord
-  integer  :: ispec,ispec2D,icorner,ier,iabs,iface,igll,i,j,igllfree,ifree
+  real(kind=CUSTOM_REAL),dimension(NGNOD2D_FOUR_CORNERS) :: xcoord,ycoord,zcoord
+  integer  :: ispec,ispec2D,icorner,iabs,iface,igll,i,j,igllfree,ifree
 
-! allocate temporary flag array
-  allocate(iboun(6,nspec), &
-          xcoord_iboun(NGNOD2D,6,nspec), &
-          ycoord_iboun(NGNOD2D,6,nspec), &
-          zcoord_iboun(NGNOD2D,6,nspec),stat=ier)
-  if(ier /= 0) call exit_MPI(myrank,'not enough memory to allocate arrays')
-
 ! sets flag in array iboun for elements with an absorbing boundary faces
   iboun(:,:) = .false.
 
@@ -100,7 +90,7 @@
 
     ! looks for i,j,k indices of GLL points on boundary face
     ! determines element face by given CUBIT corners
-    do icorner=1,NGNOD2D
+    do icorner=1,NGNOD2D_FOUR_CORNERS
       xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_xmin(icorner,ispec2D))
       ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_xmin(icorner,ispec2D))
       zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_xmin(icorner,ispec2D))
@@ -159,7 +149,7 @@
 
     ! looks for i,j,k indices of GLL points on boundary face
     ! determines element face by given CUBIT corners
-    do icorner=1,NGNOD2D
+    do icorner=1,NGNOD2D_FOUR_CORNERS
       xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_xmax(icorner,ispec2D))
       ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_xmax(icorner,ispec2D))
       zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_xmax(icorner,ispec2D))
@@ -217,7 +207,7 @@
 
     ! looks for i,j,k indices of GLL points on boundary face
     ! determines element face by given CUBIT corners
-    do icorner=1,NGNOD2D
+    do icorner=1,NGNOD2D_FOUR_CORNERS
       xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_ymin(icorner,ispec2D))
       ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_ymin(icorner,ispec2D))
       zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_ymin(icorner,ispec2D))
@@ -275,7 +265,7 @@
 
     ! looks for i,j,k indices of GLL points on boundary face
     ! determines element face by given CUBIT corners
-    do icorner=1,NGNOD2D
+    do icorner=1,NGNOD2D_FOUR_CORNERS
       xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_ymax(icorner,ispec2D))
       ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_ymax(icorner,ispec2D))
       zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_ymax(icorner,ispec2D))
@@ -333,7 +323,7 @@
 
     ! looks for i,j,k indices of GLL points on boundary face
     ! determines element face by given CUBIT corners
-    do icorner=1,NGNOD2D
+    do icorner=1,NGNOD2D_FOUR_CORNERS
       xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_bottom(icorner,ispec2D))
       ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_bottom(icorner,ispec2D))
       zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_bottom(icorner,ispec2D))
@@ -393,7 +383,7 @@
 
     ! looks for i,j,k indices of GLL points on boundary face
     ! determines element face by given CUBIT corners
-    do icorner=1,NGNOD2D
+    do icorner=1,NGNOD2D_FOUR_CORNERS
       xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_top(icorner,ispec2D))
       ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_top(icorner,ispec2D))
       zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_top(icorner,ispec2D))

Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90	2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90	2012-08-20 23:39:43 UTC (rev 20612)
@@ -27,10 +27,10 @@
 ! United States and French Government Sponsorship Acknowledged.
 
 
-! compute the approximate amount of static memory needed to run the solver
+! compute the approximate amount of memory needed to run the solver
 
  subroutine memory_eval(NSPEC_AB,NGLOB_AB,max_nibool_interfaces_ext_mesh,num_interfaces_ext_mesh,&
-                        OCEANS,static_memory_size)
+                        OCEANS,memory_size)
 
   use create_regions_mesh_ext_par,only: NSPEC_ANISO,ispec_is_acoustic,ispec_is_elastic
 
@@ -43,67 +43,67 @@
   integer, intent(in) :: max_nibool_interfaces_ext_mesh,num_interfaces_ext_mesh
   logical, intent(in) :: OCEANS
   ! output
-  double precision, intent(out) :: static_memory_size
+  double precision, intent(out) :: memory_size
   ! local parameters
   logical :: ACOUSTIC_SIMULATION,ELASTIC_SIMULATION
 
-  static_memory_size = 0.d0
+  memory_size = 0.d0
 
 ! add size of each set of arrays multiplied by the number of such arrays
 
   ! see: initialize_simulation.f90
   ! ibool
-  static_memory_size = static_memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(SIZE_INTEGER)
+  memory_size = memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(SIZE_INTEGER)
 
   ! xix,xiy,xiz,
   ! etax,etay,etaz,
   ! gammax,gammay,gammaz,jacobian
-  static_memory_size = static_memory_size + 10.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+  memory_size = memory_size + 10.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
 
   ! xstore,ystore,zstore
-  static_memory_size = static_memory_size + 3.d0*NGLOB_AB*dble(CUSTOM_REAL)
+  memory_size = memory_size + 3.d0*NGLOB_AB*dble(CUSTOM_REAL)
 
   ! kappastore,mustore
-  static_memory_size = static_memory_size + 2.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+  memory_size = memory_size + 2.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
 
   ! ispec_acoustic,ispec_elastic,ispec_is_poroelastic (logical)
-  static_memory_size = static_memory_size + 3.d0*NSPEC_AB*dble(SIZE_LOGICAL)
+  memory_size = memory_size + 3.d0*NSPEC_AB*dble(SIZE_LOGICAL)
 
   ! see: read_mesh_databases.f90
   ! acoustic arrays
   call any_all_l( ANY(ispec_is_acoustic), ACOUSTIC_SIMULATION )
   if( ACOUSTIC_SIMULATION ) then
     ! potential_acoustic, potentical_dot_acoustic, potential_dot_dot_acoustic
-    static_memory_size = static_memory_size + 3.d0*NGLOB_AB*dble(CUSTOM_REAL)
+    memory_size = memory_size + 3.d0*NGLOB_AB*dble(CUSTOM_REAL)
     ! rmass_acoustic
-    static_memory_size = static_memory_size + NGLOB_AB*dble(CUSTOM_REAL)
+    memory_size = memory_size + NGLOB_AB*dble(CUSTOM_REAL)
     ! rhostore
-    static_memory_size = static_memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+    memory_size = memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
   endif
 
   ! elastic arrays
   call any_all_l( ANY(ispec_is_elastic), ELASTIC_SIMULATION )
   if( ELASTIC_SIMULATION ) then
     ! displacement,velocity,acceleration
-    static_memory_size = static_memory_size + 3.d0*dble(NDIM)*NGLOB_AB*dble(CUSTOM_REAL)
+    memory_size = memory_size + 3.d0*dble(NDIM)*NGLOB_AB*dble(CUSTOM_REAL)
 
     ! rmass
-    static_memory_size = static_memory_size + NGLOB_AB*dble(CUSTOM_REAL)
+    memory_size = memory_size + NGLOB_AB*dble(CUSTOM_REAL)
 
     ! rho_vp,rho_vs
-    static_memory_size = static_memory_size + 2.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+    memory_size = memory_size + 2.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
 
     ! qmu_attenaution_store
-    static_memory_size = static_memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+    memory_size = memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
 
     ! c11store,...c66store
-    static_memory_size = static_memory_size + 21.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_ANISO*dble(CUSTOM_REAL)
+    memory_size = memory_size + 21.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_ANISO*dble(CUSTOM_REAL)
 
     if (OCEANS ) then
       ! rmass_ocean_load
-      static_memory_size = static_memory_size + NGLOB_AB*dble(CUSTOM_REAL)
+      memory_size = memory_size + NGLOB_AB*dble(CUSTOM_REAL)
       ! updated_dof_ocean_load
-      static_memory_size = static_memory_size + NGLOB_AB*dble(SIZE_LOGICAL)
+      memory_size = memory_size + NGLOB_AB*dble(SIZE_LOGICAL)
     endif
   endif
 
@@ -113,23 +113,23 @@
 
   ! MPI interfaces
   ! my_neighbours_ext_mesh,nibool_interfaces_ext_mesh
-  static_memory_size = static_memory_size + 2.d0*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
+  memory_size = memory_size + 2.d0*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
 
   ! ibool_interfaces_ext_mesh
-  static_memory_size = static_memory_size + max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
+  memory_size = memory_size + max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
 
   ! MPI communications
   ! buffer_send_vector_ext_mesh,buffer_recv_vector_ext_mesh
-  static_memory_size = static_memory_size + 2.d0*dble(NDIM)*max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(CUSTOM_REAL)
+  memory_size = memory_size + 2.d0*dble(NDIM)*max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(CUSTOM_REAL)
 
   ! buffer_send_scalar_ext_mesh,buffer_recv_scalar_ext_mesh
-  static_memory_size = static_memory_size + 2.d0*max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(CUSTOM_REAL)
+  memory_size = memory_size + 2.d0*max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(CUSTOM_REAL)
 
   ! request_send_vector_ext_mesh,request_recv_vector_ext_mesh,request_send_scalar_ext_mesh,request_recv_scalar_ext_mesh
-  static_memory_size = static_memory_size + 4.d0*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
+  memory_size = memory_size + 4.d0*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
 
   ! ispec_is_inner
-  static_memory_size = static_memory_size + NSPEC_AB*dble(SIZE_LOGICAL)
+  memory_size = memory_size + NSPEC_AB*dble(SIZE_LOGICAL)
 
   ! skipping phase_ispec_inner_acoustic
   ! skipping phase_ispec_inner_elastic
@@ -149,13 +149,13 @@
 !-------------------------------------------------------------------------------------------------
 !
 
-! compute the approximate amount of static memory needed to run the mesher
+! compute the approximate amount of memory needed to run the mesher
 
  subroutine memory_eval_mesher(myrank,nspec,npointot,nnodes_ext_mesh, &
                               nelmnts_ext_mesh,nmat_ext_mesh,num_interfaces_ext_mesh, &
                               max_interface_size_ext_mesh,nspec2D_xmin,nspec2D_xmax, &
                               nspec2D_ymin,nspec2D_ymax,nspec2D_bottom,nspec2D_top, &
-                              static_memory_size_request)
+                              memory_size_request)
 
   implicit none
 
@@ -166,13 +166,13 @@
            max_interface_size_ext_mesh,nspec2D_xmin,nspec2D_xmax, &
            nspec2D_ymin,nspec2D_ymax,nspec2D_bottom,nspec2D_top
 
-  double precision,intent(inout) :: static_memory_size_request
+  double precision,intent(inout) :: memory_size_request
 
   ! local parameters
-  integer :: static_memory_size
+  integer :: memory_size
 
   ! memory usage, in generate_database() routine so far
-  static_memory_size = NGLLX*NGLLY*NGLLZ*nspec*4 + 3*NGLLX*NGLLY*NGLLZ*nspec*8 &
+  memory_size = NGLLX*NGLLY*NGLLZ*nspec*4 + 3*NGLLX*NGLLY*NGLLZ*nspec*8 &
         + NDIM*nnodes_ext_mesh*8 + NGNOD*nelmnts_ext_mesh*4 + 2*nelmnts_ext_mesh*4 &
         + 5*nmat_ext_mesh*8 + 3*num_interfaces_ext_mesh &
         + 6*max_interface_size_ext_mesh*num_interfaces_ext_mesh*4 &
@@ -181,7 +181,7 @@
         + nspec2D_ymax*20 + nspec2D_bottom*20 + nspec2D_top*20
 
   ! memory usage, in create_regions_mesh_ext() routine requested approximately
-  static_memory_size_request =   &
+  memory_size_request =   &
         + 3*NGNOD*8 + NGLLX*NGLLY*NGLLZ*nspec*4 + 6*nspec*1 + 6*NGLLX*8 &
         + NGNOD*NGLLX*NGLLY*NGLLZ*8 + NDIM*NGNOD*NGLLX*NGLLY*NGLLZ*8 &
         + 4*NGNOD2D*NGLLY*NGLLZ*8 + 4*NDIM2D*NGNOD2D*NGLLX*NGLLY*8 &
@@ -194,10 +194,10 @@
   if(myrank == 0) then
     write(IMAIN,*)
     write(IMAIN,*) '  minimum memory used so far     : ', &
-                  static_memory_size / 1024. / 1024., &
+                  memory_size / 1024. / 1024., &
                    'MB per process'
     write(IMAIN,*) '  minimum total memory requested : ', &
-                  (static_memory_size+static_memory_size_request)/1024./1024., &
+                  (memory_size+memory_size_request)/1024./1024., &
                    'MB per process'
     write(IMAIN,*)
   endif

Modified: seismo/3D/SPECFEM3D/trunk/src/shared/check_mesh_resolution.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/check_mesh_resolution.f90	2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/check_mesh_resolution.f90	2012-08-20 23:39:43 UTC (rev 20612)
@@ -167,7 +167,7 @@
     ! average distance between GLL points within this element
     avg_distance = elemsize_max / ( NGLLX - 1 )  ! since NGLLX = NGLLY = NGLLZ
 
-    ! biggest possible minimum period such that number of points per minimum wavelength
+    ! largest possible minimum period such that number of points per minimum wavelength
     ! npts = ( min(vpmin,vsmin)  * pmax ) / avg_distance  is about ~ NPTS_PER_WAVELENGTH
     !
     ! note: obviously, this estimation depends on the choice of points per wavelength
@@ -507,7 +507,7 @@
     ! average distance between GLL points within this element
     avg_distance = elemsize_max / ( NGLLX - 1 )  ! since NGLLX = NGLLY = NGLLZ
 
-    ! biggest possible minimum period such that number of points per minimum wavelength
+    ! largest possible minimum period such that number of points per minimum wavelength
     ! npts = ( min(vpmin,vp2min,vsmin)  * pmax ) / avg_distance  is about ~ NPTS_PER_WAVELENGTH
     !
     ! note: obviously, this estimation depends on the choice of points per wavelength

Modified: seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90	2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90	2012-08-20 23:39:43 UTC (rev 20612)
@@ -28,7 +28,7 @@
 
   subroutine save_header_file(NSPEC_AB,NGLOB_AB,NPROC, &
              ATTENUATION,ANISOTROPY,NSTEP,DT, &
-             SIMULATION_TYPE,static_memory_size,nfaces_surface_glob_ext_mesh)
+             SIMULATION_TYPE,memory_size,nfaces_surface_glob_ext_mesh)
 
   implicit none
 
@@ -40,7 +40,7 @@
 
   double precision DT
 
-  double precision :: static_memory_size
+  double precision :: memory_size
 
   character(len=256) HEADER_FILE
 
@@ -110,12 +110,10 @@
   write(IOUT,*) '! approximate least memory needed by the solver:'
   write(IOUT,*) '! ----------------------------------------------'
   write(IOUT,*) '!'
-  write(IOUT,*) '! size of static arrays for the biggest slice = ',static_memory_size/1048576.d0,' MB'
-  write(IOUT,*) '!                                             = ',static_memory_size/1073741824.d0,' GB'
+  write(IOUT,*) '! size of arrays for the largest slice = ',memory_size/1048576.d0,' MB'
+  write(IOUT,*) '!                                      = ',memory_size/1073741824.d0,' GB'
   write(IOUT,*) '!'
-  write(IOUT,*) '!   (should be below to 80% of 1.5 GB = 1.2 GB on pangu'
-  write(IOUT,*) '!    at Caltech, and below and typically equal to 85% of 2 GB = 1.7 GB'
-  write(IOUT,*) '!    on Marenostrum in Barcelona)'
+  write(IOUT,*) '!   (should be below 90% or so of the amount of memory available per processor core'
   write(IOUT,*) '!   (if significantly more, the job will not run by lack of memory)'
   write(IOUT,*) '!   (if significantly less, you waste a significant amount of memory)'
   write(IOUT,*) '!'



More information about the CIG-COMMITS mailing list