Rebecca Gjini

Keith Julien Visiting Assistant Professor

I am a Keith Julien Visiting Assistant Professor in the Department of Applied Mathematics at the University of Colorado Boulder (CU Boulder). I am currently working on gradient-based and ensemble-based optimization for learning parameters from time-averaged data. More specifically, I work with an auto-differentiable atmospheric model to explore different calibration algorithms and prediction timescales with the potential to improve global climate model calibration. I received my Ph.D. in Earth Sciences from the Institute of Geophysics and Planetary Physics (IGPP) within Scripps Institution of Oceanography (SIO) at the University of California San Diego (UC San Diego). At UC San Diego, I worked on optimization and uncertainty quantification for understanding the climate system under the guidance of Matthias Morzfeld. Before graduate school, I received my undergraduate degree in mathematics from Lehigh University. My main research interests are in data assimilation, inverse modeling, derivative-free optimization, automatic differentiation, and cloud physics.

download cv

Announcements and Upcoming Events:

Watch a recent recording of me presenting my research at the USACM Energy and Earth Systems TTA Spring Webinar.

Fall 2026 teaching: APPM 1235 Pre-Calculus for Engineers.

Education.

  • 2021-2026

    Institute of Geophysics and Planetary Physics at Scripps Institution of Oceanography, UC San Diego (La Jolla CA)

    Doctor of Philosophy in Earth Sciences
    Advisor: Matthias Morzfeld

  • 2021-2023

    Institute of Geophysics and Planetary Physics at Scripps Institution of Oceanography, UC San Diego (La Jolla CA)

    Master of Science in Earth Sciences

  • 2017-2020

    Lehigh University (Bethlehem, PA)

    Bachelor of Science in Mathematics, with highest honors
    Minors in Computer Science and Envrionmental Studies

Research.

Stratocumulus Clouds

Stratocumulus clouds are low level clouds with cloud decks that cover immense stretches of subtropical oceans and provide a net cooling effect on the planet.

Stratocumulus clouds are low level clouds with cloud decks that cover immense stretches of subtropical oceans and provide a net cooling effect on the planet. Stratocumulus clouds are an important area of study because clouds and aerosols are one of the largest sources of uncertainty when calculating Earth’s energy budget. My research explores the use of mathematics, computation, and inverse modeling to better understand stratocumulus clouds. Specifically, I work with two very different stratocumulus cloud models and connect the two using feature-based inversion. The first model is known as a large-eddy simulation (LES), a computationally expensive, 3D and time simulation that describes the state of the atmosphere. The second model is a phenomenological model based on predator-prey dynamics. In this scenario, the rain is the predator of clouds. To learn more about how I utilize inverse modeling to compare these two stratocumulus models, check out my SIAM News article below.

Stratocumulus Clouds and Predator-prey Dynamics

Ensemble Kalman Inversion

Ensemble Kalman Inversion (EKI) is a derivative-free optimization method used to solve nonlinear least squares problems.

Ensemble Kalman Inversion (EKI) is a derivative-free optimization method used to solve nonlinear least squares problems. The algorithm is designed to solve for the minimizer of a loss function over multiple optimization iterations. EKI relies on an ensemble to approximate derivative information using statistics from the ensemble. During each iteration, the ensemble members are updated using the derivative approximation and eventually the ensemble will collapse onto the minimizer of the loss function. To learn more about different iterative ensemble Kalman methods, check out this recent preprint.

The Ensemble Kalman Inversion Race

Automatic Differentiation

Also known as algorithmic differentiation (AD), AD is a tool that is used to compute function derivatives in a methodological way.

Also known as algorithmic differentiation (AD), AD is a tool that is used to compute function derivatives in a methodological way. When a human programmer codes a function and its associated derivative, typically the derivative needs to be coded by hand. AD allows programmers to code up their original function and use the AD computer algorithm to solve for the derivative function. I implemented AD within a Python package called PyDDA (Pythonic Direct Data Assimilation) during my internship at the Argonne National Laboratory. PyDDA uses data from multiple weather radars to get 3D wind field velocities based on the 3D variational technique. I implemented AD within all the gradient functions of the package used to perform the cost function minimization. For more information on PyDDA and how AD is used within the package, check out the PyDDA documentation and github.

PyDDA documentation PyDDA github

Inverse Theory

Inverse problems are important scientific and mathematical problems because the solutions help us understand physical processes that are difficult to observe.

Inverse problems are important scientific and mathematical problems because the solutions help us understand physical processes that are difficult to observe. The opposite of a forward problem, inverse problems are used to determine the factors that cause a set of observations to occur. One method of solving inverse problems is to use a Bayesian approach. The idea behind Bayesian inversion is to better understand model parameters (and their associated model output) in relation to data. In my research, I use various Bayesian inference methods, such as feature-based Bayesian inversion and Markov-chain Monte Carlo (MCMC). For more information on feature-based inversion and its applications to various numerical problems, below is a paper written by my advisor.

Feature-based data assimilation in geophysics

I am really interested in using different mathematical tools to improve understanding of the climate system.

JAX Circulation Model

The JAX Circulation Model (JCM) is an autodifferentiable, intermediate-complexity atmospheric model written in Python and JAX.

The JAX Circulation Model (JCM) is an autodifferentiable, intermediate-complexity atmospheric model written in Python and JAX. JCM combines the dynamical core (Dinosaur) from Google's NeuralGCM with JAX implementations of atmospheric physics parameterizations. Many research directions can be explored with a differentiable climate model, including gradient-based calibration, data assimilation, and ML-enhanced climate modeling. For more information on JCM, below are links to the paper and repository!

JCM paper JCM repository

Publications.

JCM v1.1: a differentiable, intermediate-complexity atmospheric model

Geoscientific Model Development

Ellen H. Davenport, J. Varan Madan, Rebecca Gjini, Jared Brzenski, Benjamin Crawford, Nick Ho, Tien-Yiao Hsu, Yueshan Liang, Zhixing Liu, Veeramakali Manivannan, Eric Pham, Rohith Vutukuru, Andrew I. L. Williams, Zhiqi Yang, Rose Yu, Nicholas J. Lutsko, Stephan Hoyer, and Duncan Watson-Parris

Read the article

The Ensemble Kalman Inversion Race

Preprint

Rebecca Gjini, Matthias Morzfeld, Oliver R.A. Dunbar, and Tapio Schneider

Read the article

Experience.

Contact.

Rebecca.Gjini@colorado.edu
  • Engineering Center,
  • Department of Applied Mathematics,
  • University of Colorado Boulder