cross_surface has a dependency on tally.F90. cross_lattice does not. tally depends on geometry.F90 now because that's where the map lookup routines are. Leaving cross_surface in geometry.F90 causes a circular dependency between tally.F90 and geometry.F90.