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
Last synced: 10 months ago · JSON representation ·

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
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Code for "Learning Propagators for Sea Surface Height Forecasts Using Koopman Autoencoders"

DOI Version License: MIT

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/
  • 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

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

setup.py pypi
environment.yaml pypi
  • iniconfig ==2.0.0
  • pip ==23.3.2
  • pluggy ==1.4.0
  • pytest ==7.4.4