koopman_autoencoders_ssh_prediction
https://github.com/andrewbrettin/koopman_autoencoders_ssh_prediction
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.3%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: andrewbrettin
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 2.15 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Code for "Learning Propagators for Sea Surface Height Forecasts Using Koopman Autoencoders"
This paper contains code for Brettin, Zanna, and Barnes (2025), Geophysical Research Letters.
Contents:
Repository structure
bash
koopman_autoencoders_ssh_prediction/
├─ README.md
├─ LICENSE.md
├─ src/
├─ data_processing/
├─ train/
├─ computing/
├─ qsub/
├─ figures/
├─ setup.py
├─ install_packages.sh
├─ jobqueue.yaml
├─ development_log.md
|name|description|
|----|-----------|
| src | Source code for python package.|
| data_processing | Data processing pipeline.|
| train | Directory for training networks.|
| computing | Directory for miscellaneous computation. |
| qsub | PBS scripts and logs for batch jobs.|
| figures | Scripts for creating figures.|
Package structure
bash
src/
├─ attrs.py
├─ settings.py
├─ data/
│ └─ loading.py
├─ tools/
│ ├─ processing.py
│ ├─ metrics.py
│ └─ comp.py
├─ models/
│ ├─ autoencoder.py
│ ├─ base.py
│ ├─ cnn.py
│ └─ linear_models.py
├─ train/
│ ├─ datasets.py
│ └─ losses.py
└─ utils.py
- data/: utilities for loading data.
- tools/:
- processing.py Processing tools, e.g., standardization, reshaping data, shifting times, etc.
- metrics.py Metrics, like MSE and weighted variance explained.
- comp.py Computational tools, like autocorrelation, spectrum.
- models/:
- base.py Base class for neural networks (adds save functionality)
- cnn.py Module for CNN autoencoder and CNN Koopman Autoencoder classes
- linear_models.py Baselines, like PCA, DP, and LIM.
- train/
- datasets.py Pytorch dataset classes for regression.
- losses.py Loss functions.
- attrs.py Project globals, e.g. file path names and constants.
- utils.py Various utility functions, like logging outputs with timestamps and for printing script configurations.
Installing packages
``` conda create -n koopman python=3.11 conda activate koopman
conda install -c conda-forge xesmf gcm_filters dask netCDF4 -y conda install -c conda-forge numpy scipy pandas xarray -y
conda install pytorch torchvision pytorch-cuda=11.8 -c pytorch -c nvidia -y
conda install -c conda-forge ipykernel ipywidgets tqdm -y conda install -c conda-forge distributed dask-jobqueue joblib cython bottleneck -y conda install -c conda-forge zarr cftime nc-time-axis -y conda install -c conda-forge xrft scikit-learn scikit-image lightning -y conda install -c conda-forge -c pyviz matplotlib seaborn cartopy cmocean bokeh hvplot -y
which pip pip install --upgrade pip pip install -e . pip install pytest pytest -v --pyargs xesmf
conda install -c conda-forge rechunker -y conda install -c conda-forge pytables pip install wandb ```
Owner
- Login: andrewbrettin
- Kind: user
- Repositories: 4
- Profile: https://github.com/andrewbrettin
Aspiring PEP8 adherent
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: “Brettin” given-names: “Andrew” orcid: "https://orcid.org/0000-0002-7664-6612" - family-names: “Zanna” given-names: “Laure” orcid: "https://orcid.org/0000-0002-8472-4828" - family-names: “Barnes” given-names: “Elizabeth” orcid: “https://orcid.org/0000-0003-4284-9320” title: “Code for ‘Learning Propagators for Sea Surface Height Forecasts Using Koopman Autoencoders’” version: 1.0.0 doi: 10.5281/zenodo.14625155 date-released: 2025-01-09 url: "https://github.com/andrewbrettin/koopman_autoencoders_ssh_prediction"
GitHub Events
Total
- Release event: 1
- Watch event: 1
- Push event: 5
- Fork event: 1
- Create event: 1
Last Year
- Release event: 1
- Watch event: 1
- Push event: 5
- Fork event: 1
- Create event: 1
Dependencies
- iniconfig ==2.0.0
- pip ==23.3.2
- pluggy ==1.4.0
- pytest ==7.4.4