Regression testing

Generating local regression test data

Developers are encouraged to create local benchmark data for regression testing prior to committing code the GitLab repository.

  1. Create a location to store benchmark data and clone the MFIX-Exa and AMReX repositories.

    mkdir /home/user/exa-rt
    mkdir /home/user/exa-rt/benchmark
    cd /home/user/exa-rt
    git clone http://mfix.netl.doe.gov/gitlab/exa/mfix.git
    git clone https://github.com/AMReX-Codes/amrex.git
    
  2. Create a local copy the regression test setup file from the MFIX-Exa repository.

    cp mfix/RegressionTesting/MFiX-tests.ini MFiX-local.ini
    
  3. Edit the local setup file. Specify the top level directories for test and web output under the [main] heading.

    [main]
    testTopDir = /home/user/exa-rt/benchmark
    webTopDir =  /home/user/exa-rt/web
    

    Specify the AMReX source directory location under the [AMReX] heading.

    [AMReX]
    dir = /home/user/exa-rt/amrex
    branch = development
    

    Specify the MFIX-Exa source directory location under the [source] heading.

    [source]
    dir = /home/user/exa-rt/mfix
    branch = develop
    
  4. Run the AMReX regression test tool. The second argument is a user supplied comment.

    cd /home/user/exa-rt
    amrex/Tools/RegressionTesting/regtest.py --make_benchmarks "MFiX" MFiX-local.ini
    

## Prerequisite: Environment Dependencies on Joule (Joule specific)

For the Joule environment, load the gnu module and set environment variables first. If not on Joule, skip this step.

```shell

> module load gnu/6.1.0

> export CC=/nfs/apps/Compilers/GNU/6.1.0/bin/gcc

> export CXX=/nfs/apps/Compilers/GNU/6.1.0/bin/g++

> export F77=/nfs/apps/Compilers/GNU/6.1.0/bin/gfortran

> export FC=/nfs/apps/Compilers/GNU/6.1.0/bin/gfortran

```