Regression Tests
There are currently 26 tests which are run as part of every PR. The CI tests use cmake and are based on the version of AMReX in the ERF submodule.
In addition there are nightly tests that use GNUMake and use the current development branch of AMReX.
Results from the nightly CPU tests can be found here: CPU tests
Results from the nightly GPU tests can be found here: GPU tests
The following problems are currently tested in the CI:
Test 
nx ny nz 
xbc 
ybc 
zbc 
Ext 
Other 

Bubble_Density_Current 
256 4 64 
Symmetry Outflow 
Periodic 
SlipWall SlipWall 
None 
USE_MOISTURE=TRUE 
CouetteFlow 
32 4 16 
Periodic 
Periodic 
SlipWall SlipWall 
None 
inhomogeneous bc at zhi 
DensityCurrent 
256 4 64 
Symmetry Outflow 
Periodic 
SlipWall SlipWall 
None 
+gravity 
DensityCurrent_detJ2 
256 4 64 
Symmetry Outflow Outflow 
Periodic 
SlipWall SlipWall SlipWall 
None 
use_terrain = true uses zlevels detJ = 2 everywhere 
DensityCurrent_detJ2_nosub 
256 4 64 
Symmetry Outflow 
Periodic 
SlipWall SlipWall 
None 
use_terrain = true uses zlevels detJ = 2 everywhere no substepping 
DensityCurrent_detJ2_MT 
256 4 64 
Symmetry Outflow Outflow 
Periodic 
SlipWall SlipWall SlipWall 
None 
use_terrain = true uses zlevels detJ = 2 everywhere terrain_type = 1 
EkmanSpiral 
4 4 400 
Periodic 
Periodic 
NoSlipWall SlipWall 
Geo 
+Coriolis +gravity 
IsentropicVortexAdvecting 
48 48 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

IsentropicVortexStationary 
48 48 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

MSF_NoSub_IsentropicVortexAdv 
48 48 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 
tests map factors without substepping 
MSF_Sub_IsentropicVortexAdv 
48 48 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 
tests map factors with substepping 
PoiseuilleFlow 
32 4 16 
Periodic 
Periodic 
NoSlipWall NoSlipWall 
GradP in x 

RayleighDamping 
64 4 64 
Periodic 
Periodic 
SlipWall SlipWall 
None 
Rayleigh damping 
ScalarAdvectionUniformU 
64 64 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

ScalarAdvectionShearedU 
64 4 64 
Periodic 
Periodic 
SlipWall SlipWall 
None 

ScalarAdvDiff_order2 
32 32 32 
Periodic 
Periodic 
SlipWall SlipWall 
None 
advection + diffusion spatial_order = 2 
ScalarAdvDiff_order3 
32 32 32 
Periodic 
Periodic 
SlipWall SlipWall 
None 
advection + diffusion spatial_order = 3 
ScalarAdvDiff_order4 
32 32 32 
Periodic 
Periodic 
SlipWall SlipWall 
None 
advection + diffusion spatial_order = 4 
ScalarAdvDiff_order5 
32 32 32 
Periodic 
Periodic 
SlipWall SlipWall 
None 
advection + diffusion spatial_order = 4 
ScalarAdvDiff_order6 
32 32 32 
Periodic 
Periodic 
SlipWall SlipWall 
None 
advection + diffusion spatial_order = 6 
ScalarDiffusionGaussian 
16 16 16 
Periodic 
Periodic 
SlipWall SlipWall 
None 

ScalarDiffusionSine 
16 16 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

TaylorGreenAdvecting 
16 16 16 
Periodic 
Periodic 
SlipWall SlipWall 
None 

TaylorGreenAdvectingDiffusing 
16 16 16 
Periodic 
Periodic 
SlipWall SlipWall 
None 
while the following tests are run nightly:
Test 
nx ny nz 
xbc 
ybc 
zbc 
Ext 
Other 

ABLDeardorff 
64 64 64 
Periodic 
Periodic 
NoSlipWall SlipWall 
None 
LES 
ABLSmag 
64 64 64 
Periodic 
Periodic 
NoSlipWall SlipWall 
None 
LES 
CouetteFlowx 
32 4 16 
Periodic 
Periodic 
NoSlipWall NoSlipWall 
None 
inhomogeneous bc at zhi 
CouetteFlowy 
4 32 16 
Periodic 
Periodic 
NoSlipWall NoSlipWall 
None 
inhomogeneous bc at zhi 
DensityCurrent 
256 4 64 
Symmetry Outflow 
Periodic 
SlipWall SlipWall 
None 
+gravity 
EkmanSpiral 
4 4 400 
Periodic 
Periodic 
NoSlipWall SlipWall 
Geo 
+Coriolis +gravity 
EkmanSpiral_restart 
4 4 400 
Periodic 
Periodic 
NoSlipWall SlipWall 
Geo 
restart test 
IsentropicVortexAdvecting 
48 48 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

IsentropicVortexStationary 
48 48 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

PoiseuilleFlowx 
32 4 16 
Periodic 
Periodic 
NoSlipWall NoSlipWall 
GradP in x 

PoiseuilleFlowy 
4 32 16 
Periodic 
Periodic 
NoSlipWall NoSlipWall 
GradP in y 

ScalarAdvecDiffDoubleDen 
32 32 32 
Periodic 
Periodic 
SlipWall SlipWall 
None 
Density = 2 
ScalarAdvDiffInflowOutflow 
32 32 32 
Inflow Outflow 
Periodic 
SlipWall SlipWall 
None 

ScalarAdvecDiffUniformU 
32 32 32 
Periodic 
Periodic 
SlipWall SlipWall 
None 

ScalarAdvecUniformU 
64 64 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

ScalarAdvecShearedU 
64 4 64 
Periodic 
Periodic 
SlipWall SlipWall 
None 

ScalarAdvecUniformU 
64 64 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

ScalarDiffusionGaussian 
64 64 64 
Periodic 
Periodic 
SlipWall SlipWall 
None 

ScalarDiffusionSine 
64 64 4 
Periodic 
Periodic 
SlipWall SlipWall 
None 

TaylorGreenAdvecting 
64 64 64 
Periodic 
Periodic 
SlipWall SlipWall 
None 

TaylorGreenAdvDiffDoubleDen 
64 64 64 
Periodic 
Periodic 
SlipWall SlipWall 
None 
Density = 2 
More details about the CI tests are given below.
Scalar Advection by Uniform Flow in XY Plane
This tests scalar advection with periodic boundaries in the lateral directions and slip walls at low and high z.
Test Location: Tests/test_files/ScalarAdvectionUniformU
Problem Location: Exec/ScalarAdvDiff
Scalar concentration at t=0. 
Scalar concentration at 20 steps. 
Scalar Advection by Sheared Flow
This tests scalar advection with periodic boundaries in the lateral directions and slip walls at low and high z.
Test Location: Tests/test_files/ScalarAdvectionShearedU
Problem Location: Exec/ScalarAdvDiff
Scalar concentration at t=0. 
Scalar concentration at 80 steps 
Scalar Diffusion: Sphere of Scalar
This tests scalar diffusion with periodic boundaries in the lateral directions and slip walls at low and high z.
Test Location: Tests/test_files/ScalarDiffusionGaussian
Problem Location: Exec/ScalarAdvDiff
Scalar concentration at t=0. 
Scalar concentration at 20 steps (t = 0.01). 
Scalar Diffusion: Sinusoidal Variation of Scalar
This tests scalar diffusion with periodic boundaries in the lateral directions and slip walls at low and high z.
Test Location: Tests/test_files/ScalarDiffusionSine
Problem Location: Exec/ScalarAdvDiff
Scalar concentration at t=0. 
Scalar concentration at 20 steps (t = 0.2). 
Scalar Advection/Diffusion by Uniform Flow With Different Spatial Orders
This tests scalar advection and diffusion with periodic boundaries in the lateral directions and slip walls at low and high z.
Test Location (for 2nd order): Tests/test_files/ScalarAdvDiff_order2
Problem Location: Exec/ScalarAdvDiff
Scalar concentration at t=0. 
Scalar concentration at 20 steps (t = 0.01). 
Rayleigh Damping
This tests Rayleigh damping. The problem is initialized as in the shear flow case, then Rayleigh damping is applied with a target mean profile of (2,1,0).
Test Location: Tests/test_files/RayleighDamping
Problem Location: Exec/ScalarAdvDiff
Isentropic Vortex: Stationary
This tests advection of an isentropic vortex with triply periodic boundaries.
Test Location: Tests/test_files/IsentropicVortexStationary
Problem Location: Exec/IsentropicVortex
Isentropic Vortex: Advecting
This tests advection of an isentropic vortex with triply periodic boundaries.
Test Location: Tests/test_files/IsentropicVortexAdvecting
Problem Location: Exec/IsentropicVortex
Taylor Green Vortex: Advection
This tests advection and diffusion with triply periodic boundaries.
Test Location: Tests/test_files/TaylorGreenAdvecting
Problem Location: Exec/TaylorGreenVortex
Taylor Green Vortex: Advection and Diffusion
This tests advection and diffusion with triply periodic boundaries.
Test Location: Tests/test_files/TaylorGreenAdvectingDiffusing
Problem Location: Exec/TaylorGreenVortex
Flow field at t=0. 
Flow field at 10 steps (t = 1.6). 
Couette Flow
This tests Couette flow in a channel. The domain is periodic in the x and ydirections, and has NoSlipWall bc’s on the lowz and highz faces. At the highz boundary the velocity is specified to be \(U = (2,0,0)\). The steady solution for this problem is \(U = (z/8,0,0)\) in the domain which is 16 units high in z.
Test Location: Tests/test_files/CouetteFlow
Problem Location: Exec/CouetteFlow
Poiseuille Flow
This tests Poiseuille flow in a channel. The domain is periodic in the x and ydirections, and has NoSlipWall bc’s on the lowz and highz faces. We initialize the solution with the steady parabolic profile \(U = (1z^2,0,0)\) in the domain which runs from 1. to 1. in z. The viscosity is specified to be 0.1 and the imposed pressure gradient is \(Gp = (0.2,0,0)\).
Test Location: Tests/test_files/PoiseuilleFlow
Problem Location: Exec/PoiseuilleFlow
Nonlinear Density Current
The density current problem tests the effects of gravity and the behavior at a slip wall.
A detailed description of the problem and a comparison of solutions using a number of different codes can be found in the Straka 1993 paper
Test Location: Tests/test_files/DensityCurrent
Problem Location: Exec/DensityCurrent
Perturbational potential temperature at t = 600s 
Perturbational potential temperature at t = 900s 
Ekman Spiral
The Ekman spiral problem tests the computation of the stress term internally and at noslip walls, as well as Coriolis and geostrophic forcing.
A description of the problem, including the exact solution, can be found at Ekman Spiral Description
The steady solution is shown below, as well as a loglog plot showing the error scaling as \(O(\Delta z^2)\).
Test Location: Tests/test_files/EkmanSpiral
Problem Location: Exec/EkmanSpiral
Flow profiles 
Convergence study 