I don't mean any disrespect by asking this, but asking why this was done in C++ implies you believe some other option would have been better; or at least it gives me that impression. What language should this have been done in, in your opinion?
The code was written in C++ because of performance considerations of the ODE solvers.
Does it mean you tried something like python or r and discovered that it was to slow?