Skip to content

muscl_eps is never broadcast: rank-divergent MUSCL reconstruction on multi-rank runs #1559

Description

@sbryngelson

Symptom: any multi-rank MUSCL run with a user-set muscl_eps uses the user's value on rank 0 and the per-limiter default on every other rank — silently divergent reconstruction.

Mechanism: muscl_eps is registered and namelist-read (rank 0); the per-limiter derivation runs only under f_is_default(muscl_eps) (src/simulation/m_global_parameters.fpp:736-743 on master) and defaults are assigned on all ranks — but the user's value never leaves rank 0 because muscl_eps is missing from the real-valued broadcast list in src/simulation/m_mpi_proxy.fpp:128 (weno_eps is there).

Introduced: with the parameter itself in #1383 (02eb4ece0, 2026-05-01, @ChrisZYJ). Tagging @ChrisZYJ for context.

Fix: #1553 adds the broadcast (and the registry-driven generation in the same series prevents recurrence).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions