CASTRO
CASTRO: A Massively Parallel Compressible Astrophysics Simulation Code - Published in JOSS (2020)
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 7 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
✓Committers with academic emails
33 of 63 committers (52.4%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Keywords from Contributors
Repository
Castro (Compressible Astrophysics): An adaptive mesh, astrophysical compressible (radiation-, magneto-) hydrodynamics simulation code for massively parallel CPU and GPU architectures.
Basic Info
- Host: GitHub
- Owner: AMReX-Astro
- License: other
- Language: C++
- Default Branch: main
- Homepage: http://amrex-astro.github.io/Castro
- Size: 173 MB
Statistics
- Stars: 322
- Watchers: 19
- Forks: 102
- Open Issues: 117
- Releases: 88
Topics
Metadata Files
README.md

an adaptive mesh, astrophysical radiation hydrodynamics simulation code
Castro is an adaptive-mesh compressible radiation / MHD / hydrodynamics
code for astrophysical flows. Castro supports a general equation of
state, full Poisson gravity, and reactive flows, and is parallelized
with MPI + OpenMP for CPUs and MPI + CUDA for NVIDIA GPUs and MPI + HIP for
AMD GPUs.
More information on Castro can be found here:
http://amrex-astro.github.io/Castro/
Getting Started
The "Getting Started" section of the User's Guide walks you through running your first problem:
https://amrex-astro.github.io/Castro/docs/getting_started.html
This will have you clone Castro and its dependencies (AMReX and AMReX-Astro Microphysics),
The User's Guide in written in re-structured text using Sphinx, with
the source in Castro/Docs/, and is built automatically
from the development branch.
Running at Supercomputer Centers
Documentation for running the AMReX Astrophysics codes at popular supercomputing centers can be found at: https://amrex-astro.github.io/workflow/
Development Model:
Development generally follows the following ideas:
New features are committed to the
developmentbranch.Nightly regression testing is used to ensure that no answers change (or if they do, that the changes were expected).
If a change is critical, we can cherry-pick the commit from
developmenttomain.Contributions are welcomed from anyone in the form of a pull request from your fork of Castro, targeting the
developmentbranch. (If you mistakenly targetmain, we can change it for you.)Please add a line to
CHANGES.mdsummarizing your change if it is a bug fix or new feature. Reference the PR or issue as appropriate. Additionally, if your change fixes a bug (or if you find a bug but do not fix it), and there is no current issue describing the bug, please file a separate issue describing the bug, regardless of how significant the bug is. If possible, in both theCHANGES.mdfile and the issue, please cite the pull request numbers or git commit hashes where the problem was introduced and fixed, respectively.We will squash commits upon merge to have a clean history. Please ensure that your PR title and and the PR summary field are descriptive, since these will be used for a squashed commit message.
On the first workday of each month, we perform a merge of
developmentintomain, in coordination withAMReX,Maestro, andMicrophysics. For this merge to take place, we need to be passing the regression tests.To accommodate this need, we close the merge window into
developmenta few days before the merge day. While the merge window is closed, only bug fixes should be pushed intodevelopment. Once the merge fromdevelopment->mainis done, the merge window reopens.
Core Developers
People who make a number of substantive contributions will be named "core developers" of Castro. The criteria for becoming a core developer are flexible, but generally involve one of the following:
10 non-merge commits to
Castro/Source/orCastro/Docs/or one of the problems that is not your own science problem oraddition of a new algorithm / module or
substantial input into the code design process or testing
Core developers will be recognized in the following ways:
invited to the group's slack team
listed in the User's Guide and website as a core developer
listed in the author list on the Zenodo DOI for the project (as given in the .zenodo.json file)
invited to co-author general code papers / proceedings describing Castro, its performance, etc. (Note: science papers will always be left to the science leads to determine authorship).
If a core developer is inactive for 3 years, we may reassess their status as a core developer.
Getting help
We use Github discussions for asking general questions about the code:
https://github.com/AMReX-Astro/Castro/discussions
Owner
- Name: AMReX-Astro
- Login: AMReX-Astro
- Kind: organization
- Repositories: 16
- Profile: https://github.com/AMReX-Astro
The AMReX Astrophysics Suite: adaptive mesh refinement hydrodynamics codes for astrophysical flows.
JOSS Publication
CASTRO: A Massively Parallel Compressible Astrophysics Simulation Code
Authors
Center for Computational Sciences and Engineering, Lawrence Berkeley National Laboratory
Center for Computational Sciences and Engineering, Lawrence Berkeley National Laboratory
Center for Computational Sciences and Engineering, Lawrence Berkeley National Laboratory
Tags
C++ Fortran90 convection hydrodynamics nuclear reactions nucleosynthesis abundances supernovaeCitation (CITATION.md)
# Citing Castro
There are a number of Castro papers that describe parts of the
algorithm. We ask that you cite all of the appropriate papers
describing the capabilities you used.
## General code use
If you use Castro, we appreciate you citing the most recent code paper:
```
@article{Almgren2020,
doi = {10.21105/joss.02513},
url = {https://doi.org/10.21105/joss.02513},
year = {2020},
publisher = {The Open Journal},
volume = {5},
number = {54},
pages = {2513},
author = {Ann Almgren and Maria Barrios Sazo and John Bell and Alice Harpole and Max Katz and Jean Sexton and Donald Willcox and Weiqun Zhang and Michael Zingale},
title = {CASTRO: A Massively Parallel Compressible Astrophysics Simulation Code},
journal = {Journal of Open Source Software}
}
```
You are welcome to cite the original code paper as well (which
provides some details on the algorithmic implementations):
```
@ARTICLE{2010ApJ...715.1221A,
author = {{Almgren}, A.~S. and {Beckner}, V.~E. and {Bell},
J.~B. and {Day}, M.~S. and {Howell}, L.~H. and
{Joggerst}, C.~C. and {Lijewski}, M.~J. and
{Nonaka}, A. and {Singer}, M. and {Zingale}, M.},
title = "{CASTRO: A New Compressible Astrophysical
Solver. I. Hydrodynamics and Self-gravity}",
journal = {\apj},
archivePrefix = "arXiv",
eprint = {1005.0114},
primaryClass = "astro-ph.IM",
keywords = {equation of state, gravitation, hydrodynamics, methods:
numerical, nuclear reactions, nucleosynthesis,
abundances},
year = 2010,
month = jun,
volume = 715,
pages = {1221-1238},
doi = {10.1088/0004-637X/715/2/1221},
adsurl = {http://adsabs.harvard.edu/abs/2010ApJ...715.1221A},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```
You should also cite the zenodo DOI for the code release. A bibtex
entry for the latest release can be found here:
https://doi.org/10.5281/zenodo.2301848
## Radiation hydrodynamics
If you use the radiation hydrodynamics capabilities, please additionally
cite the following:
```
@ARTICLE{2011ApJS..196...20Z,
author = {{Zhang}, W. and {Howell}, L. and {Almgren}, A. and
{Burrows}, A. and {Bell}, J.},
title = "{CASTRO: A New Compressible Astrophysical
Solver. II. Gray Radiation Hydrodynamics}",
journal = {\apjs},
archivePrefix = "arXiv",
eprint = {1105.2466},
primaryClass = "astro-ph.IM",
keywords = {diffusion, hydrodynamics, methods: numerical, radiative
transfer},
year = 2011,
month = oct,
volume = 196,
eid = {20},
pages = {20},
doi = {10.1088/0067-0049/196/2/20},
adsurl = {http://adsabs.harvard.edu/abs/2011ApJS..196...20Z},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```
```
@ARTICLE{2013ApJS..204....7Z,
author = {{Zhang}, W. and {Howell}, L. and {Almgren}, A. and
{Burrows}, A. and {Dolence}, J. and {Bell}, J.},
title = "{CASTRO: A New Compressible Astrophysical
Solver. III. Multigroup Radiation Hydrodynamics}",
journal = {\apjs},
archivePrefix = "arXiv",
eprint = {1207.3845},
primaryClass = "astro-ph.IM",
keywords = {diffusion, hydrodynamics, methods: numerical, radiative
transfer },
year = 2013,
month = jan,
volume = 204,
eid = {7},
pages = {7},
doi = {10.1088/0067-0049/204/1/7},
adsurl = {http://adsabs.harvard.edu/abs/2013ApJS..204....7Z},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```
## Gravity and rotation
If you use the Poisson gravity solver or rotation, please cite the
following, which included a lot of improvements to the coupling of
hydro and gravity:
```
@ARTICLE{2016ApJ...819...94K,
author = {{Katz}, M.~P. and {Zingale}, M. and {Calder}, A.~C. and
{Swesty}, F.~D. and {Almgren}, A.~S. and {Zhang},
W.},
title = "{White Dwarf Mergers on Adaptive Meshes. I. Methodology
and Code Verification}",
journal = {\apj},
archivePrefix = "arXiv",
eprint = {1512.06099},
primaryClass = "astro-ph.HE",
keywords = {hydrodynamics, methods: numerical, supernovae: general,
white dwarfs},
year = 2016,
month = mar,
volume = 819,
eid = {94},
pages = {94},
doi = {10.3847/0004-637X/819/2/94},
adsurl = {http://adsabs.harvard.edu/abs/2016ApJ...819...94K},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```
## GPUs and scaling
For CPU performance numbers, please cite:
```
@INPROCEEDINGS{2018JPhCS1031a2024Z,
author = {{Zingale}, M. and {Almgren}, A.~S. and {Barrios Sazo}, M.~G. and
{Beckner}, V.~E. and {Bell}, J.~B. and {Friesen}, B. and
{Jacobs}, A.~M. and {Katz}, M.~P. and {Malone}, C.~M. and
{Nonaka}, A.~J. and {Willcox}, D.~E. and {Zhang}, W.},
title = "{Meeting the Challenges of Modeling Astrophysical Thermonuclear Explosions: Castro, Maestro, and the AMReX Astrophysics Suite}",
keywords = {Astrophysics - Instrumentation and Methods for Astrophysics},
booktitle = {Journal of Physics Conference Series},
year = 2018,
series = {Journal of Physics Conference Series},
volume = {1031},
month = may,
eid = {012024},
pages = {012024},
doi = {10.1088/1742-6596/1031/1/012024},
archivePrefix = {arXiv},
eprint = {1711.06203},
primaryClass = {astro-ph.IM},
adsurl = {https://ui.adsabs.harvard.edu/abs/2018JPhCS1031a2024Z},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```
For GPU performance, please cite:
```
@ARTICLE{2020arXiv200705218K,
author = {{Katz}, Max P. and {Almgren}, Ann and {Barrios Sazo}, Maria and
{Eiden}, Kiran and {Gott}, Kevin and {Harpole}, Alice and
{Sexton}, Jean M. and {Willcox}, Don E. and {Zhang}, Weiqun and
{Zingale}, Michael},
title = "{Preparing Nuclear Astrophysics for Exascale}",
journal = {arXiv e-prints},
keywords = {Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - High Energy Astrophysical Phenomena},
year = 2020,
month = jul,
eid = {arXiv:2007.05218},
pages = {arXiv:2007.05218},
archivePrefix = {arXiv},
eprint = {2007.05218},
primaryClass = {astro-ph.IM},
adsurl = {https://ui.adsabs.harvard.edu/abs/2020arXiv200705218K},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```
## Spectral deferred corrections
For the 2nd and 4th order SDC coupling of hydro and reactions, please cite:
```
@ARTICLE{2019ApJ...886..105Z,
author = {{Zingale}, M. and {Katz}, M.~P. and {Bell}, J.~B. and {Minion}, M.~L. and
{Nonaka}, A.~J. and {Zhang}, W.},
title = "{Improved Coupling of Hydrodynamics and Nuclear Reactions via Spectral Deferred Corrections}",
journal = {\apj},
keywords = {Hydrodynamics, Astrophysical fluid dynamics, Computational methods, Computational astronomy, Astronomy software, Nuclear astrophysics, Nucleosynthesis, Stellar nucleosynthesis, Physics - Computational Physics, Astrophysics - Instrumentation and Methods for Astrophysics},
year = 2019,
month = dec,
volume = {886},
number = {2},
eid = {105},
pages = {105},
doi = {10.3847/1538-4357/ab4e1d},
archivePrefix = {arXiv},
eprint = {1908.03661},
primaryClass = {physics.comp-ph},
adsurl = {https://ui.adsabs.harvard.edu/abs/2019ApJ...886..105Z},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```
GitHub Events
Total
- Create event: 9
- Release event: 9
- Issues event: 23
- Watch event: 18
- Delete event: 3
- Issue comment event: 76
- Push event: 154
- Pull request review comment event: 50
- Pull request review event: 146
- Pull request event: 205
- Fork event: 5
Last Year
- Create event: 9
- Release event: 9
- Issues event: 23
- Watch event: 18
- Delete event: 3
- Issue comment event: 76
- Push event: 154
- Pull request review comment event: 50
- Pull request review event: 146
- Pull request event: 205
- Fork event: 5
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Michael Zingale | m****e@s****u | 4,481 |
| Max Katz | m****z@g****m | 2,833 |
| WeiqunZhang | w****g@l****v | 620 |
| Michael Zingale | z****e@l****n | 193 |
| Ann Almgren | a****n@l****v | 162 |
| Alice Harpole | a****e@g****m | 119 |
| Michael Zingale | z****e@i****u | 105 |
| Donald E. Willcox | e****x@g****m | 66 |
| Zhi Chen | 6****3 | 62 |
| Eric T. Johnson | e****n@s****u | 34 |
| Maria Barrios Sazo | g****5@g****m | 32 |
| Alexander Smith Clark | a****k@s****u | 29 |
| Michael Zingale | m****e@m****u | 24 |
| Michael Zingale | z****e@b****u | 20 |
| Michael Zingale | z****e@n****u | 16 |
| taehoryu | t****u@s****u | 16 |
| Chris Malone | c****e@l****v | 15 |
| KiranEiden | 3****n | 11 |
| Khanak Bhargava | 5****a | 11 |
| Chris Malone | m****e@u****g | 9 |
| Maria Barrios Sazo | m****o@s****u | 7 |
| Christopher Degrendele | c****e@a****u | 7 |
| Andrew Myers | a****2@g****m | 7 |
| muhung | m****g@s****u | 7 |
| vince | v****r@l****v | 7 |
| Ryan Brady | r****y@s****u | 5 |
| Andy Nonaka | A****a@l****v | 4 |
| Abigail Bishop | m****p@g****m | 4 |
| Jasmine Garani | j****i@b****u | 4 |
| Mike Lijewski | m****i@l****v | 3 |
| and 33 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 98
- Total pull requests: 710
- Average time to close issues: over 1 year
- Average time to close pull requests: 19 days
- Total issue authors: 17
- Total pull request authors: 14
- Average comments per issue: 1.61
- Average comments per pull request: 0.55
- Merged pull requests: 552
- Bot issues: 0
- Bot pull requests: 4
Past Year
- Issues: 20
- Pull requests: 254
- Average time to close issues: 3 days
- Average time to close pull requests: 4 days
- Issue authors: 8
- Pull request authors: 9
- Average comments per issue: 0.6
- Average comments per pull request: 0.36
- Merged pull requests: 195
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- zingale (67)
- maxpkatz (5)
- RemiLehe (4)
- brady-ryan (3)
- zhichen3 (3)
- BenWibking (2)
- HamidGadirov (2)
- yut23 (2)
- aisclark91 (2)
- zongy17 (1)
- dkhatami (1)
- andrewsilver1997 (1)
- khanakbhargava (1)
- dmarce1 (1)
- Parker-T-Johnson (1)
Pull Request Authors
- zingale (477)
- zhichen3 (91)
- maxpkatz (73)
- yut23 (25)
- khanakbhargava (11)
- maximumcats (8)
- brady-ryan (8)
- aisclark91 (7)
- dependabot[bot] (4)
- simonguichandut (2)
- RemiLehe (1)
- KiranEiden (1)
- EiPha (1)
- WeiqunZhang (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- IPython >=3
- Sphinx >=2.4.3
- breathe >=4.14
- jupyter *
- more_itertools *
- nbconvert *
- numpy *
- numpydoc *
- pandoc *
- sphinx-prompt *
- sphinx_rtd_theme *
- sphinxcontrib_bibtex *
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- actions/checkout v3 composite
- actions/create-release v1 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- peaceiris/actions-gh-pages v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v4 composite
- actions/checkout v4 composite
- actions/checkout v4 composite
- actions/checkout v4 composite