Source code for aviary.variable_info.options

from aviary.utils.aviary_values import AviaryValues
from aviary.utils.preprocessors import preprocess_propulsion
from aviary.utils.functions import get_path
from aviary.variable_info.variable_meta_data import _MetaData
from aviary.variable_info.variables import Aircraft
from aviary.subsystems.propulsion.engine_deck import EngineDeck


[docs] def get_option_defaults(engine=True, meta_data=_MetaData) -> AviaryValues: """ Returns a deep copy of the collection of all options for which default values exist. Parameters ---------- engine : bool If true, the collection includes the default engine model meta_data : dict Dictionary containing metadata for the options. If None, Aviary's built-in metadata will be used. """ option_defaults = AviaryValues() # Load all variables marked as options in the MetaData for key in meta_data: var = meta_data[key] if var['option'] and var['default_value'] is not None: option_defaults.set_val(key, var['default_value'], var['units']) if engine: engine_options = option_defaults.deepcopy() engine_options.set_val(Aircraft.Engine.DATA_FILE, get_path('models/engines/turbofan_23k_1.deck')) engine_options.set_val(Aircraft.Engine.SCALE_FACTOR, meta_data[Aircraft.Engine.SCALE_FACTOR]['default_value']) engine_deck = EngineDeck(options=engine_options) preprocess_propulsion(option_defaults, [engine_deck]) return option_defaults
[docs] def is_option(key, meta_data=_MetaData) -> bool: """ Returns True if the variable is defined as an option in the MetaData. Parameters ---------- key: str Name of the variable to be checked meta_data : dict Dictionary containing metadata for the variable. If None, Aviary's built-in metadata will be used. """ return meta_data[key]['option']