diff --git a/Docs/sphinx_doc/RegressionTests.rst b/Docs/sphinx_doc/RegressionTests.rst index f61a68b53..827992b4a 100644 --- a/Docs/sphinx_doc/RegressionTests.rst +++ b/Docs/sphinx_doc/RegressionTests.rst @@ -452,4 +452,4 @@ Test Location: `Tests/test_files/EkmanSpiral`_ Problem Location: `Exec/RegTests/EkmanSpiral`_ -.. _`Exec/RegTests/EkmanSpiral`: https://github.com/erf-model/ERF/tree/development/Exec/RegTests/EkmanSpiral_ideal +.. _`Exec/RegTests/EkmanSpiral`: https://github.com/erf-model/ERF/tree/development/Exec/RegTests/EkmanSpiral diff --git a/Exec/CMakeLists.txt b/Exec/CMakeLists.txt index 520293bad..cf2125595 100644 --- a/Exec/CMakeLists.txt +++ b/Exec/CMakeLists.txt @@ -9,7 +9,7 @@ elseif (ERF_ENABLE_REGRESSION_TESTS_ONLY) add_subdirectory(RegTests/Couette_Poiseuille) add_subdirectory(RegTests/DensityCurrent) add_subdirectory(RegTests/DynamicRefinement) - add_subdirectory(RegTests/EkmanSpiral_custom) + add_subdirectory(RegTests/EkmanSpiral) add_subdirectory(RegTests/IsentropicVortex) add_subdirectory(RegTests/ScalarAdvDiff) add_subdirectory(RegTests/TaylorGreenVortex) @@ -23,9 +23,7 @@ else () add_subdirectory(RegTests/Couette_Poiseuille) add_subdirectory(RegTests/DensityCurrent) add_subdirectory(RegTests/DynamicRefinement) - add_subdirectory(RegTests/EkmanSpiral_custom) - add_subdirectory(RegTests/EkmanSpiral_ideal) - add_subdirectory(RegTests/EkmanSpiral_input_sounding) + add_subdirectory(RegTests/EkmanSpiral) add_subdirectory(RegTests/IsentropicVortex) add_subdirectory(RegTests/ParticlesOverWoA) add_subdirectory(RegTests/ScalarAdvDiff) diff --git a/Exec/RegTests/EkmanSpiral_ideal/CMakeLists.txt b/Exec/RegTests/EkmanSpiral/CMakeLists.txt similarity index 86% rename from Exec/RegTests/EkmanSpiral_ideal/CMakeLists.txt rename to Exec/RegTests/EkmanSpiral/CMakeLists.txt index c24400f78..8dd363950 100644 --- a/Exec/RegTests/EkmanSpiral_ideal/CMakeLists.txt +++ b/Exec/RegTests/EkmanSpiral/CMakeLists.txt @@ -1,4 +1,4 @@ -set(erf_exe_name erf_ekman_spiral_ideal) +set(erf_exe_name erf_ekman_spiral) add_executable(${erf_exe_name} "") target_sources(${erf_exe_name} diff --git a/Exec/RegTests/EkmanSpiral_custom/GNUmakefile b/Exec/RegTests/EkmanSpiral/GNUmakefile similarity index 87% rename from Exec/RegTests/EkmanSpiral_custom/GNUmakefile rename to Exec/RegTests/EkmanSpiral/GNUmakefile index 6baf61922..2760eb8e6 100644 --- a/Exec/RegTests/EkmanSpiral_custom/GNUmakefile +++ b/Exec/RegTests/EkmanSpiral/GNUmakefile @@ -29,5 +29,5 @@ Bpack := ./Make.package Blocs := . ERF_HOME := ../../.. -ERF_PROBLEM_DIR = $(ERF_HOME)/Exec/RegTests/EkmanSpiral_custom +ERF_PROBLEM_DIR = $(ERF_HOME)/Exec/RegTests/EkmanSpiral include $(ERF_HOME)/Exec/Make.ERF diff --git a/Exec/RegTests/EkmanSpiral_custom/Make.package b/Exec/RegTests/EkmanSpiral/Make.package similarity index 100% rename from Exec/RegTests/EkmanSpiral_custom/Make.package rename to Exec/RegTests/EkmanSpiral/Make.package diff --git a/Exec/RegTests/EkmanSpiral_ideal/README b/Exec/RegTests/EkmanSpiral/README similarity index 54% rename from Exec/RegTests/EkmanSpiral_ideal/README rename to Exec/RegTests/EkmanSpiral/README index c03f14368..2950db095 100644 --- a/Exec/RegTests/EkmanSpiral_ideal/README +++ b/Exec/RegTests/EkmanSpiral/README @@ -5,6 +5,13 @@ internally and at no-slip walls. A description of the problem, including the exact solution, can be found at https://exawind.github.io/amr-wind/developer/verification.html#ekman-spiral . -The version of the Ekman spiral test in this directory initializes the solution +When the executable here is run with inputs_custom, the solution is initialized +in prob.cpp from the exact solution. + +When the executable here is run with inputs_ideal, the solution is initialized from the wrfinput_ekman_d01 file, thus this is also a test of ERF's ability to initialize from WPS "ideal" files. + +When the executable here is run with inputs_input_sounding, the solution is initialized +from the input_sounding_file, thus this is also a test of ERF's ability to +initialize from input soundings. diff --git a/Exec/RegTests/EkmanSpiral_custom/check_convergence.py b/Exec/RegTests/EkmanSpiral/check_convergence.py similarity index 100% rename from Exec/RegTests/EkmanSpiral_custom/check_convergence.py rename to Exec/RegTests/EkmanSpiral/check_convergence.py diff --git a/Exec/RegTests/EkmanSpiral_input_sounding/input_sounding_file b/Exec/RegTests/EkmanSpiral/input_sounding_file similarity index 100% rename from Exec/RegTests/EkmanSpiral_input_sounding/input_sounding_file rename to Exec/RegTests/EkmanSpiral/input_sounding_file diff --git a/Exec/RegTests/EkmanSpiral_custom/inputs_ex b/Exec/RegTests/EkmanSpiral/inputs_custom similarity index 100% rename from Exec/RegTests/EkmanSpiral_custom/inputs_ex rename to Exec/RegTests/EkmanSpiral/inputs_custom diff --git a/Exec/RegTests/EkmanSpiral_ideal/inputs_ideal_EkmanSpiral b/Exec/RegTests/EkmanSpiral/inputs_ideal similarity index 100% rename from Exec/RegTests/EkmanSpiral_ideal/inputs_ideal_EkmanSpiral rename to Exec/RegTests/EkmanSpiral/inputs_ideal diff --git a/Exec/RegTests/EkmanSpiral_input_sounding/inputs_input_sounding_EkmanSpiral b/Exec/RegTests/EkmanSpiral/inputs_input_sounding similarity index 100% rename from Exec/RegTests/EkmanSpiral_input_sounding/inputs_input_sounding_EkmanSpiral rename to Exec/RegTests/EkmanSpiral/inputs_input_sounding diff --git a/Exec/RegTests/EkmanSpiral_custom/prob.H b/Exec/RegTests/EkmanSpiral/prob.H similarity index 100% rename from Exec/RegTests/EkmanSpiral_custom/prob.H rename to Exec/RegTests/EkmanSpiral/prob.H diff --git a/Exec/RegTests/EkmanSpiral_custom/prob.cpp b/Exec/RegTests/EkmanSpiral/prob.cpp similarity index 89% rename from Exec/RegTests/EkmanSpiral_custom/prob.cpp rename to Exec/RegTests/EkmanSpiral/prob.cpp index 6a64894c1..0e0773968 100644 --- a/Exec/RegTests/EkmanSpiral_custom/prob.cpp +++ b/Exec/RegTests/EkmanSpiral/prob.cpp @@ -41,17 +41,17 @@ Problem::init_custom_pert( Array4 const& /*mf_v*/, const SolverChoice& sc) { + // + // NOTE: this routine is only called when doing custom initialization! + // + // In the case of initializng from an input sounding or from a wrfinput file, + // this routine will not be called. + // + const bool use_moisture = (sc.moisture_type != MoistureType::None); ParallelFor(bx, [=, parms=parms] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { - // Geometry - //const Real* prob_lo = geomdata.ProbLo(); - //const auto dx = geomdata.CellSize(); - //const Real x = prob_lo[0] + (i + 0.5) * dx[0]; - //const Real y = prob_lo[1] + (j + 0.5) * dx[1]; - //const Real z = prob_lo[2] + (k + 0.5) * dx[2]; - // Set scalar = 0 everywhere state_pert(i, j, k, RhoScalar_comp) = 0.0; @@ -79,7 +79,6 @@ Problem::init_custom_pert( const Real u_0 = abl_geo_wind[0]; const Real DE = std::sqrt(2.0 * Az / coriolis_factor); - //amrex::Print() << "Ekman depth = " << DE << " m" << std::endl; const Real a = 1.0 / DE; // Set the x-velocity diff --git a/Exec/RegTests/EkmanSpiral_custom/run_convergence_study.sh b/Exec/RegTests/EkmanSpiral/run_convergence_study.sh similarity index 100% rename from Exec/RegTests/EkmanSpiral_custom/run_convergence_study.sh rename to Exec/RegTests/EkmanSpiral/run_convergence_study.sh diff --git a/Exec/RegTests/EkmanSpiral_ideal/wrfinput_ekman_d01 b/Exec/RegTests/EkmanSpiral/wrfinput_ekman_d01 similarity index 100% rename from Exec/RegTests/EkmanSpiral_ideal/wrfinput_ekman_d01 rename to Exec/RegTests/EkmanSpiral/wrfinput_ekman_d01 diff --git a/Exec/RegTests/EkmanSpiral_custom/CMakeLists.txt b/Exec/RegTests/EkmanSpiral_custom/CMakeLists.txt deleted file mode 100644 index 62973d61f..000000000 --- a/Exec/RegTests/EkmanSpiral_custom/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -set(erf_exe_name erf_ekman_spiral_custom) - -add_executable(${erf_exe_name} "") -target_sources(${erf_exe_name} - PRIVATE - 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}) diff --git a/Exec/RegTests/EkmanSpiral_custom/README b/Exec/RegTests/EkmanSpiral_custom/README deleted file mode 100644 index 48fb9d3c2..000000000 --- a/Exec/RegTests/EkmanSpiral_custom/README +++ /dev/null @@ -1,10 +0,0 @@ -This problem setup is for the classic Ekman Spiral test. The Ekman spiral problem -tests Coriolis and geostrophic forcing as well as the computation of the stress term -internally and at no-slip walls. - -A description of the problem, including the exact solution, can be found at -https://exawind.github.io/amr-wind/developer/verification.html#ekman-spiral . - -The version of the Ekman spiral test in this directory initializes the solution -from the exact solution. See https://erf.readthedocs.io/en/latest/RegressionTests.html -for plots of the solution and a convergence study. diff --git a/Exec/RegTests/EkmanSpiral_ideal/GNUmakefile b/Exec/RegTests/EkmanSpiral_ideal/GNUmakefile deleted file mode 100644 index 7ac1c09ab..000000000 --- a/Exec/RegTests/EkmanSpiral_ideal/GNUmakefile +++ /dev/null @@ -1,39 +0,0 @@ -# AMReX -COMP = gnu -PRECISION = DOUBLE - -TEST = TRUE -USE_ASSERTION = TRUE - -# 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 - -USE_NETCDF = TRUE -USE_HDF5 = TRUE - -# GNU Make -Bpack := ./Make.package -Blocs := . - -ERF_HOME := ../../.. -ERF_PROBLEM_DIR = $(ERF_HOME)/Exec/RegTests/EkmanSpiral_ideal -include $(ERF_HOME)/Exec/Make.ERF diff --git a/Exec/RegTests/EkmanSpiral_ideal/Make.package b/Exec/RegTests/EkmanSpiral_ideal/Make.package deleted file mode 100644 index aeacb72f0..000000000 --- a/Exec/RegTests/EkmanSpiral_ideal/Make.package +++ /dev/null @@ -1,2 +0,0 @@ -CEXE_headers += prob.H -CEXE_sources += prob.cpp diff --git a/Exec/RegTests/EkmanSpiral_ideal/prob.H b/Exec/RegTests/EkmanSpiral_ideal/prob.H deleted file mode 100644 index 2bff9fb69..000000000 --- a/Exec/RegTests/EkmanSpiral_ideal/prob.H +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _PROB_H_ -#define _PROB_H_ - -#include - -#include "AMReX_REAL.H" - -#include "prob_common.H" - -struct ProbParm : ProbParmDefaults { - amrex::Real rho_0 = 1.0; - amrex::Real T_0 = 300.0; - amrex::Real V_0 = 1.0; -}; // namespace ProbParm - -class Problem : public ProblemBase -{ -public: - Problem(); - -#include "Prob/init_constant_density_hse.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; - -protected: - std::string name() override { return "Ekman Spiral (ideal)"; } - -private: - ProbParm parms; -}; - -#endif diff --git a/Exec/RegTests/EkmanSpiral_ideal/prob.cpp b/Exec/RegTests/EkmanSpiral_ideal/prob.cpp deleted file mode 100644 index 0dd5f26a7..000000000 --- a/Exec/RegTests/EkmanSpiral_ideal/prob.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include "prob.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); - - 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*/) -{ - amrex::Print() << "Dummy function..Needed for linking" << std::endl; -} diff --git a/Exec/RegTests/EkmanSpiral_input_sounding/CMakeLists.txt b/Exec/RegTests/EkmanSpiral_input_sounding/CMakeLists.txt deleted file mode 100644 index e5ded59a3..000000000 --- a/Exec/RegTests/EkmanSpiral_input_sounding/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -set(erf_exe_name erf_ekman_spiral_input_sounding) - -add_executable(${erf_exe_name} "") -target_sources(${erf_exe_name} - PRIVATE - 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}) diff --git a/Exec/RegTests/EkmanSpiral_input_sounding/GNUmakefile b/Exec/RegTests/EkmanSpiral_input_sounding/GNUmakefile deleted file mode 100644 index 43f1aee99..000000000 --- a/Exec/RegTests/EkmanSpiral_input_sounding/GNUmakefile +++ /dev/null @@ -1,35 +0,0 @@ -# AMReX -COMP = gnu -PRECISION = DOUBLE - -TEST = TRUE -USE_ASSERTION = TRUE - -# 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 - -USE_NETCDF = FALSE - -# GNU Make -Bpack := ./Make.package -Blocs := . - -ERF_HOME := ../../.. -ERF_PROBLEM_DIR = $(ERF_HOME)/Exec/RegTests/EkmanSpiral_input_sounding -include $(ERF_HOME)/Exec/Make.ERF diff --git a/Exec/RegTests/EkmanSpiral_input_sounding/Make.package b/Exec/RegTests/EkmanSpiral_input_sounding/Make.package deleted file mode 100644 index aeacb72f0..000000000 --- a/Exec/RegTests/EkmanSpiral_input_sounding/Make.package +++ /dev/null @@ -1,2 +0,0 @@ -CEXE_headers += prob.H -CEXE_sources += prob.cpp diff --git a/Exec/RegTests/EkmanSpiral_input_sounding/README b/Exec/RegTests/EkmanSpiral_input_sounding/README deleted file mode 100644 index ca628461b..000000000 --- a/Exec/RegTests/EkmanSpiral_input_sounding/README +++ /dev/null @@ -1,10 +0,0 @@ -This problem setup is for the classic Ekman Spiral test. The Ekman spiral problem -tests Coriolis and geostrophic forcing as well as the computation of the stress term -internally and at no-slip walls. - -A description of the problem, including the exact solution, can be found at -https://exawind.github.io/amr-wind/developer/verification.html#ekman-spiral . - -The version of the Ekman spiral test in this directory initializes the solution -from the input_sounding_file, thus this is also a test of ERF's ability to -initialize from input soundings. diff --git a/Exec/RegTests/EkmanSpiral_input_sounding/prob.H b/Exec/RegTests/EkmanSpiral_input_sounding/prob.H deleted file mode 100644 index fd837218c..000000000 --- a/Exec/RegTests/EkmanSpiral_input_sounding/prob.H +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _PROB_H_ -#define _PROB_H_ - -#include - -#include "AMReX_REAL.H" - -#include "prob_common.H" - -struct ProbParm : ProbParmDefaults { - amrex::Real rho_0 = 1.0; - amrex::Real T_0 = 300.0; - amrex::Real V_0 = 1.0; -}; // namespace ProbParm - -class Problem : public ProblemBase -{ -public: - Problem(); - -#include "Prob/init_constant_density_hse.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; - -protected: - std::string name() override { return "Ekman Spiral (input sounding)"; } - -private: - ProbParm parms; -}; - -#endif diff --git a/Exec/RegTests/EkmanSpiral_input_sounding/prob.cpp b/Exec/RegTests/EkmanSpiral_input_sounding/prob.cpp deleted file mode 100644 index 0dd5f26a7..000000000 --- a/Exec/RegTests/EkmanSpiral_input_sounding/prob.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include "prob.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); - - 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*/) -{ - amrex::Print() << "Dummy function..Needed for linking" << std::endl; -} diff --git a/Tests/CTestList.cmake b/Tests/CTestList.cmake index 6cabb7a49..22c21670f 100644 --- a/Tests/CTestList.cmake +++ b/Tests/CTestList.cmake @@ -83,7 +83,7 @@ add_test_r(DensityCurrent "RegTests/DensityCurrent/*/erf_dens add_test_r(DensityCurrent_detJ2 "RegTests/DensityCurrent/*/erf_density_current.exe" "plt00010") add_test_r(DensityCurrent_detJ2_nosub "RegTests/DensityCurrent/*/erf_density_current.exe" "plt00020") add_test_r(DensityCurrent_detJ2_MT "RegTests/DensityCurrent/*/erf_density_current.exe" "plt00010") -add_test_r(EkmanSpiral "RegTests/EkmanSpiral_custom/*/erf_ekman_spiral_custom.exe" "plt00010") +add_test_r(EkmanSpiral "RegTests/EkmanSpiral/*/erf_ekman_spiral.exe" "plt00010") add_test_r(IsentropicVortexStationary "RegTests/IsentropicVortex/*/erf_isentropic_vortex.exe" "plt00010") add_test_r(IsentropicVortexAdvecting "RegTests/IsentropicVortex/*/erf_isentropic_vortex.exe" "plt00010") add_test_r(IVA_NumDiff "RegTests/IsentropicVortex/*/erf_isentropic_vortex.exe" "plt00010") @@ -121,7 +121,7 @@ add_test_r(DensityCurrent "RegTests/DensityCurrent/erf_densit add_test_r(DensityCurrent_detJ2 "RegTests/DensityCurrent/erf_density_current" "plt00010") add_test_r(DensityCurrent_detJ2_nosub "RegTests/DensityCurrent/erf_density_current" "plt00020") add_test_r(DensityCurrent_detJ2_MT "RegTests/DensityCurrent/erf_density_current" "plt00010") -add_test_r(EkmanSpiral "RegTests/EkmanSpiral_custom/erf_ekman_spiral_custom" "plt00010") +add_test_r(EkmanSpiral "RegTests/EkmanSpiral/erf_ekman_spiral" "plt00010") add_test_r(IsentropicVortexStationary "RegTests/IsentropicVortex/erf_isentropic_vortex" "plt00010") add_test_r(IsentropicVortexAdvecting "RegTests/IsentropicVortex/erf_isentropic_vortex" "plt00010") add_test_r(IVA_NumDiff "RegTests/IsentropicVortex/erf_isentropic_vortex" "plt00010")