GeophysicalFlows.jl
GeophysicalFlows.jl: Solvers for geophysical fluid dynamics problems in periodic domains on CPUs & GPUs - Published in JOSS (2021)
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 13 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
✓Committers with academic emails
6 of 20 committers (30.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Keywords from Contributors
Repository
Geophysical fluid dynamics pseudospectral solvers with Julia and FourierFlows.jl.
Basic Info
- Host: GitHub
- Owner: FourierFlows
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://fourierflows.github.io/GeophysicalFlowsDocumentation/stable/
- Size: 8.68 MB
Statistics
- Stars: 164
- Watchers: 7
- Forks: 33
- Open Issues: 16
- Releases: 54
Topics
Metadata Files
README.md
GeophysicalFlows.jl
💨🌏🌊 Geophysical fluid dynamics pseudospectral solvers with Julia and FourierFlows.jl. https://fourierflows.github.io/GeophysicalFlowsDocumentation/stable
This package leverages the FourierFlows.jl framework to provide modules for solving problems in Geophysical Fluid Dynamics on periodic domains using Fourier-based pseudospectral methods.
Installation
To install, use Julia's built-in package manager (accessed by pressing ] in the Julia REPL command prompt) to add the package and also to instantiate/build all the required dependencies
julia
julia> ]
(v1.10) pkg> add GeophysicalFlows
(v1.10) pkg> instantiate
GeophysicalFlows.jl requires Julia v1.6 or later. However, the package has continuous integration testing on Julia v1.10 (the current long-term release) and v1.11. We strongly urge you to use one of these Julia versions.
Examples
See examples/ for example scripts. These examples are best viewed by browsing them within
the package's documentation.
Some animations created with GeophysicalFlows.jl are online @ youtube.
Modules
TwoDNavierStokes: the two-dimensional vorticity equation.SingleLayerQG: the barotropic or equivalent-barotropic quasi-geostrophic equation, which generalizesTwoDNavierStokesto cases with topography, Coriolis parameters of the formf = f₀ + βy, and finite Rossby radius of deformation.MultiLayerQG: a multi-layer quasi-geostrophic model over topography allowing to impose a zonal flowU_n(y)in each layer.SurfaceQG: a surface quasi-geostrophic model.BarotropicQGQL: the quasi-linear barotropic quasi-geostrophic equation.
Scalability
For now, GeophysicalFlows.jl is restricted to run on either a single CPU or single GPU. These restrictions come from FourierFlows.jl. Multi-threading can enhance performance for the Fourier transforms. By default, FourierFlows.jl will use the maximum number of threads available on your machine. You can set the number of threads used by FourierFlows.jl by setting the environment variable, e.g.,
$ export JULIA_NUM_THREADS=4
For more information on multi-threading users are directed to the Julia Documentation.
If your machine has more than one GPU available, then functionality within CUDA.jl package
enables the user to choose the GPU device that FourierFlows.jl should use. The user is referred
to the CUDA.jl Documentation;
in particular, CUDA.devices
and CUDA.CuDevice.
The user is also referred to the GPU section in the FourierFlows.jl documentation.
Getting help
Interested in GeophysicalFlows.jl or trying to figure out how to use it? Please feel free to ask us questions and get in touch! Check out the examples and open an issue or start a discussion if you have any questions, comments, suggestions, etc.
Citing
If you use GeophysicalFlows.jl in research, teaching, or other activities, we would be grateful if you could mention GeophysicalFlows.jl and cite our paper in JOSS:
Constantinou et al., (2021). GeophysicalFlows.jl: Solvers for geophysical fluid dynamics problems in periodic domains on CPUs & GPUs. Journal of Open Source Software, 6(60), 3053, doi:10.21105/joss.03053.
The bibtex entry for the paper is:
bibtex
@article{GeophysicalFlowsJOSS,
doi = {10.21105/joss.03053},
url = {https://doi.org/10.21105/joss.03053},
year = {2021},
publisher = {The Open Journal},
volume = {6},
number = {60},
pages = {3053},
author = {Navid C. Constantinou and Gregory LeClaire Wagner and Lia Siegelman and Brodie C. Pearson and André Palóczy},
title = {{GeophysicalFlows.jl: Solvers for geophysical fluid dynamics problems in periodic domains on CPUs \& GPUs}},
journal = {Journal of Open Source Software}
}
Contributing
If you're interested in contributing to the development of GeophysicalFlows.jl we are excited to get your help, no matter how big or small a contribution you make! It's always great to have new people look at the code with fresh eyes: you will see errors that other developers have missed.
Let us know by open an issue or start a discussion if you'd like to work on a new feature or implement a new module, if you're new to open-source and want to find a cool little project or issue to work on that fits your interests! We're more than happy to help along the way.
For more information, check out our contributors' guide.
Owner
- Name: FourierFlows
- Login: FourierFlows
- Kind: organization
- Website: https://bit.ly/FourierFlows
- Repositories: 6
- Profile: https://github.com/FourierFlows
An ecosystem for building fast, hackable, pseudospectral partial differential equation solvers on periodic domains
JOSS Publication
GeophysicalFlows.jl: Solvers for geophysical fluid dynamics problems in periodic domains on CPUs & GPUs
Authors
Tags
geophysical fluid dynamics computational fluid dynamics Fourier methods pseudospectral gpuCitation (CITATION.cff)
cff-version: 1.2.0
preferred-citation:
type: article
authors:
- family-names: "Constantinou"
given-names: "Navid C."
orcid: "https://orcid.org/0000-0002-8149-4094"
- family-names: "Wagner"
given-names: "Gregory LeClaire"
orcid: "https://orcid.org/0000-0001-5317-2445"
- family-names: "Siegelman"
given-names: "Lia"
orcid: "https://orcid.org/0000-0003-3330-082X"
- family-names: "Pearson"
given-names: "Brodie C."
orcid: "https://orcid.org/0000-0002-0202-0481"
- family-names: "Palóczy"
given-names: "André"
orcid: "https://orcid.org/0000-0001-8231-8298"
title: "GeophysicalFlows.jl: Solvers for geophysical fluid dynamics problems in periodic domains on CPUs & GPUs"
journal: "Journal of Open Source Software"
doi: "10.21105/joss.03053"
volume: 6
issue: 60
start: 3053
year: 2021
GitHub Events
Total
- Fork event: 1
- Create event: 18
- Commit comment event: 6
- Release event: 3
- Issues event: 5
- Watch event: 8
- Delete event: 14
- Member event: 1
- Issue comment event: 58
- Push event: 53
- Pull request review comment event: 37
- Pull request review event: 55
- Pull request event: 32
Last Year
- Fork event: 1
- Create event: 18
- Commit comment event: 6
- Release event: 3
- Issues event: 5
- Watch event: 8
- Delete event: 14
- Member event: 1
- Issue comment event: 58
- Push event: 53
- Pull request review comment event: 37
- Pull request review event: 55
- Pull request event: 32
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Navid Constantinou | n****y@g****m | 1,196 |
| Gregory Wagner | w****g@g****m | 74 |
| Lia Siegelman | l****n@g****m | 52 |
| BrodieP | p****o@o****u | 33 |
| Brodie Pearson | b****n@o****u | 22 |
| github-actions[bot] | 4****] | 8 |
| André Palóczy | p****y@g****m | 5 |
| Matthew Crowe | 8****e | 2 |
| jbisits | 7****s | 2 |
| CompatHelper Julia | c****y@j****g | 2 |
| liasiegelman | l****n@u****u | 2 |
| Daniel Karrasch | D****h@g****e | 1 |
| Julia TagBot | 5****t | 1 |
| Matt Lobo | 1****o | 1 |
| Matt Pudig | m****8@g****m | 1 |
| Steven G. Johnson | s****j@m****u | 1 |
| Tim Besard | t****d@g****m | 1 |
| Matt Pudig | m****1@l****u | 1 |
| Matt Pudig | m****1@l****u | 1 |
| Zhaoyi Shen | p****y@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 38
- Total pull requests: 136
- Average time to close issues: 5 months
- Average time to close pull requests: 13 days
- Total issue authors: 12
- Total pull request authors: 11
- Average comments per issue: 5.45
- Average comments per pull request: 1.26
- Merged pull requests: 114
- Bot issues: 0
- Bot pull requests: 12
Past Year
- Issues: 5
- Pull requests: 31
- Average time to close issues: 4 months
- Average time to close pull requests: 23 days
- Issue authors: 2
- Pull request authors: 5
- Average comments per issue: 5.6
- Average comments per pull request: 1.32
- Merged pull requests: 25
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
- navidcy (17)
- mncrowe (5)
- glwagner (4)
- apaloczy (2)
- miniufo (2)
- liasiegelman (2)
- repdox-cyfso6-wonzAb (1)
- chowland (1)
- mjclobo (1)
- mpudig (1)
- szy21 (1)
- JuliaTagBot (1)
Pull Request Authors
- navidcy (121)
- github-actions[bot] (12)
- mncrowe (3)
- mpudig (3)
- mjclobo (3)
- jbisits (2)
- glwagner (2)
- apaloczy (2)
- BrodiePearson (1)
- stevengj (1)
- szy21 (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 4 total
- Total dependent packages: 1
- Total dependent repositories: 0
- Total versions: 53
juliahub.com: GeophysicalFlows
Geophysical fluid dynamics pseudospectral solvers with Julia and FourierFlows.jl.
- Homepage: https://fourierflows.github.io/GeophysicalFlowsDocumentation/stable/
- Documentation: https://docs.juliahub.com/General/GeophysicalFlows/stable/
- License: MIT
-
Latest release: 0.16.4
published 8 months ago
Rankings
Dependencies
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite
- styfle/cancel-workflow-action 0.8.0 composite
- JuliaRegistries/TagBot v1 composite
- julia-actions/setup-julia latest composite
