Source code for aviary.utils.options
from openmdao.core.system import System
from aviary.utils.aviary_values import AviaryValues, get_keys
[docs]
def list_options(model: System, aviary_keys: list = None):
"""
Lists all option values in the provided model. All top-level option values will
be listed, and items in model.options['aviary_options'] will also be listed.
A list of keys may be provided to limit the list of items in aviary_options.
Parameters
----------
model : System
A model.
aviary_keys: iter of str
List of aviary_options keys whose values will be looked up and
listed in the options printout. If None, all items in
model.options['aviary_options'] will be listed.
"""
print('\nOptions:\n')
for subsystem in model.system_iter():
if subsystem.name == '_auto_ivc':
continue
print(subsystem.name)
for (key, obj) in subsystem.options.items():
if isinstance(obj, AviaryValues):
aviary_options = obj
print(' aviary_options:')
if isinstance(aviary_keys, list):
keys = aviary_keys
else:
keys = get_keys(aviary_options)
for key in keys:
(val, units) = aviary_options.get_item(key)
if units == 'unitless':
print(f' {key} = {val}')
else:
print(f' {key} = {val} {units}')
else:
print(f' {key} = {str(obj)[0:80]}')
print()