Clean up BPE code
The main while loop in the triple loop has been better optimized to remember the location from the previous loop step. This results in only one Nx loop over the entire triple loop. Reducing the loop from O(Nx^2*Ny*Nz) to O(Nx*Ny*Nz). Now tracking the partial sums of dx, and the volume of the hill. This makes comparisons for finding depths easier later on. And other minor coding changes.