Think you will have to decide first what you want to do at all.
- Main error seems to be that Q.out is defined as a function with 2 arguments and you attempt to use it with just 1. That can't work. The arguments of Q.out are a function name and a value with dimension velocity. The function passed as first argument will also take one argument of dimension velocity. The result of Q.out would be volume per time which would be what is needed here.
You need e.g. in place of Q.out a function with 1 argument of dimension length and result volume per time to make your problem work. Or more general: Anything which results volume per time and is used correctly will do good here, but its you who has to know what exactly is right at this place. - Why do you define a variable h (as vector) just before the solve block when the solve block should result a function of the same name h??
- You have to write d h(t) /dt = ... and not d h/dt=... The latter would try to take the derivative of the vector h you defines just before and that the errormesage you get.
Admittedly the error messages which are thrown by solve block very seldom are helpful.
I attach I file with a working ODE solve block. I just used Q.out in a correct way, passing H.f as first and h(t)/seconds as secon parameter. This uses the function in a correct way with correct units but it sure is NOT the solution to your problem - its just messing around. Its you who has to know which ODE he wants to solve really!