GCM-Filters

GCM-Filters: A Python Package for Diffusion-based Spatial Filtering of Gridded Data - Published in JOSS (2022)

https://github.com/ocean-eddy-cpt/gcm-filters

Science Score: 100.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 16 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: wiley.com, joss.theoj.org
  • Committers with academic emails
    6 of 14 committers (42.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 84% confidence
Engineering Computer Science - 60% confidence
Last synced: 6 months ago · JSON representation ·

Repository

Diffusion-based Spatial Filtering of Gridded Data

Basic Info
Statistics
  • Stars: 43
  • Watchers: 6
  • Forks: 28
  • Open Issues: 13
  • Releases: 12
Created about 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Code of conduct Citation Zenodo

README.md

GCM Filters

Tests codecov pre-commit Documentation Status Conda Version PyPI version Downloads DOI

GCM-Filters: Diffusion-based Spatial Filtering of Gridded Data

Description

GCM-Filters is a python package that performs spatial filtering analysis in a flexible and efficient way. The GCM-Filters algorithm applies a discrete Laplacian to smooth a field through an iterative process that resembles diffusion (Grooms et al., 2021). The package can be used for either gridded observational data or gridded data that is produced by General Circulation Models (GCMs) of ocean, weather, and climate. Such GCM data come on complex curvilinear grids, whose geometry is respected by the GCM-Filters Laplacians. Through integration with dask, GCM-Filters enables parallel, out-of-core filter analysis on both CPUs and GPUs.

Installation

GCM-Filters can be installed using conda: shell conda install -c conda-forge gcm_filters

GCM-Filters can also be installed with pip: shell pip install gcm_filters

Getting Started

To learn how to use GCM-Filters for your data, visit the GCM-Filters documentation.

Binder Demo

Click the button below to run an interactive demo of GCM-Filters in Binder:

badge

Get in touch

Report bugs, suggest features or view the source code on GitHub.

License and copyright

GCM-Filters is licensed under version 3 of the Gnu Lesser General Public License.

Development occurs on GitHub at https://github.com/ocean-eddy-cpt/gcm-filters.

How to cite GCM-Filters

If you are using GCM-Filters and would like to cite it in academic publications, we would certainly appreciate it. We recommend two citations.

  • Loose et al., (2022). GCM-Filters: A Python Package for Diffusion-based Spatial Filtering of Gridded Data. Journal of Open Source Software, 7(70), 3947, https://doi.org/10.21105/joss.03947

Here’s an example of a BibTeX entry:

shell @article{Loose2022, author = {Nora Loose and Ryan Abernathey and Ian Grooms and Julius Busecke and Arthur Guillaumin and Elizabeth Yankovsky and Gustavo Marques and Jacob Steinberg and Andrew Slavin Ross and Hemant Khatri and Scott Bachman and Laure Zanna and Paige Martin}, title = {GCM-Filters: A Python Package for Diffusion-based Spatial Filtering of Gridded Data}, journal = {Journal of Open Source Software}, volume = {7}, number = {70}, pages = {3947}, doi = {10.21105/joss.03947}, url = {https://doi.org/10.21105/joss.03947}, year = {2022}, publisher = {The Open Journal}, }

  • Grooms et al., (2021). Diffusion-Based Smoothers for Spatial Filtering of Gridded Geophysical Data. Journal of Advances in Modeling Earth Systems, 13, e2021MS002552, https://doi.org/10.1029/2021MS002552

Here’s an example of a BibTeX entry:

shell @article{Grooms2021, author = {Grooms, I. and Loose, N. and Abernathey, R. and Steinberg, J. M. and Bachman, S. D. and Marques, G. and Guillaumin, A. P. and Yankovsky, E.}, title = {Diffusion-Based Smoothers for Spatial Filtering of Gridded Geophysical Data}, journal = {Journal of Advances in Modeling Earth Systems}, volume = {13}, number = {9}, pages = {e2021MS002552}, keywords = {spatial filtering, coarse graining, data analysis}, doi = {https://doi.org/10.1029/2021MS002552}, url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2021MS002552}, year = {2021} }

Owner

  • Name: Ocean Eddy CPT
  • Login: ocean-eddy-cpt
  • Kind: organization
  • Location: The Earth System

Ocean Transport and Eddy Energy Climate Process Team

JOSS Publication

GCM-Filters: A Python Package for Diffusion-based Spatial Filtering of Gridded Data
Published
February 11, 2022
Volume 7, Issue 70, Page 3947
Authors
Nora Loose ORCID
Department of Applied Mathematics, University of Colorado Boulder, Boulder, CO, USA
Ryan Abernathey ORCID
Lamont-Doherty Earth Observatory, Columbia University, New York, NY, USA
Ian Grooms ORCID
Department of Applied Mathematics, University of Colorado Boulder, Boulder, CO, USA
Julius Busecke ORCID
Lamont-Doherty Earth Observatory, Columbia University, New York, NY, USA
Arthur Guillaumin ORCID
Courant Institute of Mathematical Sciences, New York University, New York, NY, USA
Elizabeth Yankovsky ORCID
Courant Institute of Mathematical Sciences, New York University, New York, NY, USA
Gustavo Marques ORCID
Climate and Global Dynamics Division, National Center for Atmospheric Research, Boulder, CO, USA
Jacob Steinberg ORCID
Woods Hole Oceanographic Institution, Woods Hole, MA, USA
Andrew Slavin Ross ORCID
Courant Institute of Mathematical Sciences, New York University, New York, NY, USA
Hemant Khatri ORCID
Earth, Ocean and Ecological Sciences, University of Liverpool, UK
Scott Bachman ORCID
Climate and Global Dynamics Division, National Center for Atmospheric Research, Boulder, CO, USA
Laure Zanna ORCID
Courant Institute of Mathematical Sciences, New York University, New York, NY, USA
Paige Martin ORCID
Lamont-Doherty Earth Observatory, Columbia University, New York, NY, USA, Research School of Earth Sciences, Australian National University, Canberra, Australia
Editor
Jayaram Hariharan ORCID
Tags
ocean modeling climate modeling fluid dynamics

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Loose
    given-names: Nora
    orcid: https://orcid.org/0000-0002-3684-9634
  - family-names: Abernathey
    given-names: Ryan
    orcid: https://orcid.org/0000-0001-5999-4917
  - family-names: Grooms
    given-names: Ian
    orcid: https://orcid.org/0000-0002-4678-7203
  - family-names: Busecke
    given-names: Julius
    orcid: https://orcid.org/0000-0001-8571-865X
  - family-names: Guillaumin
    given-names: Arthur
    orcid: https://orcid.org/0000-0003-1571-4228
  - family-names: Yankovsky
    given-names: Elizabeth
    orcid: https://orcid.org/0000-0003-3612-549X
  - family-names: Marques
    given-names: Gustavo
    orcid: https://orcid.org/0000-0001-7238-0290
  - family-names: Steinberg
    given-names: Jacob
    orcid: https://orcid.org/0000-0002-2609-6405
  - family-names: Ross
    given-names: Andrew Slavin
    orcid: https://orcid.org/0000-0002-2368-6979
  - family-names: Khatri
    given-names: Hemant
    orcid: https://orcid.org/0000-0001-6559-9059
  - family-names: Bachman
    given-names: Scott
    orcid: https://orcid.org/0000-0002-6479-4300
  - family-names: Zanna
    given-names: Laure
    orcid: https://orcid.org/0000-0002-8472-4828
  - family-names: Martin
    given-names: Paige
    orcid: https://orcid.org/0000-0003-3538-633X


title: "GCM-Filters: A Python Package for Diffusion-based Spatial Filtering of Gridded Data"
version: v0.2.1
date-released: 2022-02-10

GitHub Events

Total
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 9
  • Push event: 1
  • Pull request review event: 1
  • Pull request event: 1
  • Fork event: 2
Last Year
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 9
  • Push event: 1
  • Pull request review event: 1
  • Pull request event: 1
  • Fork event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 636
  • Total Committers: 14
  • Avg Commits per committer: 45.429
  • Development Distribution Score (DDS): 0.421
Past Year
  • Commits: 29
  • Committers: 1
  • Avg Commits per committer: 29.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
NoraLoose n****e@g****m 368
Ian Grooms i****s@c****u 79
Ryan Abernathey r****y@g****m 55
Julius Busecke j****s@l****u 39
Arthur a****n@g****m 29
Andrew Ross a****s@g****m 12
Jake Steinberg j****g@w****u 10
Gustavo Marques g****s@u****u 10
Paige Martin p****r@u****u 9
Hemant Khatri h****1@g****m 9
Elizabeth A Yankovsky e****6@l****r 9
Elizabeth A Yankovsky e****6@l****r 4
Scott Bachman b****n@u****u 2
Romain Caneill r****l@e****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 51
  • Total pull requests: 67
  • Average time to close issues: 8 months
  • Average time to close pull requests: 26 days
  • Total issue authors: 17
  • Total pull request authors: 11
  • Average comments per issue: 5.02
  • Average comments per pull request: 3.63
  • Merged pull requests: 64
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 7
  • Average time to close issues: about 21 hours
  • Average time to close pull requests: about 3 hours
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • NoraLoose (16)
  • jbusecke (10)
  • rabernat (8)
  • asross (2)
  • isgiddy (2)
  • dhruvbalwada (2)
  • paigem (2)
  • rcaneill (1)
  • yangminah (1)
  • iangrooms (1)
  • AleksiNummelin (1)
  • marimpacheco (1)
  • Pperezhogin (1)
  • ElizabethYankovsky (1)
  • aidanheerdegen (1)
Pull Request Authors
  • NoraLoose (46)
  • iangrooms (7)
  • rabernat (7)
  • jbusecke (4)
  • asross (2)
  • jakesteinberg (2)
  • arthurBarthe (1)
  • paigem (1)
  • ElizabethYankovsky (1)
  • gustavo-marques (1)
  • rcaneill (1)
Top Labels
Issue Labels
question (12) documentation (6) kernels (4) bug (3) enhancement (3) packaging (1)
Pull Request Labels
bug (1) documentation (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 3,778 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 5
    (may contain duplicates)
  • Total versions: 15
  • Total maintainers: 1
pypi.org: gcm-filters

Diffusion-based Spatial Filtering of Gridded Data

  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 3,778 Last month
  • Docker Downloads: 0
Rankings
Docker downloads count: 2.0%
Forks count: 7.7%
Dependent packages count: 10.0%
Stargazers count: 11.1%
Average: 12.1%
Downloads: 19.8%
Dependent repos count: 21.8%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: gcm_filters

**GCM-Filters** is a python package that performs spatial filtering analysis in a flexible and efficient way. The GCM-Filters algorithm applies a discrete Laplacian to smooth a field through an iterative process that resembles diffusion ([Grooms et al., 2021](https://doi.org/10.1029/2021MS002552)). The package can be used for either gridded observational data or gridded data that is produced by General Circulation Models (GCMs) of ocean, weather, and climate. Such GCM data come on complex curvilinear grids, whose geometry is respected by the GCM-Filters Laplacians. Through integration with [dask](https://dask.org/), GCM-Filters enables parallel, out-of-core filter analysis on both CPUs and GPUs.

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 4
Rankings
Dependent repos count: 16.1%
Forks count: 34.7%
Average: 37.0%
Stargazers count: 45.7%
Dependent packages count: 51.6%
Last synced: 6 months ago

Dependencies

requirements-dev.txt pypi
  • black * development
  • check-manifest * development
  • doctr * development
  • flake8 * development
  • flake8-builtins * development
  • flake8-comprehensions * development
  • flake8-mutable * development
  • flake8-print * development
  • interrogate * development
  • isort * development
  • nbsphinx * development
  • pre-commit * development
  • pylint * development
  • pytest * development
  • pytest-cov * development
  • pytest-flake8 * development
  • pytest-lazy-fixture * development
  • pytest-xdist * development
  • recommonmark * development
  • setuptools_scm * development
  • sphinx * development
  • twine * development
  • wheel * development
  • zarr * development
requirements.txt pypi
  • dask *
  • matplotlib *
  • scipy *
  • xarray *
.github/workflows/pre-commit.yml actions
  • actions/checkout v2.3.5 composite
  • actions/setup-python v2 composite
  • pre-commit/action v2.0.0 composite
.github/workflows/publish-to-pypi.yml actions
  • actions/checkout master composite
  • actions/setup-python v1 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/tests.yaml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • conda-incubator/setup-miniconda v2 composite
docs/environment.yml pypi
pyproject.toml pypi
setup.py pypi