You activate the debugger in the steering file and then you know the problem is located in the oil_spill_3D.f subroutine.
2 possibilities
You compile the whole system with a debug configuration, and then you will probably have more information when the crash occurs. You could also manually run the program inside the temp directory with gdb for example. It means you know how gdb works...
Other possibility, place oil_spill_3D.f in the user fortran and add some prints to see precisely where the crash occurs.
As it's a segmentation fault, there is a lot of chance that you try to access to an array at an index value larger than the array itself...
Hope this helps