Skip to content
View mfarmani95's full-sized avatar

Block or report mfarmani95

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mfarmani95/README.md

Moe Farmani

Ph.D. Candidate | Hydrology & Atmospheric Sciences

University of Arizona | Integrating Physics, Machine Learning & Data Science

Website Email Google Scholar ResearchGate LinkedIn


🌍 About Me

I am a Ph.D. candidate in Hydrology and Atmospheric Sciences at the University of Arizona, with research interests spanning physical hydrology, geospatial data science, and machine learning.

My experience includes large-scale physical and hydrologic modeling with Noah-MP and RAPID, along with geospatial analysis and scientific computing using xarray, GDAL, GIS, and Python. I work extensively with large environmental datasets, hydrologic workflows, and reproducible model evaluation pipelines.

I also develop deep learning, hybrid physics–ML, and distributed GPU-based workflows for hydrologic prediction. My current focus is on building data pipelines and modeling frameworks in PyTorch, including translating Fortran-based models such as Noah-MP into GPU-enabled, deep-learning-ready implementations that can be coupled with neural networks.

I am particularly interested in building scalable and interpretable systems that unify physical models, geospatial data, and modern machine learning for water-resources applications.


💡 Research Directions

🔬 Hydrologic & Land-Surface Modeling

  • Noah-MP & RAPID models for infiltration, runoff, baseflow, and soil moisture dynamics
  • Process-based model development, calibration, and uncertainty quantification
  • High-performance computing (HPC) implementations for large-scale simulations
  • Snow-hydrology interactions and subsurface water dynamics

🤖 Differentiable Hydrology & Machine Learning

  • PyTorch implementations for GPU-accelerated parameter optimization
  • Hybrid physics-guided + machine learning systems
  • Differentiable modeling enabling automatic differentiation through hydrology
  • Neural networks with physical constraints and conservation laws

🌊 Streamflow Forecasting & Prediction

  • Deep learning approaches: LSTMs, Transformers, attention mechanisms
  • Physics-informed neural networks (PINNs) for process representation
  • Transfer learning for ungauged basins
  • Multi-step ahead forecasting with uncertainty quantification

📊 Data Systems & Reproducible Workflows

  • Python, xarray, geopandas for scalable geospatial analysis
  • SQL databases and cloud computing for big hydrology
  • HPC workflows and containerization (Docker)
  • Open science practices and reproducible pipelines

💧 Water Resources Applications

  • Linking precipitation intensity to groundwater recharge and terrestrial water storage (TWS)
  • Extremes analysis (droughts, floods) in water-limited environments
  • Urban hydrology and stormwater management (SWMM, HEC-RAS)
  • Climate adaptation and water security in drylands

🚀 Current Projects

🔴 Noah-MP-PyTorch: Vectorized Land Surface Modeling with GNN Routing

Status: In Development (Private) | Release: Q3 2026

A fully differentiable, GPU-accelerated implementation of Noah-MP coupled with Graph Neural Network routing for scalable hydrologic modeling.

Key Features:

  • 50x+ speedup over traditional Noah-MP via GPU vectorization
  • 🔄 Fully differentiable – automatic differentiation through entire model
  • 🧠 Graph Neural Networks for learnable streamflow routing
  • 🔗 Hybrid physics-ML – seamless integration with machine learning
  • 📈 Scalable across 1000s of catchments simultaneously

Technical Stack: PyTorch, CUDA, XLA, Physics-Guided ML

Early Access: Available for research collaborations


🟢 Streamflow Prediction with Sequence Models

Status: Active & Available

A modular deep learning framework for streamflow prediction using sequence models, developed for hydrologic forecasting experiments and comparative model analysis.

Key Capabilities:

  • 🧠 Models: LSTM and Transformer architectures for basin-scale streamflow prediction
  • 📦 Modular framework: organized pipeline for data access, preprocessing, training, evaluation, visualization, and experiment management
  • ⚙️ Experiment workflows: configurable YAML-based runs, checkpointing, early stopping, sweep analysis, and model comparison
  • 📊 Evaluation tools: basin-wise metrics, hydrographs, parity plots, flow-regime diagnostics, seasonal skill, and report generation
  • 🌍 Dataset support: MiniCAMELS-based workflows with split-aware analysis and reproducible preprocessing

Tech Stack: PyTorch, YAML Configs, Sequence Modeling, Hydrologic Evaluation, Scientific Python**


🟡 Process-Aware AI for Rainfall–Runoff Modeling

Status: Active · Private repository

Research code accompanying the study “Process-Aware AI for Rainfall–Runoff Modeling: A Mass-Conserving Neural Framework with Hydrological Process Constraints”.

Key Capabilities:

  • 🌧️ Physics-aware rainfall–runoff modeling: mass-conserving neural framework with explicit hydrological process constraints
  • 🧠 Hybrid AI design: integrates machine learning flexibility with physically interpretable storage–flux relationships
  • 🔬 Research focus: process representation, interpretability, and improved hydrologic prediction across catchments
  • 📄 Associated preprint: arXiv:2603.25093

Tech Stack: PyTorch, Physics-Guided ML, Hydrologic Process Modeling, Scientific Machine Learning

Repository is currently private.

Tech Stack: Python, Rasterio, Xarray, NetCDF, YAML, Google Earth Engine, NASA Earthdata API**


Full portfolio, publications, talks, and CV: Website

Pinned Loading

  1. Streamflow_Prediction Streamflow_Prediction Public

    Predicting Streamflow in CAMELS Catchments Using LSTM and Transformers

    Python

  2. LSTM_GNN_routing- LSTM_GNN_routing- Public

    LSTM-GNN routing model for learning streamflow from gridded hydroclimate inputs and Ngen river-network topology.

    Python

  3. NoahMP_Dual NoahMP_Dual Public

    Fortran-based Noah-MP land surface model with enhanced soil physics (mixed-form solver, van Genuchten parameterization, ponding, macropore flow) for hydrological research.

    Fortran 2

  4. BFI-Toolkit BFI-Toolkit Public

    This toolkit provides a simple, efficient way to separate baseflow using recession analysis, compute optimized decay parameters (*k*), and calculate the BFI — a key hydrologic metric for understand…

    Python 2

  5. SMM-Project SMM-Project Public

    A Python toolkit for detecting soil moisture drydowns and computing short-term soil moisture memory (Ts) from soil moisture and precipitation time series.

    Python

  6. coffee_analysis coffee_analysis Public

    Python