I think I just fixed the PHI out of bounds error I was getting:
 Subscript #3 of the array PHI has value 1001 which is greater than the upper bound of 1000
 I think it was a rounding error problem. It should be fixed now. I haven't tested it yet though.
Did a lot of debugging and I also got OpenMP to work! This is the first working preliminary code - it isn't looking good yet as far as openmp goes. However, it may be all that is necessary. I do want to mess with the number of threads, however. I don't understand threads yet.