anchor.diff:       logical :: internal
        character(len=1) :: char1
        character(len=100) :: writefile
  +     character(len=60) :: sub_name = 'make_data_grid'
  +
  +     call enter_exit(sub_name,1)
   
        call triangles_from_surface(num_triangles,num_vertices,surface_elems,triangle,vertex_xyz)
   
  
positive.code: 
       use arrays,only: dp,data_xyz,data_weight,num_data
       use mesh_utilities,only: volume_internal_to_surface,point_internal_to_surface
       ! Parameters
       integer,intent(in) :: surface_elems(:)
       real(dp),intent(in) :: spacing
  
negative.code:      real(dp) :: X(3),xi(3)
       character(len=3) :: repeat
       logical :: four_nodes
       character(len=60) :: sub_name = 'triangles_from_surface'
       call enter_exit(sub_name,1)
       
       if(.not.allocated(triangle)) allocate(triangle(3,2*num_elems_2d*ndiv**2))
       if(.not.allocated(vertex_xyz)) allocate(vertex_xyz(3,num_elems_2d*(ndiv+1)**2))
       triangle = 0
  