clean dbihar code

The dbihar code is very crufty. I did some clean up here, mainly making sure that fortran compiler can identify that array with more than one element are passed to routines and functions.

This may help the code working across compilers.