-
Notifications
You must be signed in to change notification settings - Fork 98
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'development' into ppm_one_sided_second
- Loading branch information
Showing
801 changed files
with
233,957 additions
and
87,478 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,3 +11,5 @@ thi | |
nd | ||
ue | ||
bion | ||
aas | ||
checkin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# http://EditorConfig.org | ||
# | ||
# precedence of rules is bottom to top | ||
|
||
# this is the top-most EditorConfig file | ||
root = true | ||
|
||
|
||
[*.{c,h,cpp,hpp,H,py}] | ||
# 4 space indentation | ||
indent_style = space | ||
indent_size = 4 | ||
|
||
# Clean up trailing whitespace | ||
trim_trailing_whitespace = true | ||
|
||
# unix-style newlines | ||
end_of_line = lf | ||
|
||
# newline ending in files | ||
insert_final_newline = true | ||
|
||
|
||
[*.md] | ||
# two end of line whitespaces are newlines without a paragraph | ||
trim_trailing_whitespace = false | ||
|
||
|
||
[*.rst] | ||
# Enforce UTF-8 encoding | ||
charset = utf-8 | ||
|
||
# Unix-style newlines | ||
end_of_line = lf | ||
|
||
# Newline ending in files | ||
insert_final_newline = true | ||
|
||
# 3 space indentation | ||
indent_style = space | ||
indent_size = 3 | ||
|
||
# Clean up trailing whitespace | ||
trim_trailing_whitespace = true | ||
|
||
[{Makefile,GNUmakefile,Make.*}] | ||
# TABs are part of its syntax | ||
indent_style = tab | ||
indent_size = unset |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Dependabot configuration | ||
# ref: https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates | ||
version: 2 | ||
updates: | ||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" | ||
target-branch: "development" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
name: check makefiles | ||
|
||
on: | ||
push: | ||
branches: | ||
- development | ||
- main | ||
pull_request: | ||
branches: | ||
- development | ||
|
||
jobs: | ||
check-ifdefs: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.11' | ||
|
||
- name: Run check-ifdefs | ||
run: | | ||
python .github/workflows/check_makefiles.py | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: check runtime params | ||
|
||
on: | ||
push: | ||
branches: | ||
- development | ||
- main | ||
pull_request: | ||
branches: | ||
- development | ||
|
||
jobs: | ||
check-runtime-params: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Get submodules | ||
run: | | ||
git submodule update --init | ||
cd external/Microphysics | ||
git fetch; git checkout development | ||
cd ../amrex | ||
git fetch; git checkout development | ||
cd ../.. | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.11' | ||
|
||
- name: Run check-params | ||
run: | | ||
PYTHONPATH=external/Microphysics/util/build_scripts python .github/workflows/check_params.py . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
import re | ||
import sys | ||
from pathlib import Path | ||
|
||
correct_params = { | ||
"DEBUG": "FALSE", | ||
"USE_MPI": "TRUE", | ||
"USE_OMP": "FALSE", | ||
"COMP": "gnu", | ||
"USE_CUDA": "FALSE", | ||
"USE_HIP": "FALSE", | ||
"PRECISION": "DOUBLE", | ||
"PROFILE": "FALSE"} | ||
|
||
|
||
def find_source_files(): | ||
p = Path("./Exec") | ||
files = list(p.glob(r"**/GNUmakefile")) | ||
return files | ||
|
||
def check_makefile(makefile): | ||
|
||
with open(makefile) as mf: | ||
for _line in mf: | ||
if idx := _line.find("#") >= 0: | ||
line = _line[:idx] | ||
else: | ||
line = _line | ||
|
||
for key in correct_params: | ||
if key in line: | ||
try: | ||
k, v = re.split(":=|\?=|=", line) | ||
except ValueError: | ||
sys.exit(f"invalid line: {line}") | ||
|
||
if not v.strip() == correct_params[key]: | ||
sys.exit(f"invalid param {key} in {makefile}") | ||
|
||
if __name__ == "__main__": | ||
|
||
for f in find_source_files(): | ||
check_makefile(f) | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
import argparse | ||
import importlib | ||
import os | ||
import re | ||
from pathlib import Path | ||
import sys | ||
|
||
# some parameters that are not defined in _cpp_parameters | ||
|
||
whitelist = ["castro.lo_bc", | ||
"castro.hi_bc", | ||
"gravity.abs_tol", | ||
"gravity.rel_tol"] | ||
|
||
# we don't have all of the radiation parametrs in the _cpp_parameters | ||
# yet, so we won't check these namespaces | ||
|
||
namespace_ignore = ["radiation", "radsolve"] | ||
|
||
def doit(castro_dir): | ||
|
||
castro = Path(os.path.abspath(castro_dir)) | ||
|
||
# import the module that defines the Castro runtime params | ||
sys.path.append(str(castro / "Source" / "driver/")) | ||
import parse_castro_params | ||
|
||
# read in the parameters defined in _cpp_parameters | ||
param_file = castro / "Source" / "driver" / "_cpp_parameters" | ||
params = parse_castro_params.read_param_file(str(param_file)) | ||
|
||
namespaces = set(p.namespace for p in params) | ||
runtime_parameters = [f"{p.namespace}.{p.name}" for p in params] | ||
|
||
pattern = re.compile(r"[A-Za-z0-9_]+\.[A-Za-z0-9_]+", re.IGNORECASE) | ||
|
||
# loop over all the inputs files | ||
exec_path = castro / "Exec" | ||
for f in exec_path.glob("**/inputs*"): | ||
|
||
if os.path.isdir(f): | ||
continue | ||
|
||
# find all the params in each namespace | ||
with open(f) as infile: | ||
print(f"working on {f}") | ||
for line in infile: | ||
# remove comments | ||
idx = line.find("#") | ||
if idx > 0: | ||
line = line[:idx] | ||
|
||
found_param = pattern.match(line) | ||
if not found_param: | ||
continue | ||
|
||
p = found_param.group(0) | ||
nm = p.split(".")[0] | ||
if nm in namespaces and nm not in namespace_ignore: | ||
if not (p in runtime_parameters or p in whitelist): | ||
sys.exit(f"Error: {p} not valid") | ||
|
||
|
||
if __name__ == "__main__": | ||
|
||
# we need the top-level Castro directory | ||
|
||
p = argparse.ArgumentParser() | ||
p.add_argument("castro_dir", type=str, nargs=1, | ||
help="top level Castro directory") | ||
|
||
args = p.parse_args() | ||
|
||
doit(args.castro_dir[0]) | ||
|
||
|
Oops, something went wrong.