Skip to content

Conflict-resolved resolution-invariant-readout (review before updating #719)#7

Closed
JoshBeacom wants to merge 1 commit into
mainfrom
resolution-invariant-readout-merged
Closed

Conflict-resolved resolution-invariant-readout (review before updating #719)#7
JoshBeacom wants to merge 1 commit into
mainfrom
resolution-invariant-readout-merged

Conversation

@JoshBeacom

@JoshBeacom JoshBeacom commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Review-only draft — please don't merge this PR. It exists so you can review the final commit privately before it updates the public upstream PR.

The conflict-resolved resolution-invariant-readout feature, as a single clean commit authored by you, ready to update upstream PR neuraloperator/neuraloperator#719 once you approve.

State of neuraloperator#719 right now

Restored to its pre-fix commit 1ff94b0 — it again shows the original conflict the maintainer flagged (CONFLICTING). Nothing from this resolution is on neuraloperator#719.

What this is

One commit on top of current main, containing the feature with the merge conflict resolved.

  • Only conflict was in neuralop/models/tests/test_otno.py — both main and the feature appended a new top-level test after test_otno_output_shape. Resolved by keeping both (independent tests):
    • test_otno_rejects_readout (feature) — OTNO raises ValueError on a readout arg
    • test_otno_group_norm (main) — OTNO honors a custom norm_groups
  • neuralop/models/fno.py and neuralop/models/otno.py integrate cleanly — main's norm_groups / conv_bias_kernel and the feature's readout parameter/validation/forward path occupy disjoint regions and all survive intact.

Verification (CPU, torch 2.11)

  • test_otno.py + test_fno_readout.py + test_fno.py409 passed

Next step — only after you approve

To publish to neuraloperator#719, this single commit is force-pushed to its branch, updating neuraloperator#719 to the mergeable state. I'll run it only on your go-ahead.

- ResolutionInvariantReadout maps field outputs to scalar QoIs via spatial
  reduction (mean/integral) and a linear/MLP projection head
- Integrated as optional readout parameter on FNO with in_channels
  validation; OTNO guards against readout use due to incompatible output shape
- Two gallery examples: Darcy scalar QoI and 3-D Poisson-Boltzmann
  screened energy demonstrating resolution invariance
@JoshBeacom JoshBeacom force-pushed the resolution-invariant-readout-merged branch from 55c4815 to a0e643f Compare June 18, 2026 20:01
@JoshBeacom

Copy link
Copy Markdown
Owner Author

Closing — the conflict-resolved commit has been published to upstream neuraloperator#719. This draft was only a private review surface.

@JoshBeacom JoshBeacom closed this Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant