Skip to content

James-h-1969/seaseer

Repository files navigation

🌊 SeaSeer

Neural ODE-based spatiotemporal forecasting for ocean & climate data

CI Python 3.9+ Ruff uv


Overview

SeaSeer is a deep learning model that uses Neural ODEs to learn transport dynamics for spatiotemporal ocean/climate forecasting. It combines a convolutional velocity network with optional attention and emission (uncertainty) branches built on a ResNet backbone.

Getting Started

Prerequisites

  • Python 3.9+
  • uv (package manager)

Installation

git clone git@github.com:James-h-1969/thesis.git
cd thesis
uv sync
pre-commit install

Training

cd seaseer
make train

Evaluation

cd seaseer
make eval

Data Generation

Before downloading data, you need to set up credentials for the two data providers:

  1. Copernicus Climate Data Store (ERA5): Register at https://cds.climate.copernicus.eu, then create ~/.cdsapirc with:

    url: https://cds.climate.copernicus.eu/api
    key: <your-api-key>
    
  2. Copernicus Marine (CMEMS): Register at https://data.marine.copernicus.eu/register, then log in once:

    uv run copernicusmarine login

Then generate the data:

make generate_data

This downloads data covering the Great Barrier Reef region (10°S–25°S, 142°E–154°E) from 1993–2018.

Project Structure

seaseer/
├── model.py              # SeaSeer model definition
├── train.py              # Training loop
├── eval.py               # Evaluation script
└── README.md             # SeaSeer-specific docs
helpers/
├── models/
│   ├── ResidualBlock.py  # Residual block module
│   └── ResidualNetwork.py# ResNet backbone
└── scripts/
    └── generate_data.py  # Data download & generation
tests/
├── conftest.py           # Shared test fixtures
└── test_models.py        # Test suite
Makefile                  # Train/eval/data shortcuts

Thesis

This is part of the work done by James Hocking for his thesis 'Seaseer: A Neural ODE for predicting Marine Heat Waves.

About

Repository that holds the work for my thesis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors