Colin Grudzien: Reproducible scientific software development for predictability
Reproducible scientific software development for predictability
Mathematics and Statistics
Colin Grudzien, Ph.D. is currently an assistant professor in statistics. Grudzien received his Ph.D. in mathematics in 2016 from UNC Chapel Hill with a focus on applied dynamical systems. Prior to joining the faculty at the University of Nevada, Reno, Grudzien was a research assistant at Los Alamos National Laboratory, a postdoc at the Nansen Environmental and Remote Sensing Center in Norway and a visiting researcher at CEREA, a Joint Laboratory of École des Ponts ParisTech/EDF R&D. Grudzien’s research interests include Bayesian inference and uncertainty quantification in physical systems, and applications in modeling climate and the electric grid.
Grudzien is the faculty adviser for the Society for Industrial and Applied Mathematics (SIAM) student chapter at the University. SIAM as an organization is committed to inclusion in STEM and recognizes the strength that diverse perspectives bring to interdisciplinary science. Learn more about the University’s student chapter of SIAM.
In the fields of climate science and meteorology, the time-evolution of relevant variables such as temperature, pressure and humidity can be modeled with systems of equations from fluid and thermodynamics. In principle, knowing the "true" state of the atmosphere and the ocean, we can study how these states change in time as governed by these equations. However, the chaotic nature of weather means that even if the exact state of the atmosphere and ocean were known, minor simulation errors cause predictions to rapidly diverge from the true future-state. For this reason, and due to the inherent uncertainty in the initial states, numerical weather models are used to produce ensemble-forecasts to study the variability of the future weather. Ensemble-forecasts act like the replication of a laboratory experiment, where the numerical model is the laboratory for Earth's physics.
Because climate science and meteorology rely heavily on numerical models, it is critical to develop this numerical software in a reproducible, well-documented and transparent environment. Like with laboratory experiments, the credibility of the results of numerical simulations lies in the rigor of the experimental design and the reproducibility of the results. The complexity of these simulations also demands that the software is developed for performance and efficiency, and benchmarking code is also a critical element in the development of robust scientific software.
The goal of this project is to mentor the student on scientific software development so that they can contribute to an active research code base, studying statistical aspects of predictability in physical systems. The student will perform the following in the course of the project:
- the student will learn to use the BASH command line interface and to perform networked computing on servers;
- the student will learn to write, debug and benchmark simulation scripts in one or more open-source programming language such as Python, Julia or R;
- the student will learn to maintain a reproducible software development environment in Github;
- the student will learn to present their results using a modern Markup language.
Background experience for the project including introductory computer science and calculus is preferred.