Skip to content

fix N-D problem with newer compilers#4

Merged
sbryngelson merged 1 commit intomasterfrom
ND-compiler-fix
Jan 7, 2022
Merged

fix N-D problem with newer compilers#4
sbryngelson merged 1 commit intomasterfrom
ND-compiler-fix

Conversation

@sbryngelson
Copy link
Member

No description provided.

@sbryngelson sbryngelson merged commit 074c6ec into master Jan 7, 2022
@sbryngelson sbryngelson deleted the ND-compiler-fix branch January 7, 2022 21:43
ChrisZYJ added a commit to ChrisZYJ/MFC_PR that referenced this pull request Jan 21, 2025
sbryngelson added a commit that referenced this pull request Feb 24, 2026
- Fix parameter checklist: first 3 mandatory, #4 only if constraints exist
- Fix namelist format: &user_inputs ... &end/ (not &user_inputs / ... / &end)
- Update counts: ~3,400 params (was ~3,300), 560+ tests (was 500+)
- Add ghost cell allocation pattern (-buff_size:m+buff_size, idwint/idwbuff)
- Add field variable indexing system (cont_idx, mom_idx, E_idx, adv_idx, sys_size)
- Add test system details: programmatic generation, CaseGeneratorStack, UUID hashing
- Add scalar_field uses stp (not wp) to precision types
- Add analytical IC available variables (x, y, z, xc, yc, zc, lx, ly, lz, r, e, t)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sbryngelson added a commit that referenced this pull request Feb 24, 2026
* Add CLAUDE.md and .claude/rules/ for Claude Code guidance

Adds project-level instructions for Claude Code interactive sessions
and automated PR reviews. Core CLAUDE.md covers commands, development
workflow contract, architecture, and critical rules. Domain-specific
knowledge (Fortran conventions, GPU/MPI patterns, parameter system,
common pitfalls) lives in modular .claude/rules/ files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Update copilot-instructions.md to mention OpenMP target offload

The GPU section previously only mentioned OpenACC. Now reflects that MFC
supports both OpenACC and OpenMP target offload via backend-agnostic
GPU_* Fypp macros.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix parameter checklist and validation attribution

- Expand 3-location to 4-location checklist: add m_global_parameters.fpp
  as required step for declaring Fortran variables (without this, adding
  a parameter to the namelist in m_start_up.fpp causes a compile error)
- Fix fastjsonschema attribution: JSON schema validation is in case.py
  and params/registry.py, not in case_validator.py which does physics
  constraint checking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix mixed-precision stp description: half, not single

In mixed-precision mode (--mixed), stp is set to half_precision (kind=2),
not single_precision, as confirmed in src/common/m_precision_select.f90.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix Fypp macro syntax and precheck coverage claims

- GPU macros use $: prefix (inline), not @: — matches all 400+ usages in src/
- GPU_PARALLEL, GPU_DATA, GPU_HOST_DATA are block macros using #:call/#:endcall
- Add block macro usage example
- Fix GPU_ROUTINE args: parallelism='[seq]', not function_name=
- Split forbidden patterns into precheck-enforced vs convention-enforced
  (goto, COMMON, save, stop are not checked by precheck.sh)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix documentation accuracy: checklist counts, phantom macro, missing patterns

- Fix "3-location checklist" heading to "4-location" (parameter-system.md)
- Fix "all 3 locations" to "all 4 locations" in PR checklist (common-pitfalls.md)
- Remove non-existent $:END_GPU_LOOP() from block macro example (gpu-and-mpi.md)
- Add d0 literals, double precision, dcos/dsin/dtan to forbidden patterns list
- Reference toolchain/bootstrap/precheck.sh for full forbidden pattern list
- Fix Frontier system slug: OpenACC/OpenMP, not just OpenACC
- Clarify stp as "field data arrays and I/O", not just "I/O"
- Document @:PROHIBIT, @:ASSERT, @:LOG error-checking macros
- Document @:PREFER_GPU unified memory macro
- Document m_checker*.fpp Fortran-side runtime validation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add field indexing, ghost cells, test system, analytical IC docs

- Fix parameter checklist: first 3 mandatory, #4 only if constraints exist
- Fix namelist format: &user_inputs ... &end/ (not &user_inputs / ... / &end)
- Update counts: ~3,400 params (was ~3,300), 560+ tests (was 500+)
- Add ghost cell allocation pattern (-buff_size:m+buff_size, idwint/idwbuff)
- Add field variable indexing system (cont_idx, mom_idx, E_idx, adv_idx, sys_size)
- Add test system details: programmatic generation, CaseGeneratorStack, UUID hashing
- Add scalar_field uses stp (not wp) to precision types
- Add analytical IC available variables (x, y, z, xc, yc, zc, lx, ly, lz, r, e, t)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant