You’re not doing anything wrong, it’s just that the automatic Jacobian is provided by ForwardDiff.jl, which needs Julia code. It works by calling the rhs with a special Dual type (visible in your error message) that facilitates automatic differentiation. Unfortunately, the same doesn’t work with Fortran code.
It may be sufficient to do autodiff=false, which instructs the solver to use numerical finite differences, computed with your right-hand side.
But for better accuracy, you might supply an explicit Jacobian, say in Fortran or Julia. Or if you can provide the right-hand side in Julia, it could be automatically differentiated. If the Fortran code is just math, often the translation is quite straightforward, e.g. replace ** with ^.