Personal Projects

Reservoir Optimization & Control

Adaptive Well Control with Reinforcement Learning

Train a controller to adjust well settings as new production measurements arrive, using reservoir simulations.

PythonPyTorchReinforcement LearningReservoir Simulation
papercode

Coordinated Multi-Well Control with MARL

Explore how wells that affect one another can coordinate their settings to improve shared outcomes in simulation.

PythonPyTorchMulti-Agent RLReservoir Simulation
papercode

Bayesian Optimization of Waterflood Operating Schedules

Search for better water-injection schedules while limiting the number of costly reservoir simulations.

PythonBoTorchBayesian OptimizationStreamlitPlotly
papercodedashboard

Subsurface Modeling & Scientific Machine Learning

Reliable Neural Surrogates for Porous-Media Flow

Build faster approximations of how fluids move through rock, and test when their predictions can be trusted.

PythonPyTorchNeural SurrogatesUncertainty Quantification
papercode

Conditional Generation of Geological Facies

Generate possible underground rock patterns that agree with simulated well observations in a synthetic benchmark.

PythonPyTorchDiffusion ModelsConditional Generation
papercode

Production Forecasting & Intervention Evaluation

Uncertainty-Aware Production and Produced-Water Forecasting

Forecast oil and water production, with ranges that show how uncertain each prediction is.

PythonTime-Series ForecastingUncertainty QuantificationStreamlitPlotly
papercodedashboard

Causal Evaluation of Well Reperforation

Study whether opening new flow paths in a well improves production, beyond changes that might happen anyway.

PythonCausal InferenceLongitudinal Data
papercode

Planned Methods & Tools

PythonUncertainty QuantificationCausal InferenceTime-Series ForecastingScientific Machine LearningPyTorchDiffusion ModelsBayesian OptimizationBoTorchReinforcement LearningMulti-Agent RLReservoir Simulation