OpenMDAO / OpenMDAO/Aviary

Reevaluate what should be promoted out of an external subsystem in mission.

Open
#544 1 comment 0 reactions 3 assignees View on GitHub

@ehariton is already working on this.

Since Feb 12, 2026.

Dominant language
Python
Stars
287
Forks
140
Avg merge
6d 14h
Merged PRs (30d)
18

Description

Description

Right now, we promote aircraft:* and mission:* out of any external subsystem that is added to the mission. We discovered that we are missing promotion of state variables, because they are not in the hierarchy, and while they may be classed in the hieararchy as Dynamic.*, they do not share a common prefix.

Figure out the best solution for this. There are several possibilities, but some may have drawbacks.

  1. promote_inputs with '*' on external subsystems in mission.
  2. Teach user to use the targets metadata in the state dictionary to specify the true state path, which will include the external subsystem's name at the front of the path to the state. [This is what we are doing now in the battery_builder in the energy subsystem]
    2a. Automatically fill the targets field for the user
  3. Automatically add the state names to the promotes on the external subsystem.
Example

subsystems/energy/battery_builder.py
This model contains a state that isn't promoted out of the external subsystem because it does not begin with aircraft or mission.

Aviary Version

0.9.4-dev

Relevant environment information

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.