Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1. Introduction

The XBeach Testbed is an automated testing environment for the [XBeach model|XBEACH:Home]. The testbed monitors the quality of the model developments. In order to do so, a collection of model setups is collected in the [Subversion repository|https://repos.deltares.nl/repos/XBeach/testbed2011/] of Deltares together with the latest model source code, possibly arranged in different branches. When the testbed is run, both the source code revisions as well as the model setups are downloaded from the repository, binaries are built and tests are run.

Tests can be run in different configurations, with different paramerter files and different versions of the XBeach executable. After all tests are finished, a collection of Matlab scripts performs the post-processing of the model results. The use of Matlab scripts makes management of the post-processing easy accessible for everyone. The scripts generate figures, tables and statistical performance scores. The result of the post-processing is then captured in several PDF reports. The reports are automatically e-mailed to the developers of XBeach.

The XBeach Testbed runs on a daily basis and contains over 50 model setups and 4 different executables. The testbed is written in Python and can be run over different computers using XML-RPC. The testbed is therfore splitted into a server and client part, which are both automatically updated from the subversion repository as well.

h1. Installation

h2. Requirements

The XBeach Testbed requires the following software to be installed:

{table-plus:width=800|enhableHighlighting=true}
|| Name || URL || Remarks ||
| Python 2.6 | [http://www.python.org/] | |
| PySVN 1.7 | [http://pysvn.tigris.org/] | |
| Miktex 2.8 | [http://miktex.org/] | Windows client only |
| pdflatex | | Linux client only |
| Matlab | [http://www.mathworks.nl/products/matlab/] | Client only |
| MPICH2 | [http://www.mcs.anl.gov/research/projects/mpich2/] | Server only |
| Microsoft Visual Studio 2008 | [http://www.microsoft.com/visualstudio/en-us/products/professional/default.mspx] | Windows server only |
| Intel Fortran Compiler | [http://software.intel.com/en-us/intel-compilers/] | Windows server only |
| GNU Fortran Compiler | [http://gcc.gnu.org/fortran/] | Linux server only |
{table-plus}

The XBeach Testbed requires the following environment variables to be set:

{table-plus:width=800|enhableHighlighting=true}
|| Name || Value || Remarks ||
| PYTHON_PATH | Path to python executable | |
| PDFLATEX_PATH | Path to pdflatex executable | Client only |
| MATLAB_PATH | Path to Matlab executable | Client only |
| MPIEXEC_PATH | Path to mpiexec executable | Server only |
| VS90COMNTOOLS | Microsoft Visual Studio 2008 installation directory | Windows server only |
| IFORT_COMPILER11 | Intel Fortran Compiler installation directory | Windows server only |
| INTEL_LICENSE_FILE | Path to Intel Fortran Compiler license file | Windows server only |
| GFORTRAN_PATH | Path to gfortran executable | Linux server only |
{table-plus}

h2. Download

The XBeach Testbed can be installed by running the following python script: [https://repos.deltares.nl/repos/XBeach/testbed2011/tools/python/install.py]. The script downloads the testbed from the subversion repository.

h2. Run

The server can be started by running the tools/python/start_server.py script.

The client can be started by running the tools/python/start_client.py script.

Both scripts accept the --local option to prevent communication with the outside world (for testing purposes). The tools/testbed.cfg file on the client machine should be adapted to hold the hostnames and ports of the servers to be used.

h1. Overview

!testbed.png|align=left,width=800! 



h1. TODO

{dynamictasklist:XBeach Testbed configuration}