Adnan Dehghani

Adnan Dehghani

I build GPU-scale physics-informed surrogates that replace slow simulators. Today: rivers across a continent.

PhD student at Rice University, graduating May 2028. Open to research internships for summer 2027 and to research scientist and ML roles from 2028.

Basins: select one to trace it on the map

Select a basin to trace it.

Rio GrandePecosColoradoBrazosTrinityRedNuecesSabineGuadalupeCanadianHouston0100200 km
Rivers of Texas draining more than 400 km², colored by the basin they drain to. Water fills each river after travelling its upstream length, then keeps flowing downstream. HydroRIVERS v1.0.

Selected work

A year of Texas rivers in under half an hour

HPC for a 30 m land and river model, and an honest price for every shortcut.

HydroBlocks simulates the land surface at 30 m. I coupled it both ways with a river network of 87,987 reaches over Texas, split the state into 1,118 tiles that follow the network, and gave each tile its own adaptive time step.

The speed is not free. Tiles exchange water once per coupling window, so a flood wave reaches the next tile about one window late. The paper measures that cost on 69,154 reach-level events and picks the window from how fast rivers rise.

window 1window 2window 3Tile 1upstreamTile 2downstreamexchange
bWhy the speed costs delay. Ticks are routing steps, short only while the wave passes; arrows are the once-per-window exchange, so the wave reaches tile 2 a window late. Schematic.
One simulated year, all of Texas
under 30 min on 4 nodes
One simulated year, Brazos basin
66 min to under 9 min
Energy, optimized against naive setup
one sixth
Routing substeps removed
98.5%
Tile placement
8 to 14% faster, rivers byte-identical

First-author paper in preparation, with Han, Sahin, Bacelar and Vergopolan. Talks at AGU 2025 and AMS 2026.

Texas divided into about eleven hundred irregular tiles that follow river basins, each tile tinted by its basin's color, with the main rivers drawn on top.
aThe Texas build: 1,108 land tiles cut along the river network, tinted by basin, with the main rivers on top. Each tile runs on its own processor and its own time step.
Fixed 10 s steps, water exchanged at every step3,813 sWater exchanged once per 15 min window731 s5.2x fasterPlus an adaptive step for every tile412 s9.3x faster
cWhere the time goes. Loop time per simulated year, Brazos basin, 48 ranks on two nodes.
0%20%40%60%7x8x9x10xfaster than fixed 10 s stepsmid-size floods shifted in time5 min10 min15 min20 min30 min60 min
Window

15 min (in use): 9.3x faster, 412 s per simulated year, median flood shift 0.88 h, 28.4% of mid-size floods shifted.

dSpeed against flood timing. Pick a window: past 15 minutes, a longer window buys little speed for many more shifted floods.

A graph neural network that routes rivers

A physics-informed surrogate that replaces the routing solver inside the land model.

A river network is a graph: every reach is a node, joined by an edge to the reach it flows into. I trained a MeshGraphNet-style graph neural network on the solver’s output, with the continuity equation in its loss so water is conserved.

It runs 11x faster than the numerical solver and keeps accuracy and water-balance error below 1%. Inside the land model, the solver warms up and the network takes over on CPU or GPU.

Speed against the numerical solver
11x
Accuracy and water-balance error
below 1%
Discharge on validation data
NSE 0.98

With Noemi Vergopolan and Arlei Silva. Presented at AGU Fall Meeting 2025.

River reachesSan Jacinto basin, north of HoustonReach draining 7,354 km²Reach draining 7,317 km²Reach draining 7,251 km²Reach draining 7,235 km²Reach draining 7,200 km²Reach draining 7,165 km²Reach draining 4,677 km²Reach draining 4,647 km²Reach draining 4,628 km²Reach draining 2,479 km²Reach draining 1,996 km²Reach draining 2,588 km²Reach draining 2,028 km²Reach draining 987 km²Reach draining 2,554 km²Reach draining 957 km²Reach draining 913 km²Reach draining 1,023 km²Reach draining 512 km²Reach draining 456 km²Reach draining 413 km²Reach draining 439 km²Reach draining 944 km²Reach draining 1,269 km²Reach draining 837 km²Reach draining 813 km²Reach draining 659 km²Reach draining 674 km²Reach draining 742 km²Reach draining 411 km²Reach draining 831 km²Reach draining 930 km²Reach draining 1,049 km²Reach draining 955 km²Reach draining 501 km²Reach draining 974 km²Reach draining 904 km²Reach draining 2,500 km²Reach draining 2,432 km²Reach draining 530 km²Reach draining 740 km²Reach draining 816 km²Reach draining 825 km²Reach draining 858 km²Reach draining 2,418 km²Reach draining 2,304 km²Reach draining 2,263 km²Reach draining 2,243 km²Reach draining 2,162 km²Reach draining 629 km²Reach draining 599 km²Reach draining 756 km²Reach draining 1,253 km²Reach draining 1,211 km²Reach draining 1,138 km²Reach draining 585 km²Reach draining 418 km²Reach draining 1,063 km²Reach draining 968 km²Reach draining 934 km²Reach draining 793 km²Reach draining 702 km²Reach draining 641 km²Reach draining 506 km²Reach draining 453 km²Reach draining 446 km²66 nodes, one per reachHover a node: its path to the outlet
aThe San Jacinto basin north of Houston as rivers, and as the graph the network learns on. Hover a node to follow its water to the outlet, the way information passes through the network.
0306090Jan 1Jan 8Jan 15Jan 22Jan 29discharge, m³/snumerical solvergraph network

Move along the chart to read the two models on any day.

bDischarge at one reach, January 2019: the network against the solver through every flood peak. Move along it to read both. Redrawn from the AGU 2025 validation figure.

Where do a language model’s water numbers come from?

WATERLINE: a benchmark that checks AI answers against gauges and against physics.

Language models now answer questions about rivers and floods. I give 20 models only the location of 670 US basins, no data, and ask for yearly rain, evaporation demand and runoff. Every answer is checked against stream gauges and against the water balance.

Accuracy and physics turn out to be different skills. Fable 5 was within 13% on the median basin and broke the water balance in only 7. Among open models the two are unrelated: Gemma 3 4B is rarely impossible but often wrong, while Llama 3.1 8B is impossible in almost half the basins.

A basinlatitude, longitudeno data attachedLanguage modelrain P, demand PET,runoff Q per yearAgainst gauges670 CAMELS basins,median error of QAgainst physicsimpossible if Q > P,or if evaporation P − Qexceeds PET
bThe protocol. The model sees a location only; every answer is checked twice.
Basins (CAMELS, 1989 to 2009)
670
Models tested
20
Median runoff error, Fable 5
13%
Impossible water balance, Fable 5
7 basins (1.0%)
Impossible water balance, Haiku 4.5
138 basins (20.6%)

Preliminary results from my qualifying-exam proposal, Rice University, 2026.

0%10%20%30%40%50%0%20%40%60%80%median runoff error against gaugesbasins with an impossible water balanceFable 5: median error 13%, impossible in 1% of basins. Click to open its map.Fable 5Opus 5: median error 14.3%, impossible in 4.6% of basins. Click to open its map.Opus 5Sonnet 5: median error 22%, impossible in 7.3% of basinsHaiku 4.5: median error 31%, impossible in 20.6% of basins. Click to open its map.Haiku 4.5Qwen3 32B: median error 44.4%, impossible in 11.8% of basins. Click to open its map.Qwen3 32Bgpt-oss 20B: median error 52.2%, impossible in 12% of basinsGemma 3 27B: median error 60.8%, impossible in 26.9% of basinsGemma 3 27BLlama 3.1 8B: median error 62.7%, impossible in 47.3% of basinsLlama 3.1 8BQwen3 8B: median error 64.5%, impossible in 19% of basinsQwen3 14B: median error 65%, impossible in 5.7% of basinsGemma 3 12B: median error 66.1%, impossible in 46.9% of basinsGemma 3 12BGemma 3 4B: median error 66.6%, impossible in 2.5% of basinsGemma 3 4BQwen3 4B: median error 67.8%, impossible in 4.5% of basinsOLMo 2 7B: median error 73.8%, impossible in 16.5% of basinsQwen3 1.7B: median error 81.1%, impossible in 9.8% of basinsClaude modelsopen-weight models
aFifteen models that answered at least 500 of 670 basins; hover a point for its numbers. Red rings: impossible in more than 15% of basins. Five models answered too few basins to place.
Map of yearly runoff at 670 US basins as Fable 5 estimated it from coordinates alone.
20 to 2,000 mm of runoff a year, brighter is wetter

Fable 5, from coordinates alone: median error 13%; 7 of 670 basins impossible.

cExplore the maps. Choose a model and a view; points in panel a with a map open it here.

Built and shipped

Research Data Scientist, Aboitiz Data Innovation and UnionBank, Singapore, 2022 to 2024

  • Led a team of five (three data scientists, a software engineer and an intern) building A-GPT, a ChatGPT-based internal assistant.
  • Fine-tuned Gemma with LoRA and built a retrieval pipeline over 5,000+ pages of confidential loan documents, served on-premise so the data never left the bank. Answer relevance rose 54% in evaluation; 70+ audit officers use it to review corporate loans.
  • Built a machine-learning property valuation model covering roughly 750,000 properties.
  • Wrote responsible-AI guidelines and toolkits, named one of the Global Top 100 AI projects by UNESCO IRCAI in 2022.
inside the bank's network5,000+ pagesloan documentsRetrievalindexGemma + LoRAon-prem, OllamaAnswer relevance +54% in evaluation70+ auditofficersHosted APIs:not allowed
The audit assistant. Loan data could not leave the bank, so the model came to the data.

On the side

LandAI
Land-deal screening for the Houston metro: 2.9 million parcels on vector tiles, with a natural-language query assistant.
News_Flood
An open replica of Google’s Groundsource flood dataset, built from news reports.
GymBuddy
An iOS app that plans workouts with an AI coach.
MostLikely
An iOS party game built with SwiftUI and Firebase.

Papers

In preparation

  • Accelerating hyper-resolution hydrological modeling on HPC systems by leveraging river network structure and adaptive time-stepping. A. Dehghani, Han, Sahin, Bacelar, N. Vergopolan.

Peer reviewed

  1. 2024
  2. 2024

    Implementing generative adversarial network (GAN) as a data-driven multi-site stochastic weather generator for flood frequency estimation

    H. K. Ji, M. Mirzaei, S. H. Lai, A. Dehghani, A. Dehghani. Environmental Modelling & Software.

  3. 2023
  4. 2023

    The robustness of conceptual rainfall-runoff modelling under climate variability: a review

    H. K. Ji, M. Mirzaei, S. H. Lai, A. Dehghani, A. Dehghani. Journal of Hydrology.

  5. 2022

    Hybrids of machine learning techniques and wavelet regression for estimation of daily solar radiation

    S. Mohsenzadeh Karimi, M. Mirzaei, A. Dehghani, H. Galavi, Y. F. Huang. Stochastic Environmental Research and Risk Assessment.

  6. 2021

All papers as BibTeX

Talks

  • Accelerating continental-scale hyper-resolution river routing with physics-informed neural operators. AGU Fall Meeting, 2025.
  • Scalable physics-informed AI for continental hydrologic modeling. AMS Annual Meeting, 2026.

Fellowships and grants

  • Mills-Bennett Fellowship, Rice University, 2026 to 2027
  • TWRI Graduate Student Research Program, funded by the USGS, 2025 to 2026
  • CUAHSI Hydroinformatics Fellowship, 2025
  • E4 Cooper Seed Grant, physics-based AI for flood and drought at the Texas scale

About

IsfahanBS 2013 to 2017TehranMS 2017 to 2020Kuala LumpurHydrodata Lab 2019 to 2022SingaporeAboitiz 2022 to 2024HoustonRice 2024 to now
Portrait of Adnan Dehghani

I trained as a mechanical engineer in Iran, at Isfahan University of Technology and Iran University of Science and Technology, where I finished second in my master’s class. Fluid mechanics led me to water, and water led me to machine learning: three years at the University of Malaya’s Hydrodata Lab in Kuala Lumpur, forecasting floods and droughts, and six peer-reviewed papers.

In Singapore I moved to industry and led an LLM product team at Aboitiz Data Innovation. At Rice I work on what I care about most: making physical simulation fast enough to run everywhere it is needed. My advisor is Noemi Vergopolan.

Outside work I lift weights and build small apps for friends.

Write to me at adnand@rice.edu.