Hello,
The solution is simple (and disapointing), actually the functionality Q(Z) is not yet implemented, only Z(Q) works so far (see subroutine BORD.F and test on STA_DIS_CURVES). A general Q(Z) is very tricky to implement, and would require a choice of a point where to take the elevation. If you really want Q(Z), I would suggest that you implement the function Q.F and put it in your Fortran file. You would have to choose a point where to take the elevation, preferably a point that is slightly upstream the boundary itself, otherwise it may give unstable results. Then having this elevation you deduce the corresponding Q, and put it as a result of the function.
Note that function Q will be called only if the key-word : DEBITS IMPOSES (or PRESCRIBED FLOWRATES) has been used in the parameter file. So you must give an a priori discharge to the corresponding boundary.
Last bad news: in parallel mode the point you choose for taking the elevation will not be in all sub-domains, thus an extra implementation will be required to overcome this, I can send an example if required.
With best regards,
Jean-Michel Hervouet