Hello,
You are right but the implicit friction coefficient AUBOR is UETCAR**2 divided by a VNORM which is also explicit. Yes we could take the new velocity, which would require at least 2 sub-iterations to be effective. I did not do that because I want the U**2 to be semi-implicit. Normally it should be ((U(n)+U(n+1)/2)**2, which is not linear in U(n+1) (here n means old time and n+1 new time), so I choose to take U**2 as U(n)*U(n+1). This is what is done and why it is done, but of course you can try other possibilities. The only, but strong, requirement is that friction must remain a fully implicit term (i.e. a term -k*U(n+1)), otherwise you will get sometimes inversion of velocity due to high friction, then there is not so many possibilities.
With best regards,
Jean-Michel Hervouet