Sign in

Martin Gauch

@gauchm.bsky.social
81 followers 112 following 14 posts

Deep learning & earth science @ Google Research

PostsRepliesMedia
Reposted by Martin Gauch
Daniel Klotz @danklotz.bsky.social · 24/04/2026
041
Reposted by Martin Gauch
Frederik Kratzert @kratzert.bsky.social · 12/03/2026
Excited to announce Groundsource - an open-source dataset of historic flood events! This has easily been one of the coolest projects I've worked on recently! Thread 🧵 for details and all relevant links. 1/n
A worldmap of the spatial distribution of extracted flood events in the Groundsource dataset. The map displays the total number of flood events extracted by the LLM-based pipeline aggregated per grid cell. The data are visualized using a Robinson projection, with event counts represented by a logarithmic color scale. Red points indicate the spatial centroids of reference flood events from the GDACS database.
27339
Martin Gauch @gauchm.bsky.social · 14/01/2026
Also, we finally stopped using conda and now use uv to install environments. If you, too, have stared at the "Solving environment" message for hours, give the new installation method a try! More details in neuralhydrology.readthedocs.io/en/latest/us...
neuralhydrology.readthedocs.io
Quick Start — NeuralHydrology 1.13.0 documentation
020
Martin Gauch @gauchm.bsky.social · 14/01/2026
New #NeuralHydrology release 🎉 Some news from v1.13.0: * CAMELS-IND & CAMELS-DE support * AORC hourly forcing support * xLSTM supportSupport for embedding layers in MTS-LSTMs ...and various other improvements and fixes. The full release notes: github.com/neuralhydrol... Thanks to all contributors!
github.com
Release v1.13.0 · neuralhydrology/neuralhydrology
Setup changes As of #279, NeuralHydrology switched from using conda environments to uv. This has several advantages (e.g., it's much faster to create environments, and we'll be able to get up-to-da...
150
Martin Gauch @gauchm.bsky.social · 03/12/2025
It's an interdisciplinary session so this can be your 2nd abstract. Submission deadline: Jan 15 Thanks to @danklotz.bsky.social for the fantastic BUGS logo!
010
Martin Gauch @gauchm.bsky.social · 03/12/2025
Back by popular demand: At #EGU26 we'll organize another BUGS session: Blunders, Unexpected Glitches, and Surprises! Submit abstracts on ideas that seemed great but didn't work, errors and bugs that led to new insights (or funny stories), or any other unexpected results. www.egu26.eu/session/56997
1138
Martin Gauch @gauchm.bsky.social · 13/11/2025
On that note, props to HESS for getting the bibtex citation right on the first try ("w\_\_\_")! hess.copernicus.org/articles/29/... Google Scholar drops two of the _ but at least escapes the remaining one correctly...
Screenshot from Google Scholar
010
Martin Gauch @gauchm.bsky.social · 13/11/2025
It's (finally) published: hess.copernicus.org/articles/29/... Looking forward to all the different ways the title will be messed up by indexing tools!
hess.copernicus.org
How to deal w___ missing input data
Abstract. Deep learning hydrologic models have made their way from research to applications. More and more national hydrometeorological agencies, hydro power operators, and engineering consulting comp...
130
Reposted by Martin Gauch
EGU Hydrological Sciences Division @hs.egu.eu · 01/05/2025
Congratulations to Frederik Kratzert on winning this year's Arne Richter Award for outstanding research by an early career scientist. Fantastic presentation at #EGU25 this afternoon!
1295
Martin Gauch @gauchm.bsky.social · 22/04/2025
I can't compete with @kratzert.bsky.social's swag game, but I'll contribute a few old NeuralHydrology stickers that I found recently :)
010
Reposted by Martin Gauch
Frederik Kratzert @kratzert.bsky.social · 07/04/2025
Now on HESSD for open discussion: egusphere.copernicus.org/preprints/20... They even let us keep the paper title (for now?!) 🙄
egusphere.copernicus.org
How to deal w___ missing input data
Abstract. Deep learning hydrologic models have made their way from research to applications. More and more national hydrometeorological agencies, hydro power operators, and engineering consulting comp...
1101
Martin Gauch @gauchm.bsky.social · 18/03/2025
NeuralHydrology just got a little better, especially if you're building custom models :)
030
Martin Gauch @gauchm.bsky.social · 15/03/2025
Paper: eartharxiv.org/repository/v... Code to reproduce is part of NeuralHydrology 1.12.0 which we just released: github.com/neuralhydrol... Code to analyze results: github.com/gauchm/missi...
github.com
GitHub - neuralhydrology/neuralhydrology: Python library to train neural networks with a strong focus on hydrological applications.
Python library to train neural networks with a strong focus on hydrological applications. - neuralhydrology/neuralhydrology
000
Martin Gauch @gauchm.bsky.social · 15/03/2025
All of the approaches work pretty well! Masked mean tends to perform a little better, but it's often quite close. More details, experiments, figures, etc. in the paper. All of this is joint work with @kratzert.bsky.social, @danklotz.bsky.social, Grey Nearing, Debby Cohen, and Oren Gilon.
Median NSE and KGE across 531 basins at different amounts of missing input time steps. The dotted horizontal line provides the baseline of a model that cannot deal with missing data but is trained to ingest all three forcing groups at every time step. The dashed line represents the baseline of a model that uses the worst individual set of forcings (NLDAS). The shaded areas indicate the spread between minimum and maximum values across three seeds; the solid lines represent the median.
110
Martin Gauch @gauchm.bsky.social · 15/03/2025
3) Attention: A more general variant of the masked mean that uses an attention mechanism to dynamically weight the embeddings in the average based on additional information, e.g., the basins' static attributes.
Illustration of the attention embedding strategy. Each forcing provider is projected to the same size through its own embedding network. The resulting embedding vectors become the keys and values. The static attributes, together with a binary flag for each provider, serve as the query. The attention-weighted average of embeddings is passed on to the LSTM.
100
Martin Gauch @gauchm.bsky.social · 15/03/2025
2) Masked mean: Embed each group of inputs separately (a group being the inputs from one data provider) and average the embeddings that are available at a given time step. This is what we currently do in Google's operational flood forecasting model.
Illustration of the masked mean strategy. Each forcing provider is projected to the same size through its own embedding network. The resulting embeddings of valid providers are averaged and passed on to the LSTM.
100
Martin Gauch @gauchm.bsky.social · 15/03/2025
In the paper we present and compare three ways to deal with those situations: 1) Input replacing: Just replace NaNs with some fixed value and concatenate the inputs with a flag to indicate missing data.
Illustration of the input replacing strategy. NaNs in the input data for a given time step are replaced by zeros, all forcings are concatenated, together with one binary flag for each forcing group which indicates whether that group was NaN or not. The resulting vector is passed through an embedding network to the LSTM.
100
Martin Gauch @gauchm.bsky.social · 15/03/2025
Starting on bsky with a new preprint: "How to deal w___ missing input data" doi.org/10.31223/X50... Missing input data is a very common challenge in deep learning for hydrology: weather providers have outages, some data products start later than others, some only exist for certain regions, etc.
Different scenarios for missing input data: outages at individual time steps (top), data products starting at different points in time (middle), and local data products that are not available for all basins (bottom). All of these scenarios reduce the number of training samples for models that cannot cope with missing data (yellow, small box), while the models presented in this paper can be trained on all samples with valid targets (purple, large box).
1195