Project Features
- Developing open-source Python software
- Designing according to user-centered principles
- Constructing a scientific modeling framework
Project Description
Grama is a grammar of model analysis—a Python package that supports building and analyzing models with quantified uncertainties. This language is heavily inspired by the Tidyverse. Grama provides convenient syntax for building a model (with functions and distributions), generating data, and visualizing results. The purpose of this language is to support scientists and engineers learning to handle uncertainty, and to improve documentation + reproducibility of results.
Uncertainty Quantification (UQ) is the science of analyzing uncertainty in scientific problems and using those results to inform decisions. UQ has important applications to building safety-critical engineering systems, and to making high-consequence choices based on scientific models. However, UQ is generally not taught at the undergraduate level: Many engineers leave their undergraduate training with a purely deterministic view of their discipline, which can lead to probabilistic design errors that
negatively impact safety. To that end, Grama is designed to facilitate rapid model analysis, communication of results, and the teaching of concepts, all with quantified uncertainties. Intended users of Grama
are scientists and engineers at the undergraduate level and upward, seeking to analyze computationally-lightweight models.
Students seeking to join this project will need prior experience coding in Python. Students on this project will design and implement advanced data science algorithms, and will learn professional-grade software development skills.