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

moist bubble

CouetteFlow_x

32 4 16

Periodic

Periodic

NoSlipWall NoSlipWall

None

inhomogeneous bc at zhi (u = 2)

CouetteFlow_y

4 32 16

Periodic

Periodic

NoSlipWall NoSlipWall

None

inhomogeneous bc at zhi (v = 2)

DensityCurrent

256 4 64

Symmetry Outflow

Periodic

SlipWall SlipWall

None

+gravity

DensityCurrent_detJ2

256 4 64

Symmetry Outflow Outflow

Periodic

SlipWall SlipWall SlipWall

None

terrain_type = StaticFittedMesh uses zlevels detJ = 2 everywhere

DensityCurrent_detJ2_nosub

256 4 64

Symmetry Outflow

Periodic

SlipWall SlipWall

None

terrain_type = StaticFittedMesh uses zlevels detJ = 2 everywhere no substepping

DensityCurrent_detJ2_MT

256 4 64

Symmetry Outflow Outflow

Periodic

SlipWall SlipWall SlipWall

None

terrain_type = MovingFittedMesh uses zlevels detJ = 2 everywhere

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_x

32 4 16

Periodic

Periodic

NoSlipWall NoSlipWall

GradP in x

PoiseuilleFlow_y

4 32 16

Periodic

Periodic

NoSlipWall NoSlipWall

GradP in y

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 “Centered_2nd”

ScalarAdvDiff_order3

32 32 32

Periodic

Periodic

SlipWall SlipWall

None

advection + diffusion “Upwind_3rd”

ScalarAdvDiff_order4

32 32 32

Periodic

Periodic

SlipWall SlipWall

None

advection + diffusion “Centered_4th”

ScalarAdvDiff_order5

32 32 32

Periodic

Periodic

SlipWall SlipWall

None

advection + diffusion “Upwind_5th”

ScalarAdvDiff_order6

32 32 32

Periodic

Periodic

SlipWall SlipWall

None

advection + diffusion “Centered_6th”

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

ParticleAdvect_AMR1_box

128 4 32

Inflow Outflow

Periodic

SlipWall SlipWall

None

particle advection, 1 AMR level static box tagging, partial z

ParticleAdvect_AMR1_pcount

128 4 32

Inflow Outflow

Periodic

SlipWall SlipWall

None

particle advection, 1 AMR level particle-count tagging

ParticleAdvect_AMR2_pcount

128 4 32

Inflow Outflow

Periodic

SlipWall SlipWall

None

particle advection, 2 AMR levels particle-count tagging

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-Deardorff-OMP

64 64 64

Periodic

Periodic

NoSlipWall SlipWall

None

LES uses OpenMP

ABL-MOST

64 64 64

Periodic

Periodic

SurfLay SlipWall

None

LES with MOST bc

ABL-MOST-OMP

64 64 64

Periodic

Periodic

SurfLay SlipWall

None

LES with MOST bc uses OpenMP

ABL-MYNN

2 2 64

Periodic

Periodic

SurfLay SlipWall

None

MYNN2.5 Model

ABL-Smag

64 64 64

Periodic

Periodic

NoSlipWall SlipWall

None

LES

ABL-Smag-OMP

64 64 64

Periodic

Periodic

NoSlipWall SlipWall

None

LES uses OpenMP

Bomex

32 32 100

Periodic

Periodic

SurfLay SlipWall

None

Kessler_NoRain

Bubble_Kessler

100 4 100

SlipWall

Periodic

SlipWall SlipWall

None

Kessler

Bubble_Kessler_NoRain

200 4 100

SlipWall

Periodic

SlipWall SlipWall

None

Kessler_NoRain

DensityCurrent

256 4 64

Symmetry Outflow

Periodic

SlipWall SlipWall

None

+gravity

DensityCurrent-OMP

256 4 64

Symmetry Outflow

Periodic

SlipWall SlipWall

None

+gravity uses OpenMP

DensityCurrent_Terrain

256 4 64

Symmetry Outflow

Periodic

SlipWall SlipWall

None

+gravity terrain_type = StaticFittedMesh

DensityCurrent_Terrain-OMP

256 4 64

Symmetry Outflow Outflow

Periodic

SlipWall SlipWall SlipWall

None

+gravity terrain_type = StaticFittedMesh uses OpenMP

DensityCurrent_anelastic

256 4 64

Symmetry Outflow

Periodic

SlipWall SlipWall

None

+gravity anelastic

DensityCurrent_detJ2

256 4 64

Symmetry Outflow

Periodic

SlipWall SlipWall

None

+gravity uses z_levels

EkmanSpiral_custom

12 10 400

Periodic

Periodic

NoSlipWall SlipWall

Geo Cor

custom init

EkmanSpiral_ideal

12 10 400

Periodic

Periodic

NoSlipWall SlipWall

Geo Cor

init from ideal wrfinput file

EkmanSpiral_input_sounding

4 4 400

Periodic

Periodic

NoSlipWall SlipWall

Geo Cor

init from input_sounding

EkmanSpiral_restart

4 4 400

Periodic

Periodic

NoSlipWall SlipWall

Geo Cor

restart test

IsentropicVortexAdvecting

48 48 4

Periodic

Periodic

SlipWall SlipWall

None

IsentropicVortexStationary

48 48 4

Periodic

Periodic

SlipWall SlipWall

None

MetGrid

140 80 100

Outflow

Outflow

SurfLay SlipWall

None

init from metgrid file

MovingTerrain_nosub

40 8 79

Periodic

Periodic

SlipWall SlipWall

None

terrain_type = MovingFittedMesh

ParticlesOverWoA

256 8 64

Inflow Outflow

Periodic

SlipWall SlipWall

None

particle advection

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

ScalarDiffusion

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

TurbulentInflow

64 16 32

Inflow Outflow

Periodic

SurfLay SlipWall

None

LES

TurbulentInflow_anelastic

64 16 32

Inflow Outflow

Periodic

SurfLay SlipWall

None

LES

WPS_Test_Terrain

200 200 176

wrfbdy wrfbdy

wrfbdy wrfbdy

NoSlipWall SlipWall

None

init from wrfinput

WPS_Test_Terrain-OMP

200 200 176

wrfbdy wrfbdy

wrfbdy wrfbdy

NoSlipWall SlipWall

None

init from wrfinput

WPS_Test_restart

200 200 176

wrfbdy wrfbdy

wrfbdy wrfbdy

NoSlipWall SlipWall

None

init from wrfinput

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/RegTests/ScalarAdvDiff

15 X-Y slice of a 2-d cylindrical blob in a uniform velocity field (10,5,0)

a2

b2

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/RegTests/ScalarAdvDiff

16 X-Z slice of a 2-d cylindrical blob in a uniform shearing velocity field (8 log( (z+z0)/z0 ) / log ( (zref+z0)/z0 ) with z0 = 0.1 and zref = 80 in a triply periodic domain 8x8x8

a3

b3

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/RegTests/ScalarAdvDiff

17 Diffusion of a spherical blob of scalar

a5

b5

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/RegTests/ScalarAdvDiff

18 Diffusion of a scalar initialized as sin(x)

a6

b6

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/RegTests/ScalarAdvDiff

19 Advection and diffusion of a spherical blob in a uniform velocity field (100,0,0)

a7

b7

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/RegTests/ScalarAdvDiff

Isentropic Vortex: Stationary

This tests advection of an isentropic vortex with triply periodic boundaries.

Test Location: Tests/test_files/IsentropicVortexStationary

Problem Location: Exec/RegTests/IsentropicVortex

Isentropic Vortex: Advecting

This tests advection of an isentropic vortex with triply periodic boundaries.

Test Location: Tests/test_files/IsentropicVortexAdvecting

Problem Location: Exec/RegTests/IsentropicVortex

Taylor Green Vortex: Advection

This tests advection and diffusion with triply periodic boundaries.

Test Location: Tests/test_files/TaylorGreenAdvecting

Problem Location: Exec/RegTests/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/RegTests/TaylorGreenVortex

20 Scalar concentration

a8

b8

Flow field at t=0.

Flow field at 10 steps (t = 1.6).

Couette Flow (x-direction)

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_x

Problem Location: Exec/RegTests/Couette_Poiseuille

Couette Flow (y-direction)

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 = (0,2,0)\). The steady solution for this problem is \(U = (0,z/8,0)\) in the domain which is 16 units high in z.

Test Location: Tests/test_files/CouetteFlow_y

Problem Location: Exec/RegTests/Couette_Poiseuille

Poiseuille Flow (x-direction)

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_x

Problem Location: Exec/RegTests/Couette_Poiseuille

Poiseuille Flow (y-direction)

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 = (0,1-z^2,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,-0.2,0)\).

Test Location: Tests/test_files/PoiseuilleFlow_y

Problem Location: Exec/RegTests/Couette_Poiseuille

Nonlinear Density Current

The density current problem tests the effects of gravity and the behavior at a slip wall.

See Verification for more information.

Test Location: Tests/test_files/DensityCurrent

Problem Location: Exec/CanonicalTests/DensityCurrent

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.

See Verification for more information.

Test Location: Tests/test_files/EkmanSpiral

Problem Location: Exec/CanonicalTests/EkmanSpiral