[cig-commits] r12557 - seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Wed Aug 6 14:19:04 PDT 2008


Author: dkomati1
Date: 2008-08-06 14:19:04 -0700 (Wed, 06 Aug 2008)
New Revision: 12557

Modified:
   seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/spline_routines.f90
Log:
converted spline_routines.f90 from heap to stack


Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/spline_routines.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/spline_routines.f90	2008-08-06 21:15:54 UTC (rev 12556)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/src/spline_routines.f90	2008-08-06 21:19:04 UTC (rev 12557)
@@ -43,10 +43,9 @@
 
   integer :: i
 
-  double precision, dimension(:), allocatable :: temporary_array
+! allocate this automatic array in the memory stack to avoid memory fragmentation with "allocate()"
+  double precision, dimension(npoint) :: temporary_array
 
-  allocate(temporary_array(npoint))
-
   spline_coefficients(1) = - 1.d0 / 2.d0
 
   temporary_array(1) = (3.d0/(xpoint(2)-xpoint(1)))*((ypoint(2)-ypoint(1))/(xpoint(2)-xpoint(1))-tangent_first_point)
@@ -71,8 +70,6 @@
     spline_coefficients(i) = spline_coefficients(i)*spline_coefficients(i+1) + temporary_array(i)
   enddo
 
-  deallocate(temporary_array)
-
   end subroutine spline_construction
 
 ! --------------



More information about the cig-commits mailing list