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 |
---|---|---|---|---|---|---|
ABL-Deardorff |
64 64 64 |
Periodic |
Periodic |
NoSlipWall SlipWall |
None |
LES |
ABL-Smag |
64 64 64 |
Periodic |
Periodic |
NoSlipWall SlipWall |
None |
LES |
CouetteFlow-x |
32 4 16 |
Periodic |
Periodic |
NoSlipWall NoSlipWall |
None |
inhomogeneous bc at zhi |
CouetteFlow-y |
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 |
|
PoiseuilleFlow-x |
32 4 16 |
Periodic |
Periodic |
NoSlipWall NoSlipWall |
GradP in x |
|
PoiseuilleFlow-y |
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 y-directions, and has NoSlipWall bc’s on the low-z and high-z faces. At the high-z 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 y-directions, and has NoSlipWall bc’s on the low-z and high-z faces. We initialize the solution with the steady parabolic profile \(U = (1-z^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 no-slip 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 log-log plot showing the error scaling as \(O(\Delta z^2)\).
Test Location: Tests/test_files/EkmanSpiral
Problem Location: Exec/EkmanSpiral
Flow profiles |
Convergence study |