Rule × grid matrix
Auto-generated coverage matrix: which rules dispatch on which grid families, and the convergence-order observed by each Layer-B fixture.
The matrix below is regenerated from
discretizations/ and the
fixture trees under
tests/conformance/ by
tools/render_rule_matrix.py.
Drop a new rule or a new grid into the catalog and CI updates this view —
no hardcoded cells. Use the matrix to answer two questions:
- (user) “Does rule X work on grid Y?” — applicable cells are coloured;
the number is the floor on observed convergence order baked into the
rule’s Layer-B fixture (
expected_min_orderindiscretizations/<family>/<rule>/fixtures/convergence/expected.esm). - (contributor) “Where are the holes?” —
missingcells flag rule × grid pairs the rule declares it serves but where the canonical or convergence fixture has not landed yet.
Cells legend:
order(green) — applicable, convergence fixture is running, value is the fixture’sexpected_min_orderfloor.canonical(blue) — applicable, cross-binding canonical fixture exists but no convergence fixture yet.missing(amber) — applicable, no fixture yet (or fixture is structurally skipped pending an ESS harness extension). Visible dispatch hole.n/a(muted) — rule does not declare this grid family in itsapplies_toblock.
| rule | family | op | cartesian | latlon | vertical | cubed_sphere | mpas | arakawa | duo |
|---|---|---|---|---|---|---|---|---|---|
centered_2nd_uniform | finite_difference | grad | 1.9 | n/a | n/a | n/a | n/a | n/a | n/a |
centered_2nd_uniform_latlon | finite_difference | grad | n/a | 1.9 | n/a | n/a | n/a | n/a | n/a |
centered_2nd_uniform_vertical | finite_difference | grad | n/a | n/a | 1.9 | n/a | n/a | n/a | n/a |
covariant_laplacian_cubed_sphere | finite_difference | laplacian | n/a | n/a | n/a | missing | n/a | n/a | n/a |
nn_diffusion_mpas | finite_difference | laplacian | n/a | n/a | n/a | n/a | 1.9 | n/a | n/a |
upwind_1st | finite_difference | grad | 0.9 | n/a | n/a | n/a | n/a | n/a | n/a |
divergence_arakawa_c | finite_volume | div | n/a | n/a | n/a | n/a | n/a | 1.9 | n/a |
flux_limiter_minmod | finite_volume | limit | missing | n/a | n/a | n/a | n/a | n/a | n/a |
flux_limiter_superbee | finite_volume | limit | missing | n/a | n/a | n/a | n/a | n/a | n/a |
ppm_reconstruction | finite_volume | reconstruct | 2.8 | n/a | n/a | n/a | n/a | n/a | n/a |
weno5_advection | finite_volume | advect | 4.7 | n/a | n/a | n/a | n/a | n/a | n/a |
weno5_advection_2d | finite_volume | advect | 4.5 | n/a | n/a | n/a | n/a | n/a | n/a |