Do calls to dodesol return any information about the number of steps and function calls? Perhaps in the ipar array?
I asked the question on the MKL forum, and they haven't heard of it. mecej4 is who I got the ODE solvers from, so he might be the only one that can answer this.
That library is no longer supported, so you have to be content with whatever the included documentation says. As far as I can see, the information that you ask for is not available, nor of much use, and the use of IPAR() to control the algorithm is discouraged.
You can easily add counters of the number of function calls to the RHS and JACMAT subprograms yourself. Create a module containing variables nRHS and nJAC, both initialized to zero, and USE that module in your RHS and JACMAT subroutines and in the main program. In RHS, add "nrhs = nrhs+1". Similarly, in JACMAT add "njac=njac+1", and in the main program PRINT nrhs, njac.
Thanks, mecej4. I have no intention of controlling the algorithm. The integrator routines I'm replacing (IMSL) pass back counters for the things I mentioned. That led me to ask if these routines did the same. Counting the number times RHS and RHSJ are called I think I can do, but the actual number of intermediate steps would be nice to have. I suppose I can take the passed back final time step size, and divide that into (tend-tstart) for each call. That's not perfect, but it will be good enough.