XBeach validation

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
  • Skillbed

Unit 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.

The open-source portal currenly has no access to a TeamCity Build Server, but a separate build server is planned for the open-source projects in the near future.

Acceptation tests

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.

Skillbed

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.

The generated reports are available on the Skillbed reports page. On the Add test page, you can find instructions on how to add your own test to the skillbed.