nasa / progpy

The NASA Prognostic Python Packages is a Python framework focused on defining and building models and algorit for prognostics (computation of remaining useful life) of engineering systems, and provides a set of models and algorithms for select components developed within this framework, suitable for use in prognostic applications.
https://nasa.github.io/progpy/
Other
55 stars 8 forks source link

estimate_params: Warnings for unsupported keys to options. #51

Open aqitya opened 1 year ago

aqitya commented 1 year ago

Requirement Text This feature should be able to return a Warning detailing option keys that do not not exist in the method's options. The current optimize.show_options function currently either returns a String or prints out the String to the user. However, the current text that is being returned does not necessarily accomplish tasks such that it functions without any worrying

Background Information The current optimize.show_options function currently either returns a String or prints out the String to the user. However, the current text that is being returned does not necessarily accomplish tasks such that it functions without worrying about future changes done to the documentation/functionality of optimize.show_options. As such, we are mandated to verify that the returned Warnings are working as intended, which is manual behavior that should be abstracted away.

Suggested Solution Using Regex to parse returned text and return options in some data structure. However, does not accommodate future changes develop via SciPy's side, so this solution is only a temporary one.

Some other solutions may be to track changes done to the optimize.show_options website page, and whenever there are changes done, this will notify us to make changes. This however, still requires us to rework the parser. Furthermore, there could be some downtime between developing changes to the function and documenting updates to their website page.

Looking through the source code and/or the documentation may also provide some inspiration on solving the issue.

optimize.show_options documentation: https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.show_options.html

Source Code: https://github.com/scipy/scipy/blob/v1.10.1/scipy/optimize/_optimize.py#L3732-L3951

DoD edit this to be a list of tasks that need to be completed