## 3 Results and Discussion
### Open Channel Flow
It is interesting to note that the numerical profiles show significant differences not only in the central part of the channel, but also in the vicinity of the bottom and the free surface. Note that the slope of the turbulent viscosity profile near the walls also influences the calculation of the tangential stresses at the boundaries, as discussed at the end of this section. In addition, the large differences along the depth may also have consequences in applications related to mass transport. In fact, models such as Delft3D and ROMS are able to solve water quality problems through the solution of the advection-diffusion equation, whose mass transport estimates strongly depend on the diffusive and dispersive transport coefficients. As far as the coefficients of turbulent diffusion along the vertical are concerned, these models assume that the mass transport and the momentum transport are substantially the same, based on the so-called Reynolds analogy, which implies that the number of turbulent Schmidt is actually unitary [38]. This implies that an inaccurate estimation of the turbulent viscosity along the vertical leads inevitably to an inaccurate estimation of the vertical turbulent diffusion coefficients. Panel (d) shows the turbulent kinetic energy \(k\) normalised with the squared theoretical friction velocity \(u_{b}^{*2}\). A physical inconsistency is here quite evident. At the bed, \(k\) should be zero since velocities and turbulent fluctuations should disappear due to the no-slip conditions. The condition according to which \(k/u_{b}^{*2}\) is equal to \(1/\sqrt{\frac{\rho}{\rho_{b}}}\) is valid in correspondence of the equilibrium layer that is set in \(z=\
icefrac{{30\
u}}{{u_{b}^{*}}}\) starting from the bed [30]. The consequence of this physical inconsistency relies in the fact that the production term \(P\) and the dissipation rate \(\epsilon\) are equal starting from \(z=0\), instead of the right depth, which is \(z=\
icefrac{{30\
u}}{{u_{b}^{*}}}\). Figure 5 shows the comparison among the vertical profiles of shear stress obtained with Delft3D and ROMS with the different turbulence closures. Note that both models do not provide the vertical profile of shear stress, but, instead, they compute only the bottom shear stress only following Equation (7), and this is the value reported in the plots as \"model output.\" The vertical profiles of shear stress have been computed starting from the vertical profiles of longitudinal velocity and the corresponding eddy viscosity. In the same plot of Figure 5 the theoretical distribution of shear stress for a uniform open channel flow is also reported. By inspecting Figure 5, it appears quite clearly that only few turbulent closures for both Delft3D and ROMS are able to correctly predict the vertical profile of the shear stress. In particular, the best comparison between the numerical solution against the theoretical linear profiles was obtained with the \(k-\omega\) closure for ROMS and with the \(k-L\) model and algebraic closures for Delft3D. The good performance of the \(k-\omega\) model of ROMS was expected owing to the satisfactory comparison of the vertical velocity profile in Figure 4a,b. It is not surprising that the simplest turbulent models are most often not consistent with the whole vertical linear distribution of shear stress (compare each profile with the symbol representing the model output). This discrepancy is directly associated to the already discussed difference in the velocity derivative close to the bottom with respect to the theoretical log law of the wall; see Figure 4a,b. The effect of an incorrect vertical profile of the longitudinal velocity close to the bottom layers is reflected also into the non linear profile for the shear stress close to the bottom; see, for example, the results obtained with the ROMS \(k-\epsilon\). In Table 4 the error in the evaluation of the bottom shear stress is reported for all models; it was calculated as the relative error between the theoretical value and the model output.