Hello,
The k-epsilon model should be the best but it is difficult to use. Depending on your geometry the turbulence that you get in your model could be only what you give at the entrance, if the turbulence has no time to develop between the entrance and where you have measurements. So upstream boundary conditions are very important (see subroutine kepcl3.f, very small values are given at entrances but other tentative formulas are proposed but commented out). You have also in subroutine cstkep.f a number of hardcoded options, like deciding whether we want Dirichlet or Neumann conditions for k and epsilon at bottom and free surface. For example we put Neumann for k at the free surface because it must work with wind, but in your case Dirichlet on k would be better, as k should be 0 at the free surface.
With best regards,
Jean-Michel Hervouet