https://github.com/piras-s/oceananalysisprocess
This project models expected temperature drop across the ocean's cool skin layer behavior from meteorological inputs, then compares predictions to 2021 satellite data to identify anomalies. Includes uncertainty quantification and spatial-temporal analysis.
https://github.com/piras-s/oceananalysisprocess
bayesian-inference data-visualization gaussian-process-regression gaussian-processes machine-learning model-evaluation ocean python3 satellite-data
Last synced: about 6 hours ago
JSON representation
This project models expected temperature drop across the ocean's cool skin layer behavior from meteorological inputs, then compares predictions to 2021 satellite data to identify anomalies. Includes uncertainty quantification and spatial-temporal analysis.
- Host: GitHub
- URL: https://github.com/piras-s/oceananalysisprocess
- Owner: Piras-S
- License: gpl-3.0
- Created: 2025-03-25T14:13:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-27T09:24:01.000Z (over 1 year ago)
- Last Synced: 2025-04-04T08:18:05.444Z (about 1 year ago)
- Topics: bayesian-inference, data-visualization, gaussian-process-regression, gaussian-processes, machine-learning, model-evaluation, ocean, python3, satellite-data
- Language: Jupyter Notebook
- Homepage:
- Size: 954 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gaussian Process Regression for Ocean Temperature Anomaly Detection
This project explores the detection of climate anomalies using Gaussian Process Regression (GPR) on real satellite-derived oceanographic data. The goal is to model the expected behavior of a key variable (tdrop, representing the temperature drop across the ocean's cool skin layer) and identify regions or times where observations deviate significantly from this model.
---
## Project Overview
- **Data**: NASA satellite reanalysis data from the MERRA-2 dataset, available at Source: [Kaggle – OCEAN DATA / CLIMATE CHANGE / NASA](https://www.kaggle.com/datasets/brsdincer/ocean-data-climate-change-nasa)
- **Model**: Gaussian Process Regression (scikit-learn)
- **Target**: `tdrop` (temperature drop across cool layer)
- **Features**:
- `tbar` – average temperature of the interface layer
- `tskinice` – skin temperature over sea ice
- `rainocn` – ocean rainfall
- `delts` – surface skin temperature change
- **Training**: August 1st, 2018
- **Testing & Anomaly Detection**: August 1st, 2021
---
## Requirements:
Python 3.8+
NumPy, pandas, matplotlib, xarray
scikit-learn
joblib
---
## How to run it:
Train the model (optional, will be auto-triggered if missing):
- Run train_model.ipynb or
- Call train_and_save_gpr_model() from train_model.py
Run the analysis:
- Open analyze_results.ipynb
- or run the script python analyze_results.py
---
## Repository Structure
```bash
├── train_model.ipynb # Notebook to train GPR model
├── analyze_results.ipynb # Notebook to evaluate predictions and detect anomalies
└── README.md # You are here!