Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions aviary/core/aviary_problem.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ def __init__(
'sizing_results',
'input_checks',
'overridden_variables',
'list_options',
]
for report in new_reports:
if report not in _default_reports:
Expand Down
34 changes: 34 additions & 0 deletions aviary/interface/reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,22 @@ def register_custom_reports():
method='final_setup',
pre_or_post='post',
)
register_report(
name='list_options',
func=_list_options_report,
desc='Generates a report on the Problem options',
class_name='AviaryProblem',
method='run_driver',
pre_or_post='post',
)
register_report(

@Kenneth-T-Moore Kenneth-T-Moore Jul 23, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the same report twice?

Ah, run_driver and run_model.

name='list_options',
func=_list_options_report,
desc='Generates a report on the Problem options',
class_name='AviaryProblem',
method='run_model',
pre_or_post='post',
)


def run_status(prob: AviaryProblem):
Expand Down Expand Up @@ -702,3 +718,21 @@ def _overridden_variables_group_report(prob, group, mission_name, f):
f.write('\n')
else:
f.write('No external subsystem overrides found.\n')


def _list_options_report(prob: AviaryProblem, **kwargs):
"""
Writes a report with the output of the Problem.list_options method.

Parameters
----------
prob : AviaryProblem
The AviaryProblem instance
**kwargs : dict
Additional keyword arguments, not used in this function
"""

reports_folder = Path(prob.get_reports_dir())
report_file = reports_folder / 'options.txt'
with open(report_file, mode='w') as f:
prob.model.list_options(out_stream=f, include_default=False, include_solvers=False)
11 changes: 11 additions & 0 deletions aviary/visualization/dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -1135,6 +1135,17 @@ def dashboard(script_name, port=0, run_in_background=False):
reports_dir / 'driver_scaling_report.html',
)

# Options List
create_report_frame(
'Model Options List',
model_tabs_list,
"""
A plain text display of the options for the Problem.
""",
'text',
reports_dir / 'options.txt',
)

####### Optimization Tab #######
optimization_tabs_list = []

Expand Down
Loading