diff --git a/docs/documentation/architecture.md.in b/docs/documentation/architecture.md.in index 48e78cf29..b4126fc6a 100644 --- a/docs/documentation/architecture.md.in +++ b/docs/documentation/architecture.md.in @@ -111,7 +111,7 @@ To add a new source term or physics model: 1. **Create a module** in `src/simulation/` (e.g., `m_my_model.fpp`) 2. **Add initialization/finalization** subroutines called from `m_start_up` 3. **Add RHS contributions** called from the dimensional loop in `m_rhs:s_compute_rhs` -4. **Add parameters** to `m_global_parameters` and input validation to `m_checker` +4. **Add parameters** to `toolchain/mfc/params/definitions.py` (Fortran declarations and namelist bindings are generated from it) and input validation to `m_checker` 5. **Add a module-level brief** (enforced by the linter in `lint_docs.py`) 6. **Add the module to `docs/module_categories.json`** so it appears in this page diff --git a/docs/documentation/getting-started.md b/docs/documentation/getting-started.md index f402b6612..4fc3cfea9 100644 --- a/docs/documentation/getting-started.md +++ b/docs/documentation/getting-started.md @@ -227,13 +227,13 @@ For more options, see @ref visualization "Flow Visualization" or run `./mfc.sh v ### Parameter Lookup -MFC has over 3,000 case parameters. Use the `params` command to search and explore them: +MFC has over 4,000 case parameters. Use the `params` command to search and explore them: ```shell ./mfc.sh params dt # Search for parameters matching "dt" ./mfc.sh params -d dt # Show parameter with description ./mfc.sh params patch # Find all patch-related parameters -./mfc.sh params --family # List all parameter families +./mfc.sh params --families # List all parameter families ``` ### Creating a New Case diff --git a/docs/documentation/gpuParallelization.md b/docs/documentation/gpuParallelization.md index 0b8c6ef7f..2f1c76970 100644 --- a/docs/documentation/gpuParallelization.md +++ b/docs/documentation/gpuParallelization.md @@ -49,7 +49,7 @@ Note: Ordering is not guaranteed or stable, so use key-value pairing when using In order to parallelize a loop, simply place two macro calls on either end of the loop: ```C -$:$GPU_PARALLEL_LOOP(...) +$:GPU_PARALLEL_LOOP(...) {code} $:END_GPU_PARALLEL_LOOP() ``` diff --git a/toolchain/mfc/cli/commands.py b/toolchain/mfc/cli/commands.py index 11077e273..f2bb186cc 100644 --- a/toolchain/mfc/cli/commands.py +++ b/toolchain/mfc/cli/commands.py @@ -1350,7 +1350,7 @@ PARAMS_COMMAND = Command( name="params", help="Search and explore MFC case parameters.", - description="Search, list, and get information about MFC's ~3,300 case parameters.", + description="Search, list, and get information about MFC's case parameters.", positionals=[ Positional( name="query", diff --git a/toolchain/mfc/params/__init__.py b/toolchain/mfc/params/__init__.py index 39c7e6ffe..a7b342769 100644 --- a/toolchain/mfc/params/__init__.py +++ b/toolchain/mfc/params/__init__.py @@ -1,7 +1,7 @@ """ MFC Parameter Schema Package (Minimal). -Single source of truth for MFC's ~3,300 case parameters. +Single source of truth for MFC's case parameters. Import Order ------------ @@ -10,7 +10,7 @@ 2. Schema classes (ParamDef, ParamType) for type definitions 3. definitions module is imported LAST to populate and freeze REGISTRY -The definitions import is a side-effect import that registers all ~3,300 +The definitions import is a side-effect import that registers all parameters with REGISTRY and then freezes it. This must happen at package import time so that any code importing from this package gets a fully populated, immutable registry. diff --git a/toolchain/mfc/params/definitions.py b/toolchain/mfc/params/definitions.py index 159dd9aae..30ad469c7 100644 --- a/toolchain/mfc/params/definitions.py +++ b/toolchain/mfc/params/definitions.py @@ -1,7 +1,7 @@ """ MFC Parameter Definitions (Compact). -Single file containing all ~3,300 parameter definitions using loops. +Single file containing all parameter definitions using loops. """ import re @@ -1216,7 +1216,7 @@ def _init_registry(): # When adding a new parameter: # 1. Add to definitions.py (type, constraints, etc.) — you are here # 2. Add the namelist root variable to NAMELIST_VARS with its target set -# 3. Re-run cmake to regenerate the .fpp files (cmake reconfigure) +# 3. Rebuild; the .fpp files are regenerated at build time (cmake/ParamsCodegen.cmake) NAMELIST_VARS: dict[str, set[str]] = {} diff --git a/toolchain/mfc/params/generators/fortran_gen.py b/toolchain/mfc/params/generators/fortran_gen.py index 605c97a9f..adcc04d70 100644 --- a/toolchain/mfc/params/generators/fortran_gen.py +++ b/toolchain/mfc/params/generators/fortran_gen.py @@ -11,7 +11,7 @@ TARGETS = [("pre", "pre_process"), ("sim", "simulation"), ("post", "post_process")] TARGET_FROM_DIR = {full: short for short, full in TARGETS} -_HEADER = "! AUTO-GENERATED - do not edit directly. Regenerate: cmake reconfigure\n!\n" +_HEADER = "! AUTO-GENERATED - do not edit directly. Regenerated at build time (cmake/ParamsCodegen.cmake)\n!\n" _MAX_LINE = 130 _FIRST_PREFIX = "namelist /user_inputs/ " _CONT_PREFIX = " & " diff --git a/toolchain/mfc/params_cmd.py b/toolchain/mfc/params_cmd.py index e40fdfc87..6e84a42e8 100644 --- a/toolchain/mfc/params_cmd.py +++ b/toolchain/mfc/params_cmd.py @@ -1,7 +1,7 @@ """ MFC Parameter Search and Discovery Command. -Provides CLI access to search and explore MFC's ~3,300 case parameters. +Provides CLI access to search and explore MFC's case parameters. """ import re