Skip to content

Add op_system metadata passthrough to op_engine connector #10

@jc-macdonald

Description

@jc-macdonald

Forward op_system axis and operator metadata through the op_engine connector so that ModelCore and CoreSolver can use structured population dimensions and IMEX operator splitting.

Problem

Mixing kernels flow from op_system to op_engine (merged as extra params), but operator specs and axis-aware metadata are not forwarded. The engine constructs ModelCore with hardcoded n_subgroups=1 and ignores the system's axis structure entirely.

Scope

  • Read axis metadata from system.option("axis_order"), system.option("axis_sizes"), etc. (or the formal hook once flepimop2 #131 lands)
  • Build ModelCore using actual axis sizes: n_subgroups from axis meta, other_axes from additional dimensions
  • Read operator specs from system.option("operators", None) and merge with config-level operator overrides into OperatorSpecs
  • Set operator_axis from meta when available
  • Validate operator shapes match axis lengths
  • Keep existing mixing-kernel merge as fallback

Files

  • flepimop2-op_engine/src/flepimop2/engine/op_engine/engine.py (run() method)
  • flepimop2-op_engine/tests/

Blocked by

Related

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions