Skip to content
15 changes: 5 additions & 10 deletions src/pre_process/m_check_ib_patches.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ contains
if (i <= num_ibs) then
! call s_check_patch_geometry(i)
call s_int_to_str(i, iStr)
@:PROHIBIT(patch_ib(i)%geometry == dflt_int, "IB patch undefined. &
patch_ib("//trim(iStr)//")%geometry must be set.")

! Constraints on the geometric initial condition patch parameters
if (patch_ib(i)%geometry == 2) then
Expand All @@ -60,22 +62,15 @@ contains
else if (patch_ib(i)%geometry == 5 .or. &
patch_ib(i)%geometry == 12) then
call s_check_model_ib_patch_geometry(i)
else if (patch_ib(i)%geometry == dflt_int) then
call s_prohibit_abort("IB patch undefined", &
"patch_ib("//trim(iStr)//")%geometry must be set.")
else
call s_prohibit_abort("Invalid IB patch", &
"patch_ib("//trim(iStr)//")%geometry must be "// &
"2-4, 8-10, 11 or 12.")
end if
else
if (patch_ib(i)%geometry == dflt_int) then
call s_check_inactive_ib_patch_geometry(i)
else
call s_prohibit_abort("Inactive IB patch defined", &
"patch_ib("//trim(iStr)//")%geometry "// &
"must not be set for inactive patches.")
end if
@:PROHIBIT(patch_ib(i)%geometry /= dflt_int, "Inactive IB patch defined. "// &
"patch_ib("//trim(iStr)//")%geometry must not be set for inactive patches.")
call s_check_inactive_ib_patch_geometry(i)
end if
end do

Expand Down
35 changes: 15 additions & 20 deletions src/pre_process/m_check_patches.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,17 @@ contains
if (i <= num_patches) then
! call s_check_patch_geometry(i)
call s_int_to_str(i, iStr)
@:PROHIBIT(patch_icpp(i)%geometry == 6, "Invalid patch geometry number. "// &
"patch_icpp("//trim(iStr)//")%geometry is deprecated.")
@:PROHIBIT(patch_icpp(i)%geometry == 7, "Invalid patch geometry number. "// &
"patch_icpp("//trim(iStr)//")%geometry is deprecated.")
@:PROHIBIT(patch_icpp(i)%geometry == 13, "Invalid patch geometry number. "// &
"patch_icpp("//trim(iStr)//")%geometry is deprecated.")
@:PROHIBIT(patch_icpp(i)%geometry == 15, "Invalid patch geometry number. "// &
"patch_icpp("//trim(iStr)//")%geometry is deprecated.")
@:PROHIBIT(patch_icpp(i)%geometry == dflt_int, "Invalid patch geometry number. "// &
"patch_icpp("//trim(iStr)//")%geometry must be set.")

! Constraints on the geometric initial condition patch parameters
if (patch_icpp(i)%geometry == 1) then
call s_check_line_segment_patch_geometry(i)
Expand All @@ -57,12 +68,6 @@ contains
call s_check_line_sweep_patch_geometry(i)
elseif (patch_icpp(i)%geometry == 5) then
call s_check_ellipse_patch_geometry(i)
elseif (patch_icpp(i)%geometry == 6) then
call s_prohibit_abort("Invalid patch geometry number", "patch_icpp("//trim(iStr)//")%geometry "// &
"is deprecated")
elseif (patch_icpp(i)%geometry == 7) then
call s_prohibit_abort("Invalid patch geometry number", "patch_icpp("//trim(iStr)//")%geometry "// &
"is deprecated")
elseif (patch_icpp(i)%geometry == 8) then
call s_check_sphere_patch_geometry(i)
elseif (patch_icpp(i)%geometry == 9) then
Expand All @@ -73,31 +78,21 @@ contains
call s_check_plane_sweep_patch_geometry(i)
elseif (patch_icpp(i)%geometry == 12) then
call s_check_ellipsoid_patch_geometry(i)
elseif (patch_icpp(i)%geometry == 13) then
call s_prohibit_abort("Invalid patch geometry number", "patch_icpp("//trim(iStr)//")%geometry "// &
"is deprecated")
elseif (patch_icpp(i)%geometry == 14) then
call s_check_spherical_harmonic_patch_geometry(i)
elseif (patch_icpp(i)%geometry == 15) then
call s_prohibit_abort("Invalid patch geometry number", "patch_icpp("//trim(iStr)//")%geometry "// &
"is deprecated")
elseif (patch_icpp(i)%geometry == 20) then
call s_check_2D_TaylorGreen_vortex_patch_geometry(i)
elseif (patch_icpp(i)%geometry == 21) then
call s_check_model_geometry(i)
elseif (patch_icpp(i)%geometry == dflt_int) then
call s_prohibit_abort("Active patch undefined", "patch_icpp("//trim(iStr)//")%geometry must be set")
else
call s_prohibit_abort("Invalid patch geometry number", "patch_icpp("//trim(iStr)//")%geometry "// &
"must be between 1 and 21")
end if
else
if (patch_icpp(i)%geometry == dflt_int) then
call s_check_inactive_patch_geometry(i)
else
call s_prohibit_abort("Inactive patch defined", "patch_icpp("//trim(iStr)//")%geometry must not be set. "// &
"Patch "//trim(iStr)//" is inactive as the number of patches is "//trim(num_patches_str))
end if
@:PROHIBIT(patch_icpp(i)%geometry /= dflt_int, "Inactive patch defined. "// &
"patch_icpp("//trim(iStr)//")%geometry not be set for inactive patches. "// &
"Patch "//trim(iStr)//" is inactive as the number of patches is "//trim(num_patches_str))
call s_check_inactive_patch_geometry(i)
end if
end do

Expand Down
15 changes: 15 additions & 0 deletions toolchain/bootstrap/format.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,26 @@
#!/bin/bash

# Function to display help message
show_help() {
echo "Usage: $(basename "$0") [OPTIONS]"
echo "This function formats all code in and below the current execution directory."
echo ""
echo "Options:"
echo " -h, --help Display this help message and exit."
echo " -j, --jobs JOBS Runs JOBS number of jobs."
echo ""
exit 0
}

while [[ $# -gt 0 ]]; do
case "$1" in
-j|--jobs)
JOBS="$2"
shift
;;
-h | --help)
show_help
;;
*)
echo "Format, unknown argument: $1."
exit 1
Expand Down
19 changes: 19 additions & 0 deletions toolchain/bootstrap/modules.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
#!/bin/bash

# Function to display help message
show_help() {
echo "Usage: $(basename "$0") [OPTIONS]"
echo "This function loads in modules for a specific computer and mode"
echo ""
echo "Options:"
echo " -h, --help Display this help message and exit."
echo " -c, --computer COMPUTER Configures for COMPUTER environment."
echo " Options: Ascent (a) | Frontier (f) | Summit (s) | Wombat (w)"
echo " Bridges2 (b) | Expanse (e) | Delta (d) | DeltaAI (dai)"
echo " Phoenix (p) | Richardson (r) | Oscar (o)"
echo " Carpenter Cray (cc) | Carpenter GNU (c) | Nautilus (n)"
echo " -m, --mode MODE Configures into MODE."
echo " Options: gpu (g) | cpu (c)"
echo ""
exit 0
}

unset u_c
unset u_cg

Expand All @@ -12,6 +30,7 @@ while [[ $# -gt 0 ]]; do
case $1 in
-c|--computer) u_c="$2"; shift; shift; ;;
-m|--mode) u_cg="$2"; shift; shift; ;;
-h|--help) show_help; shift; shift; ;;
-*|--*) echo "Unknown option $1"; return; ;;
esac
done
Expand Down
25 changes: 16 additions & 9 deletions toolchain/mfc/args.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,23 @@ def parse(config):
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)

# Here are all of the parser arguments that call functions in other python files
parsers = parser.add_subparsers(dest="command")
run = parsers.add_parser(name="run", help="Run a case with MFC.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
test = parsers.add_parser(name="test", help="Run MFC's test suite.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
build = parsers.add_parser(name="build", help="Build MFC and its dependencies.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
clean = parsers.add_parser(name="clean", help="Clean build artifacts.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
bench = parsers.add_parser(name="bench", help="Benchmark MFC (for CI).", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
bench_diff = parsers.add_parser(name="bench_diff", help="Compare MFC Benchmarks (for CI).", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
count = parsers.add_parser(name="count", help="Count LOC in MFC.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
count_diff = parsers.add_parser(name="count_diff", help="Count LOC in MFC.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
packer = parsers.add_parser(name="packer", help="Packer utility (pack/unpack/compare)", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
run = parsers.add_parser(name="run", help="Run a case with MFC.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
test = parsers.add_parser(name="test", help="Run MFC's test suite.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
build = parsers.add_parser(name="build", help="Build MFC and its dependencies.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
clean = parsers.add_parser(name="clean", help="Clean build artifacts.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
bench = parsers.add_parser(name="bench", help="Benchmark MFC (for CI).", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
bench_diff = parsers.add_parser(name="bench_diff", help="Compare MFC Benchmarks (for CI).", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
count = parsers.add_parser(name="count", help="Count LOC in MFC.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
count_diff = parsers.add_parser(name="count_diff", help="Count LOC in MFC.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
packer = parsers.add_parser(name="packer", help="Packer utility (pack/unpack/compare).", formatter_class=argparse.ArgumentDefaultsHelpFormatter)

# These parser arguments all call BASH scripts, and they only exist so that they show up in the help message
parsers.add_parser(name="load", help="Loads the MFC environment with source.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parsers.add_parser(name="lint", help="Lints all code after editing.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parsers.add_parser(name="format", help="Formats all code after editing.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parsers.add_parser(name="spelling", help="Runs the spell checker after editing.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)

packers = packer.add_subparsers(dest="packer")
pack = packers.add_parser(name="pack", help="Pack a case into a single file.", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
Expand Down
Loading