From 4ecd7fbbc87458a80a9ddf095ea27e7a214e587c Mon Sep 17 00:00:00 2001 From: Mahesh Natarajan Date: Wed, 6 Nov 2024 15:23:44 -0800 Subject: [PATCH 1/3] Updating inputs for squall line and super cell cases for CI testing --- .../SquallLine_2D/inputs_moisture_Gabersek | 7 ----- ..._Supercell_3D => inputs_moisture_Tissaoui} | 31 ++++++------------- 2 files changed, 9 insertions(+), 29 deletions(-) rename Exec/MoistRegTests/SuperCell_3D/{inputs_Supercell_3D => inputs_moisture_Tissaoui} (69%) diff --git a/Exec/MoistRegTests/SquallLine_2D/inputs_moisture_Gabersek b/Exec/MoistRegTests/SquallLine_2D/inputs_moisture_Gabersek index 8c4ac7e2e..46484d4ad 100644 --- a/Exec/MoistRegTests/SquallLine_2D/inputs_moisture_Gabersek +++ b/Exec/MoistRegTests/SquallLine_2D/inputs_moisture_Gabersek @@ -62,13 +62,6 @@ erf.alpha_C = 200.0 erf.moisture_model = "Kessler" erf.use_moist_background = true -erf.dycore_horiz_adv_type = "Centered_2nd" -erf.dycore_vert_adv_type = "Centered_2nd" -erf.dryscal_horiz_adv_type = "Centered_2nd" -erf.dryscal_vert_adv_type = "Centered_2nd" -erf.moistscal_horiz_adv_type = "Centered_2nd" -erf.moistscal_vert_adv_type = "Centered_2nd" - # PROBLEM PARAMETERS (optional) prob.z_tr = 12000.0 prob.height = 1200.0 diff --git a/Exec/MoistRegTests/SuperCell_3D/inputs_Supercell_3D b/Exec/MoistRegTests/SuperCell_3D/inputs_moisture_Tissaoui similarity index 69% rename from Exec/MoistRegTests/SuperCell_3D/inputs_Supercell_3D rename to Exec/MoistRegTests/SuperCell_3D/inputs_moisture_Tissaoui index 55a6955c5..ce618582c 100644 --- a/Exec/MoistRegTests/SuperCell_3D/inputs_Supercell_3D +++ b/Exec/MoistRegTests/SuperCell_3D/inputs_moisture_Tissaoui @@ -1,6 +1,6 @@ # ------------------ INPUTS TO MAIN PROGRAM ------------------- -max_step = 40000 -stop_time = 10000.0 +max_step = 28800 +stop_time = 14400.0 amrex.fpe_trap_invalid = 1 @@ -22,8 +22,9 @@ zlo.type = "SlipWall" zhi.type = "HO_Outflow" # TIME STEP CONTROL -erf.fixed_dt = 0.25 # fixed time step [s] -- Straka et al 1993 -erf.fixed_fast_dt = 0.125 # fixed time step [s] -- Straka et al 1993 +erf.fixed_dt = 0.5 # fixed time step [s] -- Straka et al 1993 +erf.fixed_fast_dt = 0.25 # fixed time step [s] -- Straka et al 1993 +#erf.no_substepping = 1 # DIAGNOSTICS & VERBOSITY erf.sum_interval = 1 # timesteps between computing mass @@ -40,7 +41,7 @@ amr.check_int = 1000 # number of timesteps between checkpoints # PLOTFILES erf.plot_file_1 = plt # root name of plotfile -erf.plot_int_1 = 240 # number of timesteps between plotfiles +erf.plot_int_1 = 120 # number of timesteps between plotfiles erf.plot_vars_1 = density rhotheta rhoQ1 rhoQ2 rhoQ3 x_velocity y_velocity z_velocity pressure theta temp qv qc qrain rain_accum pert_dens # SOLVER CHOICE @@ -59,27 +60,13 @@ erf.les_type = "None" erf.molec_diff_type = "ConstantAlpha" #erf.molec_diff_type = "Constant" erf.rho0_trans = 1.0 # [kg/m^3], used to convert input diffusivities -erf.dynamicViscosity = 66.67 # [kg/(m-s)] ==> nu = 75.0 m^2/s -erf.alpha_T = 66.67 # [m^2/s] -erf.alpha_C = 66.67 +erf.dynamicViscosity = 33.33 # [kg/(m-s)] ==> nu = 75.0 m^2/s +erf.alpha_T = 33.33 # [m^2/s] +erf.alpha_C = 33.33 erf.moisture_model = "Kessler" erf.use_moist_background = true -#erf.dycore_horiz_adv_type = Upwind_3rd -#erf.dycore_vert_adv_type = Upwind_3rd -#erf.dryscal_horiz_adv_type = WENOZ5 -#erf.dryscal_vert_adv_type = WENOZ5 -#erf.moistscal_horiz_adv_type = WENOZ5 -#erf.moistscal_vert_adv_type = WENOZ5 - -erf.dycore_horiz_adv_type = Centered_4th -erf.dycore_vert_adv_type = Centered_4th -erf.dryscal_horiz_adv_type = Centered_4th -erf.dryscal_vert_adv_type = Centered_4th -erf.moistscal_horiz_adv_type = Centered_4th -erf.moistscal_vert_adv_type = Centered_4th - # PROBLEM PARAMETERS (optional) prob.z_tr = 12000.0 prob.height = 1200.0 From ce00d353ef367a960323d07d4536ac1f2a24e5ea Mon Sep 17 00:00:00 2001 From: Mahesh Natarajan Date: Wed, 6 Nov 2024 15:27:49 -0800 Subject: [PATCH 2/3] Updating supercell 3d inputs --- Exec/MoistRegTests/SuperCell_3D/inputs_moisture_Tissaoui | 1 - 1 file changed, 1 deletion(-) diff --git a/Exec/MoistRegTests/SuperCell_3D/inputs_moisture_Tissaoui b/Exec/MoistRegTests/SuperCell_3D/inputs_moisture_Tissaoui index ce618582c..4f19730c9 100644 --- a/Exec/MoistRegTests/SuperCell_3D/inputs_moisture_Tissaoui +++ b/Exec/MoistRegTests/SuperCell_3D/inputs_moisture_Tissaoui @@ -24,7 +24,6 @@ zhi.type = "HO_Outflow" # TIME STEP CONTROL erf.fixed_dt = 0.5 # fixed time step [s] -- Straka et al 1993 erf.fixed_fast_dt = 0.25 # fixed time step [s] -- Straka et al 1993 -#erf.no_substepping = 1 # DIAGNOSTICS & VERBOSITY erf.sum_interval = 1 # timesteps between computing mass From deffbd287ba52120760a19e4b8f4c7f699de189f Mon Sep 17 00:00:00 2001 From: Mahesh Natarajan Date: Mon, 11 Nov 2024 12:54:04 -0800 Subject: [PATCH 3/3] Adding WoA JAMES test case --- .../WitchOfAgnesi_JAMES/CMakeLists.txt | 15 ++ .../WitchOfAgnesi_JAMES/ERF_prob.H | 63 ++++++ .../WitchOfAgnesi_JAMES/ERF_prob.cpp | 163 ++++++++++++++ .../WitchOfAgnesi_JAMES/GNUmakefile | 33 +++ .../WitchOfAgnesi_JAMES/Make.package | 2 + Exec/DryRegTests/WitchOfAgnesi_JAMES/README | 6 + .../WitchOfAgnesi_JAMES/input_sounding | 202 ++++++++++++++++++ Exec/DryRegTests/WitchOfAgnesi_JAMES/inputs | 76 +++++++ 8 files changed, 560 insertions(+) create mode 100644 Exec/DryRegTests/WitchOfAgnesi_JAMES/CMakeLists.txt create mode 100644 Exec/DryRegTests/WitchOfAgnesi_JAMES/ERF_prob.H create mode 100644 Exec/DryRegTests/WitchOfAgnesi_JAMES/ERF_prob.cpp create mode 100644 Exec/DryRegTests/WitchOfAgnesi_JAMES/GNUmakefile create mode 100644 Exec/DryRegTests/WitchOfAgnesi_JAMES/Make.package create mode 100644 Exec/DryRegTests/WitchOfAgnesi_JAMES/README create mode 100644 Exec/DryRegTests/WitchOfAgnesi_JAMES/input_sounding create mode 100644 Exec/DryRegTests/WitchOfAgnesi_JAMES/inputs diff --git a/Exec/DryRegTests/WitchOfAgnesi_JAMES/CMakeLists.txt b/Exec/DryRegTests/WitchOfAgnesi_JAMES/CMakeLists.txt new file mode 100644 index 000000000..1b0c8295f --- /dev/null +++ b/Exec/DryRegTests/WitchOfAgnesi_JAMES/CMakeLists.txt @@ -0,0 +1,15 @@ +set(erf_exe_name erf_witch_of_agnesi) + +add_executable(${erf_exe_name} "") +target_sources(${erf_exe_name} + PRIVATE + ERF_prob.cpp +) + +target_include_directories(${erf_exe_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) + +include(${CMAKE_SOURCE_DIR}/CMake/BuildERFExe.cmake) +build_erf_exe(${erf_exe_name}) + +#find_package(AMReX) +#target_link_libraries( ${_target} AMReX::amrex) diff --git a/Exec/DryRegTests/WitchOfAgnesi_JAMES/ERF_prob.H b/Exec/DryRegTests/WitchOfAgnesi_JAMES/ERF_prob.H new file mode 100644 index 000000000..e8d701b3b --- /dev/null +++ b/Exec/DryRegTests/WitchOfAgnesi_JAMES/ERF_prob.H @@ -0,0 +1,63 @@ +#ifndef ERF_PROB_H_ +#define ERF_PROB_H_ + +#include + +#include "AMReX_REAL.H" + +#include "ERF_prob_common.H" + +struct ProbParm : ProbParmDefaults { + // perturbations to initial conditions + amrex::Real rho_0 = 0.0; + amrex::Real T_0 = 0.0; + amrex::Real U_0 = 0.0; + amrex::Real V_0 = 0.0; + amrex::Real W_0 = 0.0; // needed for rayleigh damping + + // hill parameters + amrex::Real hmax = 0.0; // full hill height, can be negative to simulate valleys + amrex::Real L = 0.0; // hill length at half-height +}; // namespace ProbParm + +class Problem : public ProblemBase +{ +public: + Problem(); + +#include "Prob/ERF_init_density_hse_dry.H" +#include "Prob/ERF_init_rayleigh_damping.H" + + void init_custom_pert ( + const amrex::Box& bx, + const amrex::Box& xbx, + const amrex::Box& ybx, + const amrex::Box& zbx, + amrex::Array4 const& state, + amrex::Array4 const& state_pert, + amrex::Array4 const& x_vel_pert, + amrex::Array4 const& y_vel_pert, + amrex::Array4 const& z_vel_pert, + amrex::Array4 const& r_hse, + amrex::Array4 const& p_hse, + amrex::Array4 const& z_nd, + amrex::Array4 const& z_cc, + amrex::GeometryData const& geomdata, + amrex::Array4 const& mf_m, + amrex::Array4 const& mf_u, + amrex::Array4 const& mf_v, + const SolverChoice& sc) override; + + void init_custom_terrain ( + const amrex::Geometry& geom, + amrex::MultiFab& z_phys_nd, + const amrex::Real& time) override; + +protected: + std::string name() override { return "Witch of Agnesi Hill"; } + +private: + ProbParm parms; +}; + +#endif diff --git a/Exec/DryRegTests/WitchOfAgnesi_JAMES/ERF_prob.cpp b/Exec/DryRegTests/WitchOfAgnesi_JAMES/ERF_prob.cpp new file mode 100644 index 000000000..d30a98cc7 --- /dev/null +++ b/Exec/DryRegTests/WitchOfAgnesi_JAMES/ERF_prob.cpp @@ -0,0 +1,163 @@ +#include "ERF_prob.H" +#include "ERF_TerrainMetrics.H" + +using namespace amrex; + +std::unique_ptr +amrex_probinit ( + const amrex_real* /*problo*/, + const amrex_real* /*probhi*/) +{ + return std::make_unique(); +} + +Problem::Problem () +{ + // Parse params + ParmParse pp("prob"); + pp.query("rho_0", parms.rho_0); + pp.query("T_0", parms.T_0); + pp.query("U_0", parms.U_0); + pp.query("V_0", parms.V_0); + pp.query("W_0", parms.W_0); + + pp.query("hmax", parms.hmax); + pp.query("L", parms.L); + + init_base_parms(parms.rho_0, parms.T_0); +} + +void +Problem::init_custom_pert ( + const Box& bx, + const Box& xbx, + const Box& ybx, + const Box& zbx, + Array4 const& /*state*/, + Array4 const& state_pert, + Array4 const& x_vel_pert, + Array4 const& y_vel_pert, + Array4 const& z_vel_pert, + Array4 const& /*r_hse*/, + Array4 const& /*p_hse*/, + Array4 const& z_nd, + Array4 const& /*z_cc*/, + GeometryData const& geomdata, + Array4 const& /*mf_m*/, + Array4 const& /*mf_u*/, + Array4 const& /*mf_v*/, + const SolverChoice& sc) +{ + const bool use_moisture = (sc.moisture_type != MoistureType::None); + + ParallelFor(bx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept + { + // Set scalar = 0 everywhere + state_pert(i, j, k, RhoScalar_comp) = 0.0; + + if (use_moisture) { + state_pert(i, j, k, RhoQ1_comp) = 0.0; + state_pert(i, j, k, RhoQ2_comp) = 0.0; + } + }); + + // Set the x-velocity + ParallelFor(xbx, [=, parms_d=parms] AMREX_GPU_DEVICE(int i, int j, int k) noexcept + { + x_vel_pert(i, j, k) = parms_d.U_0; + }); + + // Set the y-velocity + ParallelFor(ybx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept + { + y_vel_pert(i, j, k) = 0.0; + }); + + const auto dx = geomdata.CellSize(); + amrex::GpuArray dxInv; + dxInv[0] = 1. / dx[0]; + dxInv[1] = 1. / dx[1]; + dxInv[2] = 1. / dx[2]; + + // Set the z-velocity from impenetrable condition + ParallelFor(zbx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept + { + z_vel_pert(i, j, k) = WFromOmega(i, j, k, 0.0, x_vel_pert, y_vel_pert, z_nd, dxInv); + }); + + amrex::Gpu::streamSynchronize(); +} + +void +Problem::init_custom_terrain ( + const Geometry& geom, + MultiFab& z_phys_nd, + const Real& time) +{ + + // Check if a valid text file exists for the terrain + std::string fname; + ParmParse pp("erf"); + auto valid_fname = pp.query("terrain_file_name",fname); + if (valid_fname) { + this->read_custom_terrain(fname,geom,z_phys_nd,time); + } else { + // Domain cell size and real bounds + auto dx = geom.CellSizeArray(); + auto ProbLoArr = geom.ProbLoArray(); + auto ProbHiArr = geom.ProbHiArray(); + + // Domain valid box (z_nd is nodal) + const amrex::Box& domain = geom.Domain(); + int domlo_x = domain.smallEnd(0); int domhi_x = domain.bigEnd(0) + 1; + // int domlo_y = domain.smallEnd(1); int domhi_y = domain.bigEnd(1) + 1; + int domlo_z = domain.smallEnd(2); + + // User function parameters + Real a = 0.5; + Real num = 8 * a * a * a; + Real xcen = 0.5 * (ProbLoArr[0] + ProbHiArr[0]); + // Real ycen = 0.5 * (ProbLoArr[1] + ProbHiArr[1]); + + // if hm is nonzero, then use alternate hill definition + Real hm = parms.hmax; + Real L = parms.L; + + // Number of ghost cells + int ngrow = z_phys_nd.nGrow(); + + // Populate bottom plane + int k0 = domlo_z; + + for ( amrex::MFIter mfi(z_phys_nd,amrex::TilingIfNotGPU()); mfi.isValid(); ++mfi ) + { + amrex::Box zbx = mfi.nodaltilebox(2); + if (zbx.smallEnd(2) > k0) continue; + + // Grown box with no z range + amrex::Box xybx = mfi.growntilebox(ngrow); + xybx.setRange(2,0); + + amrex::Array4 const& z_arr = z_phys_nd.array(mfi); + + ParallelFor(xybx, [=] AMREX_GPU_DEVICE (int i, int j, int) + { + // Clip indices for ghost-cells + int ii = amrex::min(amrex::max(i,domlo_x),domhi_x); + // int jj = amrex::min(amrex::max(j,domlo_y),domhi_y); + + // Location of nodes + Real x = (ProbLoArr[0] + ii * dx[0] - xcen); + // Real y = (jj * dx[1] - ycen); + + // WoA Hill in x-direction + if (hm==0) { + z_arr(i,j,k0) = num / (x*x + 4 * a * a); + } else { + Real x_L = x / L; + z_arr(i,j,k0) = hm / (1 + x_L*x_L); + } + }); + } + } +} diff --git a/Exec/DryRegTests/WitchOfAgnesi_JAMES/GNUmakefile b/Exec/DryRegTests/WitchOfAgnesi_JAMES/GNUmakefile new file mode 100644 index 000000000..eb058c96c --- /dev/null +++ b/Exec/DryRegTests/WitchOfAgnesi_JAMES/GNUmakefile @@ -0,0 +1,33 @@ +# AMReX +COMP = gnu +PRECISION = DOUBLE + +# Profiling +PROFILE = FALSE +TINY_PROFILE = FALSE +COMM_PROFILE = FALSE +TRACE_PROFILE = FALSE +MEM_PROFILE = FALSE +USE_GPROF = FALSE + +# Performance +USE_MPI = TRUE +USE_OMP = FALSE + +USE_CUDA = FALSE +USE_HIP = FALSE +USE_SYCL = FALSE + +# Debugging +DEBUG = FALSE + +TEST = TRUE +USE_ASSERTION = TRUE + +# GNU Make +Bpack := ./Make.package +Blocs := . + +ERF_HOME := ../../.. +ERF_PROBLEM_DIR = $(ERF_HOME)/Exec/DryRegTests/WitchOfAgnesi_JAMES +include $(ERF_HOME)/Exec/Make.ERF diff --git a/Exec/DryRegTests/WitchOfAgnesi_JAMES/Make.package b/Exec/DryRegTests/WitchOfAgnesi_JAMES/Make.package new file mode 100644 index 000000000..5fc21f61c --- /dev/null +++ b/Exec/DryRegTests/WitchOfAgnesi_JAMES/Make.package @@ -0,0 +1,2 @@ +CEXE_headers += ERF_prob.H +CEXE_sources += ERF_prob.cpp diff --git a/Exec/DryRegTests/WitchOfAgnesi_JAMES/README b/Exec/DryRegTests/WitchOfAgnesi_JAMES/README new file mode 100644 index 000000000..cacb58b78 --- /dev/null +++ b/Exec/DryRegTests/WitchOfAgnesi_JAMES/README @@ -0,0 +1,6 @@ +This problem setup is for flow over an idealized hill with a "Witch of Agnesi" profile. +The domain is periodic in the y-direction, with inflow at low x and outflow at high x. +The terrain-fitted coordinates follow the contour of the hill. + +This problem is primarily designed to test the implementation of the terrain-fitted coordinates. + diff --git a/Exec/DryRegTests/WitchOfAgnesi_JAMES/input_sounding b/Exec/DryRegTests/WitchOfAgnesi_JAMES/input_sounding new file mode 100644 index 000000000..d91f8160c --- /dev/null +++ b/Exec/DryRegTests/WitchOfAgnesi_JAMES/input_sounding @@ -0,0 +1,202 @@ +1000 300 0 +0 300 0 10 0 +0.1 300.000305810553 0 10 0 +0.160723065020908 300.000491508247 0 10 0 +0.224482283292861 300.000686490948 0 10 0 +0.291429462478412 300.000891222922 0 10 0 +0.361724000623241 300.001106191644 0 10 0 +0.435533265675311 300.001331908968 0 10 0 +0.513032993979984 300.001568912341 0 10 0 +0.594407708699891 300.001817766084 0 10 0 +0.679851159155793 300.002079062737 0 10 0 +0.769566782134491 300.002353424467 0 10 0 +0.863768186262123 300.002641504554 0 10 0 +0.962679660596138 300.002943988942 0 10 0 +1.06653670864685 300.003261597879 0 10 0 +1.1755866091001 300.003595087624 0 10 0 +1.29008900457602 300.003945252255 0 10 0 +1.41031651982572 300.004312925558 0 10 0 +1.53655541083792 300.004698983011 0 10 0 +1.66910624640072 300.005104343871 0 10 0 +1.80828462374167 300.005529973364 0 10 0 +1.95442191994966 300.005976884981 0 10 0 +2.10786608096805 300.006446142896 0 10 0 +2.26898245003736 300.006938864496 0 10 0 +2.43815463756014 300.007456223047 0 10 0 +2.61578543445905 300.007999450486 0 10 0 +2.80229777120291 300.008569840356 0 10 0 +2.99813572478396 300.009168750886 0 10 0 +3.20376557604407 300.00979760823 0 10 0 +3.41967691986718 300.010457909859 0 10 0 +3.64638383088145 300.011151228134 0 10 0 +3.88442608744643 300.011879214047 0 10 0 +4.13437045683966 300.012643601157 0 10 0 +4.39681204470255 300.013446209719 0 10 0 +4.67237571195859 300.014288951019 0 10 0 +4.96171756257742 300.015173831933 0 10 0 +5.2655265057272 300.016102959701 0 10 0 +5.58452589603447 300.017078546954 0 10 0 +5.9194752558571 300.018102916984 0 10 0 +6.27117208367086 300.01917850928 0 10 0 +6.64045375287532 300.02030788534 0 10 0 +7.02819950553999 300.02149373478 0 10 0 +7.4353325458379 300.022738881736 0 10 0 +7.8628222381507 300.024046291601 0 10 0 +8.31168641507915 300.025419078091 0 10 0 +8.78299380085401 300.026860510666 0 10 0 +9.27786655591762 300.028374022323 0 10 0 +9.79748294873441 300.02996321778 0 10 0 +10.343080161192 300.03163188207 0 10 0 +10.9159572342726 300.033383989562 0 10 0 +11.5174781610071 300.03522371344 0 10 0 +12.1490751340783 300.037155435654 0 10 0 +12.8122519558032 300.039183757364 0 10 0 +13.5085876186142 300.041313509916 0 10 0 +14.2397400645659 300.043549766366 0 10 0 +15.0074501328151 300.045897853577 0 10 0 +15.8135457044767 300.048363364926 0 10 0 +16.6599460547215 300.050952173646 0 10 0 +17.5486664224785 300.053670446841 0 10 0 +18.4818228086233 300.056524660199 0 10 0 +19.4616370140754 300.059521613446 0 10 0 +20.4904419298 300.062668446572 0 10 0 +21.5706870913109 300.065972656871 0 10 0 +22.7049445108974 300.069442116846 0 10 0 +23.8959148014632 300.073085092993 0 10 0 +25.1464336065572 300.076910265546 0 10 0 +26.459478351906 300.080926749207 0 10 0 +27.8381753345222 300.08514411491 0 10 0 +29.2858071662692 300.089572412689 0 10 0 +30.8058205896036 300.094222195688 0 10 0 +32.4018346841047 300.099104545376 0 10 0 +34.0776494833309 300.104231098039 0 10 0 +35.8372550225183 300.109614072588 0 10 0 +37.6848408386651 300.115266299782 0 10 0 +39.6248059456193 300.121201252906 0 10 0 +41.6617693079212 300.127433080003 0 10 0 +43.8005808383381 300.133976637721 0 10 0 +46.046332945276 300.14084752687 0 10 0 +48.4043726575607 300.148062129764 0 10 0 +50.8803143554596 300.155637649446 0 10 0 +53.4800531382535 300.163592150892 0 10 0 +56.2097788601871 300.171944604288 0 10 0 +59.0759908682173 300.180714930494 0 10 0 +62.0855134766491 300.189924048799 0 10 0 +65.2455122155025 300.199593927083 0 10 0 +68.5635108912985 300.209747634525 0 10 0 +72.0474095008844 300.220409396956 0 10 0 +75.7055030409495 300.231604655027 0 10 0 +79.5465012580179 300.243360125306 0 10 0 +83.5795493859397 300.255703864478 0 10 0 +87.8142499202576 300.268665336786 0 10 0 +92.2606854812914 300.282275484895 0 10 0 +96.9294428203768 300.29656680435 0 10 0 +101.831638026417 300.311573421807 0 10 0 +106.978942992758 300.32733117724 0 10 0 +112.383613207417 300.343877710322 0 10 0 +118.058516932809 300.361252551202 0 10 0 +124.01716584447 300.3794972159 0 10 0 +130.273747201715 300.39865530656 0 10 0 +136.843157626821 300.418772616821 0 10 0 +143.741038573183 300.439897242553 0 10 0 +150.983813566863 300.462079698262 0 10 0 +158.588727310228 300.485373039445 0 10 0 +166.57388674076 300.509832991201 0 10 0 +174.958304142819 300.535518083443 0 10 0 +183.761942414981 300.562489793045 0 10 0 +193.005762600751 300.590812693291 0 10 0 +202.711773795809 300.620554611012 0 10 0 +212.90308555062 300.651786791824 0 10 0 +223.603962893172 300.684584073882 0 10 0 +234.839884102852 300.719025070621 0 10 0 +246.637601373015 300.755192362945 0 10 0 +259.025204506687 300.793172701387 0 10 0 +272.032187797042 300.833057218757 0 10 0 +285.689520251915 300.874941653865 0 10 0 +300.029719329532 300.918926586887 0 10 0 +315.086928361029 300.965117687037 0 10 0 +330.896997844102 301.013625973195 0 10 0 +347.497570801328 301.064568088193 0 10 0 +364.928172406415 301.118066587535 0 10 0 +383.230304091757 301.174250243313 0 10 0 +402.447542361366 301.233254364182 0 10 0 +422.625642544455 301.29522113227 0 10 0 +443.812647736698 301.360299957982 0 10 0 +466.059003188554 301.428647853691 0 10 0 +489.417676413003 301.500429827374 0 10 0 +513.944283298674 301.575819297339 0 10 0 +539.697220528629 301.654998529233 0 10 0 +566.737804620081 301.738159096591 0 10 0 +595.130417916106 301.825502366315 0 10 0 +624.942661876932 301.917240010488 0 10 0 +656.2455180358 302.013594546083 0 10 0 +689.113517002611 302.114799904181 0 10 0 +723.624915917762 302.221102030456 0 10 0 +759.861884778671 302.332759518767 0 10 0 +797.910702082626 302.450044279837 0 10 0 +837.861960251778 302.573242247137 0 10 0 +879.810781329388 302.702654122226 0 10 0 +923.857043460878 302.838596161948 0 10 0 +970.105618698943 302.981401010067 0 10 0 +1018.66662269891 303.131418576098 0 10 0 +1069.65567689888 303.289016964272 0 10 0 +1123.19418380884 303.454583455798 0 10 0 +1179.40961606431 303.628525547815 0 10 0 +1238.43581993254 303.811272052652 0 10 0 +1300.41333399419 304.003274261307 0 10 0 +1365.48972375892 304.20500717532 0 10 0 +1433.81993301189 304.416970811561 0 10 0 +1505.5666527275 304.639691584752 0 10 0 +1580.9007084289 304.873723772962 0 10 0 +1660.00146691536 305.119651071676 0 10 0 +1743.05726332615 305.378088242506 0 10 0 +1830.26584955748 305.649682863082 0 10 0 +1921.83486510038 305.935117185178 0 10 0 +2017.98233142042 306.235110108722 0 10 0 +2118.93717105646 306.550419279929 0 10 0 +2224.9397526743 306.881843322521 0 10 0 +2336.24246337304 307.230224211701 0 10 0 +2453.11030960671 307.59644980141 0 10 0 +2575.82154815207 307.981456516271 0 10 0 +2704.66834862469 308.386232220612 0 10 0 +2839.95748912095 308.811819278049 0 10 0 +2982.01108664202 309.259317816308 0 10 0 +3131.16736403914 309.729889213266 0 10 0 +3287.78145530612 310.224759821641 0 10 0 +3452.22625113645 310.745224951361 0 10 0 +3624.89328675829 311.292653130385 0 10 0 +3806.19367416122 311.868490666714 0 10 0 +3996.55908093431 312.47426653646 0 10 0 +4196.44275804604 313.111597625229 0 10 0 +4406.32061901337 313.782194352696 0 10 0 +4626.69237302906 314.487866713194 0 10 0 +4858.08271474553 315.230530768355 0 10 0 +5101.04257354783 316.012215631462 0 10 0 +5356.15042529024 316.835070987167 0 10 0 +5624.01366961977 317.701375194693 0 10 0 +5905.27007616578 318.613544027622 0 10 0 +6200.58930303909 319.574140108901 0 10 0 +6510.67449125607 320.585883105897 0 10 0 +6836.26393888389 321.651660757288 0 10 0 +7178.13285889311 322.774540811279 0 10 0 +7537.09522490278 323.957783963396 0 10 0 +7914.00570921294 325.204857891787 0 10 0 +8309.76171773861 326.519452498994 0 10 0 +8725.30552669056 327.905496481415 0 10 0 +9161.62652609011 329.367175361605 0 10 0 +9619.76357545964 330.908951134176 0 10 0 +10100.8074772976 332.535583693757 0 10 0 +10605.9035742275 334.25215423341 0 10 0 +11136.2544760039 336.064090824536 0 10 0 +11693.1229228692 337.977196414921 0 10 0 +12277.8347920776 339.997679510655 0 10 0 +12891.7822547466 342.132187840735 0 10 0 +13536.4270905489 344.387845340804 0 10 0 +14213.3041681414 346.772292835399 0 10 0 +14924.0250996135 349.29373284709 0 10 0 +15670.2820776592 351.960979016934 0 10 0 +16453.8519046071 354.783510684875 0 10 0 +17276.6002229025 357.77153325238 0 10 0 +18140.4859571127 360.936045034252 0 10 0 +19047.5659780333 364.288911404021 0 10 0 +20000 367.84294714969 0 10 0 diff --git a/Exec/DryRegTests/WitchOfAgnesi_JAMES/inputs b/Exec/DryRegTests/WitchOfAgnesi_JAMES/inputs new file mode 100644 index 000000000..36c65d32e --- /dev/null +++ b/Exec/DryRegTests/WitchOfAgnesi_JAMES/inputs @@ -0,0 +1,76 @@ +# ------------------ INPUTS TO MAIN PROGRAM ------------------- +max_step = 3000000 + +amrex.fpe_trap_invalid = 0 + +fabarray.mfiter_tile_size = 1024 1024 1024 + +# PROBLEM SIZE & GEOMETRY +geometry.prob_lo = -72000. 0. 0. +geometry.prob_hi = 72000. 1. 20000. # zhi not used with grid stretching +amr.n_cell = 288 1 200 + +geometry.is_periodic = 0 1 0 + +#erf.initial_dz = 10 +#erf.grid_stretching_ratio = 1.03 + +erf.terrain_z_levels = 0.000000 0.100000 0.160723 0.224482 0.291429 0.361724 0.435533 0.513033 0.594408 0.679851 0.769567 0.863768 0.962680 1.066537 1.175587 1.290089 1.410317 1.536555 1.669106 1.808285 1.954422 2.107866 2.268982 2.438155 2.615785 2.802298 2.998136 3.203766 3.419677 3.646384 3.884426 4.134370 4.396812 4.672376 4.961718 5.265527 5.584526 5.919475 6.271172 6.640454 7.028200 7.435333 7.862822 8.311686 8.782994 9.277867 9.797483 10.343080 10.915957 11.517478 12.149075 12.812252 13.508588 14.239740 15.007450 15.813546 16.659946 17.548666 18.481823 19.461637 20.490442 21.570687 22.704945 23.895915 25.146434 26.459478 27.838175 29.285807 30.805821 32.401835 34.077649 35.837255 37.684841 39.624806 41.661769 43.800581 46.046333 48.404373 50.880314 53.480053 56.209779 59.075991 62.085513 65.245512 68.563511 72.047410 75.705503 79.546501 83.579549 87.814250 92.260685 96.929443 101.831638 106.978943 112.383613 118.058517 124.017166 130.273747 136.843158 143.741039 150.983814 158.588727 166.573887 174.958304 183.761942 193.005763 202.711774 212.903086 223.603963 234.839884 246.637601 259.025205 272.032188 285.689520 300.029719 315.086928 330.896998 347.497571 364.928172 383.230304 402.447542 422.625643 443.812648 466.059003 489.417676 513.944283 539.697221 566.737805 595.130418 624.942662 656.245518 689.113517 723.624916 759.861885 797.910702 837.861960 879.810781 923.857043 970.105619 1018.666623 1069.655677 1123.194184 1179.409616 1238.435820 1300.413334 1365.489724 1433.819933 1505.566653 1580.900708 1660.001467 1743.057263 1830.265850 1921.834865 2017.982331 2118.937171 2224.939753 2336.242463 2453.110310 2575.821548 2704.668349 2839.957489 2982.011087 3131.167364 3287.781455 3452.226251 3624.893287 3806.193674 3996.559081 4196.442758 4406.320619 4626.692373 4858.082715 5101.042574 5356.150425 5624.013670 5905.270076 6200.589303 6510.674491 6836.263939 7178.132859 7537.095225 7914.005709 8309.761718 8725.305527 9161.626526 9619.763575 10100.807477 10605.903574 11136.254476 11693.122923 12277.834792 12891.782255 13536.427091 14213.304168 14924.025100 15670.282078 16453.851905 17276.600223 18140.485957 19047.565978 20000.000000 + +xlo.type = "Inflow" +xhi.type = "Outflow" +xlo.velocity = 10. 0. 0. +#xlo.density = 1.0 +#xlo.theta = 300. +#xlo.scalar = 0. + +zlo.type = "SlipWall" +zhi.type = "SlipWall" +#zhi.theta_grad = 0.003 + +# TIME STEP CONTROL +#erf.substepping_type = None +erf.fixed_mri_dt_ratio = 4 +erf.fixed_dt = 0.03 + +# 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 = 1000 # number of timesteps between checkpoints + +# PLOTFILES +erf.plot_file_1 = plt # prefix of plotfile name +erf.plot_int_1 = 5000 # number of timesteps between plotfiles +erf.plot_vars_1 = density x_velocity y_velocity z_velocity pressure theta pert_pres pert_dens + +# SOLVER CHOICE +erf.use_gravity = true +erf.use_coriolis = false +erf.les_type = "None" + +erf.molec_diff_type = "None" +#erf.dynamicViscosity = 1e-5 # [kg/(m-s)] + +erf.rayleigh_damp_W = true +erf.rayleigh_zdamp = 5000.0 +erf.rayleigh_dampcoef = 0.2 + +erf.init_type = "input_sounding" +erf.init_sounding_ideal = true + +# TERRRAIN GRID TYPE +erf.use_terrain = 1 +#erf.terrain_smoothing = 1 # Smoothed Terrain Following coords (Klemp 2011) +#erf.terrain_gamma_m = 0.5 +erf.terrain_smoothing = 2 # Sullivan TF + +# PROBLEM PARAMETERS +prob.hmax = 1.0 # full hill height +prob.L = 1000.0 # hill length at half-height