## 4 Verification of the Protocol  
The proposed protocol is verified as follows by a specific test that guarantees its reliability. Firstly, a direct problem is posed (with all known parameters) and numerically simulated. From its solution, we deduce the temperature field of the scenario and, from it, the characteristic length (\(\Gamma_{\tau}^{\tau}\)) in which temperature profiles develop. Then, we read temperature values at different depths at two arbitrary positions, \(\mathrm{x_{a}}\) and \(\mathrm{x_{b}}\), within the profile development region, \(0<\mathrm{x}<\Gamma_{\tau}^{\tau}\). Let us call \(\left(\mathrm{T-y}\right)_{\mathrm{x_{a},i}}\) and \(\left(\mathrm{T-y}\right)_{\mathrm{x_{b},i}}\), with \(\mathrm{x_{a}}>\mathrm{x_{b}}\), i = 1, 2, \(\ldots\) and N, the discrete set of regularly distributed temperatures in depth. To introduce deviations in these readings, and to simulate measurement errors, random errors of maximum value \(\mathrm{e}\mathrm{\%}\) are applied to each reading. The new sets of temperature values, denoted as \(\left(\mathrm{T-y}\right)_{\mathrm{x_{a},e,i}}\) and \(\left(\mathrm{T-y}\right)_{\mathrm{x_{b},e,i}}\), will be the input data for the inverse \(\mathrm{v_{o}}\) estimation problem.  
The parameter values for the direct problem (for which a negligible horizontal diffusivity effect is guaranteed, compared to advection) and the discrete temperature profiles affected by the error, which constitute the input data for the inverse problem, are shown in Table 1. Two random errors, 1 and 2%, are chosen, while the number of measurements regularly distributed along the depth is N = 8.  
A refined mesh of 41 (horizontal) \(\times\) 100 (vertical) is adopted, requiring a computing time of a few seconds for each iteration. As ordered, 30 iterations have been simulated by applying steps 1 to 8 of the protocol. The final estimates and a sample of partial results, with \(\mathrm{v_{o}}\) = 5 \(\times\) 10\({}^{-6}\) m/s and \(\Delta\mathrm{v_{x_{o}}}\) = 0.1 \(\times\) 10\({}^{-6}\) m/s, are shown in Tables 2 and 3. The input data are H = 1.0 m, T\({}_{1}\) = 0.0 \({}^{\circ}\)C, T\({}_{2}\) = 0.2 \({}^{\circ}\)C, T\({}_{3}\) = 1.0 \({}^{\circ}\)C, \(\alpha\) = 10\({}^{-7}\) m\({}^{2}\)/s, \(\mathrm{v_{o}}\) = 5 \(\times\) 10\({}^{-6}\) m/s, \(\mathrm{x_{a}}\) = 3 m, and \(\mathrm{x_{b}}\) = 9 m.  
Figure 2: Block diagram of the inverse problem protocol.  
Partial results of \(\Psi_{b,min,j}\), \(\Psi_{a,j}\) and \(\Psi_{b,min,j}+\Psi_{a,j}\) are shown for the same pairs of relative positions \(x_{a}\) and \(x_{b}\). There is no direct correlation between the evolution of the values of individual functionals. These values can increase or decrease with successive iterations, but their sum is always monotonously decreasing until it converges to its minimum value. The estimated final value for velocity in both cases verify the efficiency and accuracy of the proposed protocol. These estimates with errors, sufficiently small for this engineering problems, are  
\[v_{o} =4.9\ \times\ 10^{-6}\ \mathrm{m}/\mathrm{s}\ \mathrm{e}_{v_{o}}=2\%\ \mathrm{e}=1\%\] \[v_{o} =5.1\ \times\ 10^{-6}\ \mathrm{m}/\mathrm{s}\ \mathrm{e}_{v_{o}}=2\%\ \mathrm{e}=2\%\]  
Note that the size mesh might influence notably the results for coarse meshes, since the partial locations \(x_{a}\) and \(x_{b}\) have to be located according to the chosen thickness of the volume element. This is the reason why the partial locations in Table 2 are the same for the two selected random errors.