rayleigh

Rayleigh: Pseudo-spectral MHD

https://github.com/geodynamics/rayleigh

Science Score: 64.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
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: wiley.com, zenodo.org
  • Committers with academic emails
    29 of 43 committers (67.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Scientific Fields

Computer Science Computer Science - 40% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Rayleigh: Pseudo-spectral MHD

Basic Info
  • Host: GitHub
  • Owner: geodynamics
  • License: gpl-3.0
  • Language: Fortran
  • Default Branch: main
  • Homepage:
  • Size: 35.5 MB
Statistics
  • Stars: 67
  • Watchers: 26
  • Forks: 49
  • Open Issues: 22
  • Releases: 6
Created about 8 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Citation Authors

README.md

Rayleigh - dynamo in spherical geometry

License GPL3: DOI github-docker

Rayleigh is a 3-D convection code designed for the study of dynamo behavior in spherical geometry. It evolves the incompressible and anelastic MHD equations in spherical geometry using a pseudo-spectral approach. Rayleigh employs spherical harmonics in the horizontal direction and Chebyshev polynomials in the radial direction. The code has undergone extensive accuracy testing using the Christensen et al. (2001) Boussinesq benchmarks and the Jones et al. (2011) anelastic benchmarks. Rayleigh has been developed with NSF support through the Computational Infrastructure for Geodynamics (CIG).

Contributing to Rayleigh

Rayleigh is a community project that lives by the participation of its members -- i.e., including you! It is our goal to build an inclusive and participatory community so we are happy that you are interested in participating! We have collected a set of guidelines and advice on how to get involved in the community and keep them in the CONTRIBUTING.md file in Rayleigh's repository.

Parallelization

The pseudo-spectral nature of Rayleigh means that its parallelization necessarily relies heavily on global communication patterns. That said, Rayleigh's parallelization is based around a 2-D domain decomposition and large-message-size all-to-alls. These features allow the code to overcome many of the obstacles that traditionally limit the scalability of spectral methods. The end result is a pseudo-spectral code optimized for petascale machines. Rayleigh's pure-MPI mode has demonstrated highly efficient strong scaling on 131,000 cores of the Mira Blue Gene/Q supercomputer for problems with approximately 2048^3 grid points (2048 spherical harmonics). Performance numbers from Mira are shown below. A summary of Rayleigh's performance and how it compares against other popular dynamo codes (albeit at smaller process counts) may be found in the recent performance benchmark results of Matsui et al. (2016).

Getting Started

The following documents form the Rayleigh documentation.

| Document | Description | |----------|-------------| | INSTALL | in-depth installation instructions | | https://rayleigh-documentation.readthedocs.io/en/latest/ | A combined online documentation | | https://rayleigh-documentation.readthedocs.io/en/latest/doc/source/diagnostic_codes/qcodes.html | Online tables of Rayleigh output menu codes |

More information

  • For questions on the source code of Rayleigh, portability, installation, new or existing features, etc., use the Rayleigh forum. This forum is where the Rayleigh users and developers all hang out.

  • Rayleigh is continually being improved by a large, collaborative, and inclusive community. It is primarily developed and maintained by:

    • Nicholas Featherstone
    • Philipp Edelmann
    • Rene Gassmoeller
    • Loren Matilsky
    • Ryan Orvedahl
    • Cian Wilson
  • A complete and growing list of the many authors that have contributed over the years can be found at GitHub contributors.

Authors

Rayleigh was originally written by Nicholas Featherstone with NSF support through CIG. Please see the ACKNOWLEDGE and CITATION for information on how to properly acknowledge and cite the code.

License

Rayleigh is released under the GPL v3 or newer license.

Owner

  • Name: Computational Infrastructure for Geodynamics
  • Login: geodynamics
  • Kind: organization
  • Email: help@geodynamics.org

Citation (CITATION)

Please cite the appropriate references if you publish results that were obtained in some part using Rayleigh as indicated in our online documentation:

https://rayleigh-documentation.readthedocs.io/en/latest/doc/source/citing_rayleigh.html

If you have no access to the online documentation, please refer to the following file in the Rayleigh repository:

doc/source/citing_rayleigh.rst

GitHub Events

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

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 1,318
  • Total Committers: 43
  • Avg Commits per committer: 30.651
  • Development Distribution Score (DDS): 0.704
Past Year
  • Commits: 120
  • Committers: 16
  • Avg Commits per committer: 7.5
  • Development Distribution Score (DDS): 0.733
Top Committers
Name Email Commits
feathern f****n@g****m 390
Ryan Orvedahl r****l@g****m 156
Philipp Edelmann p****p@s****g 142
Rene Gassmoeller r****r@m****g 136
Nick Featherstone f****n@c****u 98
Cian Wilson c****n@c****u 78
Loren Matilsky l****y@g****m 63
Loren l****y@c****u 32
Lorraine Hwang l****g@u****u 32
Nick Nelson n****n@g****m 31
Philipp Edelmann p****n@l****v 25
Wolfgang Bangerth b****h@c****u 15
Rathish Ratnasingam r****m@n****k 12
tjesser-ucdavis-edu t****r@u****u 9
mariaweber m****r@g****m 9
Lydia Korre l****e@l****u 9
nicholasjnelson 4****n 8
Bradley Hindman h****n@l****u 8
connorbice b****r@g****m 7
Chi Yan c****n@c****u 6
Loren Matilsky l****3@c****u 5
mcalkins m****s@c****u 5
sglane g****e@t****e 5
kyle-augustson k****n@g****m 4
Philipp Edelmann e****b@f****e 3
Joel Courtney j****y@c****u 3
Joel Courtney j****y@g****m 3
Catherine Blume c****e@c****u 3
peterdriscollciw p****l@c****u 2
camisassam m****s@c****u 2
and 13 more...

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 21
  • Total pull requests: 220
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 20 days
  • Total issue authors: 9
  • Total pull request authors: 20
  • Average comments per issue: 1.52
  • Average comments per pull request: 1.05
  • Merged pull requests: 195
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 6
  • Pull requests: 73
  • Average time to close issues: 17 days
  • Average time to close pull requests: 2 days
  • Issue authors: 4
  • Pull request authors: 11
  • Average comments per issue: 4.0
  • Average comments per pull request: 0.75
  • Merged pull requests: 67
  • Bot issues: 0
  • Bot pull requests: 8
Top Authors
Issue Authors
  • illorenzo7 (8)
  • gassmoeller (2)
  • Ayesha714 (2)
  • ljhwang (2)
  • tukss (2)
  • rpvin (2)
  • cyan0226 (1)
  • nicholasjnelson (1)
Pull Request Authors
  • feathern (112)
  • illorenzo7 (50)
  • gassmoeller (33)
  • dependabot[bot] (17)
  • tukss (17)
  • BrandonJLazard (13)
  • cianwilson (10)
  • BWHindman (8)
  • ljhwang (7)
  • nicholasjnelson (4)
  • rpvin (4)
  • tami1000 (4)
  • AlexKurek (4)
  • kyle-augustson (2)
  • peteredriscoll (1)
Top Labels
Issue Labels
errors and messages (3) Documentation (2) physics (2) bug (1) question (1)
Pull Request Labels
dependencies (17) good first review (4) enhancement (2) github_actions (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 0
  • Total maintainers: 1
spack.io: rayleigh

Rayleigh is a 3-D convection code designed for the study of dynamo behavior in spherical geometry.

  • Versions: 0
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 29.3%
Dependent packages count: 58.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

environment.yml conda
  • compilers 1.4.2.*
  • docopt 0.6.*
  • fftw 3.3.*
  • funcsigs 1.0.*
  • git 2.30.*
  • jupyter 1.0.*
  • make 4.3.*
  • matplotlib 3.4.*
  • mkl 2020.4.*
  • mpich 3.4.*
  • nbsphinx 0.8.*
  • pandoc 2.13.*
  • python 3.9.*
  • recommonmark 0.7.*
  • scipy 1.6.*
  • sphinx 4.0.*
  • sphinxcontrib-bibtex 2.2.*
  • vtk 9.0.*
.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • psf/black stable composite
.github/workflows/docker.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v3 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
.github/workflows/main.yml actions
  • actions/checkout v1 composite
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
docker/rayleigh/Dockerfile docker
  • geodynamics/rayleigh-buildenv-jammy latest build
docker/rayleigh-buildenv-bionic/Dockerfile docker
  • ubuntu bionic build
docker/rayleigh-buildenv-focal/Dockerfile docker
  • ubuntu focal build
docker/rayleigh-buildenv-jammy/Dockerfile docker
  • ubuntu jammy build
docker/rayleigh-devel-bionic/Dockerfile docker
  • geodynamics/rayleigh-buildenv-bionic latest build
docker/rayleigh-devel-jammy/Dockerfile docker
  • geodynamics/rayleigh-buildenv-jammy latest build