XBeach is improved continuously. Continous improvement feeds the need of continous validation of the model results, performance and consistency. For the continuous validation of XBeach, we use the following tools:
- Unit tests
- Acceptation tests
Unit tests are a collection of tiny tests that test basic functions within XBeach every time the source code is changed. It simply tests if the grid reader function is indeed able to read a grid correctly and if the Smagorinsky subgrid model still returns sensible results. Unit tests are performed by the TeamCity build server. The build server publishes results on unit tests and, in case of one or more failing unit tests, notifies the people responsible.
Acceptation tests are performed on a bit more aggregated level. These tests mainly consist of a collection of key model set-ups that should provide results within certain confidence bands. The collection of models should cover the entire scope of XBeach. If all tests succeed, the model version is accepted to be published. Acceptation tests are closely related to the testbed tests.
The XBeach skillbed is a stand-alone custom test environment that runs an even larger variety of models using the latest XBeach version. The skillbed is ran on a daily basis. The model results are analyzed automatically and the results are summarized in different reports. There are reports available for the current version of XBeach including in-depth analysis of wave transformations and morphological changes, but also reports are available that draw a picture of the performance of XBeach in time in statistical terms.