  Scientific models hold the key to better understanding and predicting the
behavior of complex systems. The most comprehensive manifestation of a
scientific model, including crucial assumptions and parameters that underpin
its usability, is usually embedded in associated source code and documentation,
which may employ a variety of (potentially outdated) programming practices and
languages. Domain experts cannot gain a complete understanding of the
implementation of a scientific model if they are not familiar with the code.
Furthermore, rapid research and development iterations make it challenging to
keep up with constantly evolving scientific model codebases. To address these
challenges, we develop a system for the automated creation and human-assisted
curation of a knowledge graph of computable scientific models that analyzes a
model's code in the context of any associated inline comments and external
documentation. Our system uses knowledge-driven as well as data-driven
approaches to identify and extract relevant concepts from code and equations
from textual documents to semantically annotate models using domain
terminology. These models are converted into executable Python functions and
then can further be composed into complex workflows to answer different forms
of domain-driven questions. We present experimental results obtained using a
dataset of code and associated text derived from NASA's Hypersonic Aerodynamics
website.
