n2 fails for complicated model if called before final_setup.
@Kenneth-T-Moore is already working on this.
Since Apr 13, 2026.
- Dominant language
- Python
- Stars
- 782
- Forks
- 314
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 4
Description
Description
Calling om.n2(prob) fails with an unusual error if called before final_setup on a complicated model, but is fine after final_setup.
Example
'pre_mission.core_subsystems' <class CorePreMission>: subsystem(s) ['aerodynamics', 'geometry', 'mass', 'performance'] found in subsystem order but don't exist. File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/core/group.py", line 2475, in set_order raise ValueError('\n'.join(msg)) File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/core/group.py", line 1374, in _set_auto_order self.set_order(new_order) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/core/group.py", line 1343, in _check_order self._set_auto_order(strongcomps, orders) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/core/group.py", line 1347, in _check_order s._check_order(reorder, recurse, out_of_order) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/core/group.py", line 1347, in _check_order s._check_order(reorder, recurse, out_of_order) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/core/group.py", line 1075, in _setup_part2 self._check_order() ~~~~~~~~~~~~~~~~~^^ File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/core/problem.py", line 1285, in set_setup_status self.model._setup_part2() ~~~~~~~~~~~~~~~~~~~~~~~^^ File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/visualization/n2_viewer/n2_viewer.py", line 339, in _get_viewer_data data_source.set_setup_status(_SetupStatus.POST_SETUP2) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ktmoore1/Work/OpenMDAO/OpenMDAO/openmdao/visualization/n2_viewer/n2_viewer.py", line 593, in n2 model_data = _get_viewer_data(data_source, values=values, case_id=case_id) File "/Users/ktmoore1/Work/OpenMDAO/plugins/Aviary/aviary/validation_cases/benchmark_tests/test_bench_electrified_large_turboprop_freighter.py", line 114, in build_and_run_problem om.n2(prob, show_browser=False) ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ktmoore1/Work/OpenMDAO/plugins/Aviary/aviary/validation_cases/benchmark_tests/test_bench_electrified_large_turboprop_freighter.py", line 139, in <module> test.build_and_run_problem('2DOF') ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ ValueError: 'pre_mission.core_subsystems' <class CorePreMission>: subsystem(s) ['aerodynamics', 'geometry', 'mass', 'performance'] found in subsystem order but don't exist.
OpenMDAO Version
3.43.1-dev
Relevant environment information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.