Skip to content

Commit

Permalink
Add regtest for MYNN PBL scheme to CI (erf-model#1688)
Browse files Browse the repository at this point in the history
* begin adding mynn test

* working mynn test case
  • Loading branch information
baperry2 authored Jul 15, 2024
1 parent 09dcdec commit 2ffbc69
Show file tree
Hide file tree
Showing 8 changed files with 299 additions and 3 deletions.
7 changes: 4 additions & 3 deletions Tests/CTestList.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ macro(setup_test)

# Set some default runtime options for all tests in this category
# set(RUNTIME_OPTIONS "time.max_step=10 amr.plot_file=plt time.plot_interval=10 amrex.throw_exception=1 amrex.signal_handling=0")
# set(RUNTIME_OPTIONS "max_step=10 amr.plot_file=plt amr.checkpoint_files_output=0 amr.plot_files_output=1 amrex.signal_handling=0")
# set(RUNTIME_OPTIONS "max_step=10 amr.plot_file=plt amr.checkpoint_files_output=0 amr.plot_files_output=1 amrex.signal_handling=0")

endmacro(setup_test)

Expand Down Expand Up @@ -110,8 +110,9 @@ add_test_r(TaylorGreenAdvectingDiffusing "RegTests/TaylorGreenVortex/*/erf_t
add_test_r(MSF_NoSub_IsentropicVortexAdv "RegTests/IsentropicVortex/*/erf_isentropic_vortex.exe" "plt00010")
add_test_r(MSF_Sub_IsentropicVortexAdv "RegTests/IsentropicVortex/*/erf_isentropic_vortex.exe" "plt00010")
add_test_r(ABL_MOST "ABL/*/erf_abl.exe" "plt00010")
add_test_r(ABL_MYNN_PBL "ABL/*/erf_abl.exe" "plt00100")
add_test_r(MoistBubble "RegTests/Bubble/*/erf_bubble.exe" "plt00010")

add_test_0(Deardorff_stationary "ABL/*/erf_abl.exe" "plt00010")

else()
Expand Down Expand Up @@ -148,6 +149,7 @@ add_test_r(TaylorGreenAdvectingDiffusing "RegTests/TaylorGreenVortex/erf_tay
add_test_r(MSF_NoSub_IsentropicVortexAdv "RegTests/IsentropicVortex/erf_isentropic_vortex" "plt00010")
add_test_r(MSF_Sub_IsentropicVortexAdv "RegTests/IsentropicVortex/erf_isentropic_vortex" "plt00010")
add_test_r(ABL_MOST "ABL/erf_abl" "plt00010")
add_test_r(ABL_MYNN_PBL "ABL/erf_abl" "plt00100")
add_test_r(MoistBubble "RegTests/Bubble/erf_bubble" "plt00010")

add_test_0(InitSoundingIdeal_stationary "ABL/erf_abl" "plt00010")
Expand All @@ -156,4 +158,3 @@ endif()
#=============================================================================
# Performance tests
#=============================================================================

31 changes: 31 additions & 0 deletions Tests/ERFGoldFiles/ABL_MYNN_PBL/Header
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
HyperCLaw-V1.1
9
density
rhoQKE
x_velocity
y_velocity
z_velocity
theta
pressure
Kmv
Khv
3
100
0
0 0 0
25 25 400

((0,0,0) (3,3,63) (0,0,0))
100
6.25 6.25 6.25
0
0
0 2 100
100
0 25
0 12.5
0 400
0 25
12.5 25
0 400
Level_0/Cell
Binary file not shown.
Binary file not shown.
20 changes: 20 additions & 0 deletions Tests/ERFGoldFiles/ABL_MYNN_PBL/Level_0/Cell_H
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
1
1
9
0
(2 0
((0,0,0) (3,1,63) (0,0,0))
((0,2,0) (3,3,63) (0,0,0))
)
2
FabOnDisk: Cell_D_00000 0
FabOnDisk: Cell_D_00001 0

2,9
1.2607004636439996e+00,9.9999999999999998e-13,3.4103449821444358e+00,-2.6773506172953551e-09,-8.8423079783204253e-07,2.6499848492940441e+02,9.5765513907325454e+04,4.9951600759531592e-12,1.5195287431764831e-12,
1.2607004636439996e+00,9.9999999999999998e-13,3.4103449821444358e+00,-2.6773506172953551e-09,-8.8423079783204253e-07,2.6499848492940441e+02,9.5765513907325454e+04,4.9951600759531592e-12,1.5195287431764831e-12,

2,9
1.3219702955572461e+00,7.2340449679826584e+00,8.0000002088658864e+00,3.0518417353730613e-02,3.4407652976844720e-06,2.6796875000487586e+02,1.0075944767732981e+05,1.6136077888832165e+00,3.1159644143346008e+00,
1.3219702955572461e+00,7.2340449679826584e+00,8.0000002088658864e+00,3.0518417353730613e-02,3.4407652976844720e-06,2.6796875000487586e+02,1.0075944767732981e+05,1.6136077888832165e+00,3.1159644143346008e+00,

160 changes: 160 additions & 0 deletions Tests/ERFGoldFiles/ABL_MYNN_PBL/job_info
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
===============================================================================
ERF Job Information
===============================================================================
inputs file: /projects/erf/bperry/ERF/Build/build-tests/Tests/test_files/ABL_MYNN_PBL/ABL_MYNN_PBL.i

number of MPI processes: 2

CPU time used since start of simulation (CPU-hours): 0.000220452

===============================================================================
Plotfile Information
===============================================================================
output data / time: Mon Jul 15 14:19:52 2024
output dir: /kfs2/projects/erf/bperry/ERF/Build/build-tests/Tests/test_files/ABL_MYNN_PBL


===============================================================================
Build Information
===============================================================================
build date: Jul 15 2024 14:15:38
build machine: Linux x3000c0s25b0n0 4.18.0-477.10.1.el8_8.x86_64 #1 SMP Wed Apr 5 13:35:01 EDT 2023 x86_64
build dir: /projects/erf/bperry/ERF/Build/build-tests/Exec
AMReX dir: /projects/erf/bperry/ERF/Submodules/AMReX

COMP: GNU
COMP version: 12.2.1


ERF git hash: 24.06-69-gc09476bca82b-dirty
AMReX git hash: 24.03


===============================================================================
Grid Information
===============================================================================
level: 0
number of boxes = 2
maximum zones = 4 4 64

Boundary conditions
-x: Periodic
+x: Periodic
-y: Periodic
+y: Periodic
-z: MOST
+z: SlipWall


===============================================================================
Inputs File Parameters
===============================================================================
stop_time = 32400.0
max_step = 100
amrex.fpe_trap_invalid = 0
fabarray.mfiter_tile_size = 1024 1024 1024
geometry.prob_extent = 25 25 400
amr.n_cell = 4 4 64
geometry.is_periodic = 1 1 0
zlo.type = Most
erf.most.z0 = 0.1
erf.most.surf_temp = 265.0
erf.most.surf_heating_rate = -0.25
zhi.type = SlipWall
zhi.theta_grad = 0.01
erf.init_type = input_sounding
erf.init_sounding_ideal = 1
erf.input_sounding_file = input_sounding_GABLS1
erf.fixed_dt = 1.0
erf.fixed_mri_dt_ratio = 6
erf.sum_interval = 1
erf.v = 1
amr.v = 1
amr.max_level = 0
erf.check_file = chk
erf.check_int = -1
erf.plot_file_1 = plt
erf.plot_int_1 = 300
erf.plot_vars_1 = density x_velocity y_velocity z_velocity pressure theta rhoQKE Kmv Khv
erf.dycore_vert_adv_type = Upwind_3rd
erf.dryscal_vert_adv_type = Upwind_3rd
erf.molec_diff_type = None
erf.use_gravity = true
erf.use_coriolis = true
erf.latitude = 73.0
erf.rotational_time_period = 86455.2516813368
erf.abl_driver_type = GeostrophicWind
erf.abl_geo_wind = 8.0 0.0 0.0
erf.les_type = None
erf.pbl_type = MYNN2.5
prob.KE_0 = 0.4
prob.KE_decay_height = 250.
prob.KE_decay_order = 1
amr.refine_grid_layout_x = 1
amr.refine_grid_layout_y = 1
amr.refine_grid_layout_z = 0
amr.n_proper = 2
amr.max_grid_size = 2048
amr.blocking_factor = 1
amr.n_error_buf = 0
amrex.v = 1
amrex.verbose = 1
amrex.regtest_reduction = 0
amrex.signal_handling = 1
amrex.throw_exception = 0
amrex.call_addr2line = 1
amrex.abort_on_unused_inputs = 0
amrex.handle_sigsegv = 1
amrex.handle_sigterm = 0
amrex.handle_sigint = 1
amrex.handle_sigabrt = 1
amrex.handle_sigfpe = 1
amrex.handle_sigill = 1
amrex.fpe_trap_zero = 0
amrex.fpe_trap_overflow = 0
amrex.use_gpu_aware_mpi = 0
amrex.the_arena_init_size = 0
amrex.the_device_arena_init_size = 8388608
amrex.the_managed_arena_init_size = 8388608
amrex.the_pinned_arena_init_size = 8388608
amrex.the_comms_arena_init_size = 8388608
amrex.the_arena_release_threshold = 9223372036854775807
amrex.the_device_arena_release_threshold = 9223372036854775807
amrex.the_managed_arena_release_threshold = 9223372036854775807
amrex.the_pinned_arena_release_threshold = 9223372036854775807
amrex.the_comms_arena_release_threshold = 9223372036854775807
amrex.the_async_arena_release_threshold = 9223372036854775807
amrex.the_arena_is_managed = 0
amrex.abort_on_out_of_gpu_memory = 0
fab.init_snan = 0
DistributionMapping.v = 0
DistributionMapping.verbose = 0
DistributionMapping.efficiency = 0.90000000000000002
DistributionMapping.sfc_threshold = 0
DistributionMapping.node_size = 0
DistributionMapping.verbose_mapper = 0
fab.initval = nan
fab.do_initval = 0
fabarray.maxcomp = 25
vismf.v = 0
vismf.headerversion = 1
vismf.groupsets = 0
vismf.setbuf = 1
vismf.usesingleread = 0
vismf.usesinglewrite = 0
vismf.checkfilepositions = 0
vismf.usepersistentifstreams = 0
vismf.usesynchronousreads = 0
vismf.usedynamicsetselection = 1
vismf.iobuffersize = 2097152
vismf.allowsparsewrites = 1
amrex.async_out = 0
amrex.async_out_nfiles = 64
amrex.vector_growth_factor = 1.5
machine.verbose = 0
machine.very_verbose = 0
geometry.coord_sys = 0
geometry.prob_lo = 0 0 0
amr.grid_eff = 0.69999999999999996
amr.refine_grid_layout = 1
amr.check_input = 1
80 changes: 80 additions & 0 deletions Tests/test_files/ABL_MYNN_PBL/ABL_MYNN_PBL.i
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# ------------------ INPUTS TO MAIN PROGRAM -------------------
stop_time = 32400.0 # 540 min = 9 h (Cuxart et al. 2006)
max_step = 100
amrex.fpe_trap_invalid = 0

fabarray.mfiter_tile_size = 1024 1024 1024

# PROBLEM SIZE & GEOMETRY (Cuxart et al. 2006)
geometry.prob_extent = 25 25 400
amr.n_cell = 4 4 64

geometry.is_periodic = 1 1 0

# MOST BOUNDARY (DEFAULT IS ADIABATIC FOR THETA)
zlo.type = "Most"
erf.most.z0 = 0.1 # from Cuxart et al. 2006
erf.most.surf_temp = 265.0 # initial value, should match input_sounding
erf.most.surf_heating_rate = -0.25 # [K/h] from Cuxart et al. 2006

zhi.type = "SlipWall"
zhi.theta_grad = 0.01 # [K/m] to match the input sounding

# INITIALIZATION (Cuxart et al. 2006)
erf.init_type = "input_sounding"
erf.init_sounding_ideal = 1
erf.input_sounding_file = "input_sounding_GABLS1"

# TIME STEP CONTROL
erf.fixed_dt = 1.0 # largest stable low Mach dt
erf.fixed_mri_dt_ratio = 6

# DIAGNOSTICS & VERBOSITY
erf.sum_interval = 1 # timesteps between computing mass
erf.v = 1 # verbosity in ERF.cpp
amr.v = 1 # verbosity in Amr.cpp

# REFINEMENT / REGRIDDING
amr.max_level = 0 # maximum level number allowed

# CHECKPOINT FILES
erf.check_file = chk # root name of checkpoint file
erf.check_int = -1 # number of timesteps between checkpoints

# PLOTFILES
erf.plot_file_1 = plt # prefix of plotfile name
erf.plot_int_1 = 300 # number of timesteps between plotfiles
erf.plot_vars_1 = density x_velocity y_velocity z_velocity pressure theta rhoQKE Kmv Khv


# SOLVER CHOICE
erf.dycore_vert_adv_type = "Upwind_3rd"
erf.dryscal_vert_adv_type = "Upwind_3rd"

erf.molec_diff_type = "None"

erf.use_gravity = true

# Coriolis parameter f = 1.39e-4 s^-1 (Cuxart et al. 2006)
erf.use_coriolis = true
erf.latitude = 73.0
erf.rotational_time_period = 86455.2516813368

# Geostrophic wind (Cuxart et al. 2006)
erf.abl_driver_type = "GeostrophicWind"
erf.abl_geo_wind = 8.0 0.0 0.0

# Turbulence closure
erf.les_type = "None"

# NOT USED
#erf.rho0_trans = 1.3223 # from Cuxart et al. 2006
#erf.theta_ref = 263.5 # from Cuxart et al. 2006

erf.pbl_type = "MYNN2.5"

# Initial conditions from Beare et al. 2006
prob.KE_0 = 0.4 # [m2/s2]
prob.KE_decay_height = 250. # [m]
prob.KE_decay_order = 1
4 changes: 4 additions & 0 deletions Tests/test_files/ABL_MYNN_PBL/input_sounding_GABLS1
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
1008.0 265.0 0.0
0.0 265.0 0.0 8.0 0.0
100.0 265.0 0.0 8.0 0.0
400.0 268.0 0.0 8.0 0.0

0 comments on commit 2ffbc69

Please sign in to comment.