Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes for JOSS reviewing process #100

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Bug report
description: Create a report describing unexpected or incorrect behavior in EXP.
labels: Bug
body:
- type: markdown
attributes:
value: >-
Thanks for taking the time to fill out this bug report! Please provide a clear and concise description of the bug you've encountered.
- type: dropdown
id: interface
attributes:
label: Interface
description: Which interface of EXP are you using?
options:
- pyEXP
- EXP N-body
default: 0
validations:
required: true
- type: dropdown
id: version
attributes:
label: Version
description: How are you accessing EXP?
options:
- Docker
- Local compile
default: 0
validations:
required: true
- type: textarea
id: exactversion
attributes:
label: Exact Version
description: Please provide the exact version of EXP you are using. If using pyEXP, please provide the output of `python -c "import pyEXP; pyEXP.util.getVersionInfo()"`; If using N-body, please provide the output of `exp -v`.
render: shell
- type: textarea
attributes:
label: Description
description: >-
A clear and concise description of what the bug is.
- type: textarea
attributes:
label: Expected behavior
description: >-
A clear and concise description of what you expected to happen.
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
40 changes: 40 additions & 0 deletions Paper/paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,46 @@ @book{Binney:2008
Year = 2008
}

@ARTICLE{Gadget4,
author = {{Springel}, Volker and {Pakmor}, R{\"u}diger and {Zier}, Oliver and {Reinecke}, Martin},
title = "{Simulating cosmic structure formation with the GADGET-4 code}",
journal = {\mnras},
keywords = {methods: numerical, galaxies: interactions, dark matter, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Cosmology and Nongalactic Astrophysics},
year = 2021,
month = sep,
volume = {506},
number = {2},
pages = {2871-2949},
doi = {10.1093/mnras/stab1855},
archivePrefix = {arXiv},
eprint = {2010.03567},
primaryClass = {astro-ph.IM},
adsurl = {https://ui.adsabs.harvard.edu/abs/2021MNRAS.506.2871S},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}



@ARTICLE{Wang:15,
author = {{Wang}, Long and {Spurzem}, Rainer and {Aarseth}, Sverre and {Nitadori}, Keigo and {Berczik}, Peter and {Kouwenhoven}, M.~B.~N. and {Naab}, Thorsten},
title = "{NBODY6++GPU: ready for the gravitational million-body problem}",
journal = {\mnras},
keywords = {methods: numerical, globular clusters: general, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Solar and Stellar Astrophysics},
year = 2015,
month = jul,
volume = {450},
number = {4},
pages = {4070-4080},
doi = {10.1093/mnras/stv817},
archivePrefix = {arXiv},
eprint = {1504.03687},
primaryClass = {astro-ph.IM},
adsurl = {https://ui.adsabs.harvard.edu/abs/2015MNRAS.450.4070W},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}



@article{gaia,
author = {{Gaia Collaboration}},
title = "{The Gaia mission}",
Expand Down
19 changes: 16 additions & 3 deletions Paper/paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,21 @@ computed bases and resulting coefficient data are stored in HDF5

## N-body simulation

Computing the gravitational potential and forces from a collection of
N particles is typically an expensive endeavour. EXP reduces the cost
by using BFE to compute the potential and forces such that computational
effort scales with the number of particles. Other modern N-body codes
use direct summation [@Wang:15] or tree-based solutions [@Gadget4],
which have computational effort that scales as N$^2$ and N log N,
respectively. The trade off for BFE solutions comes in the form of
restricted degrees of freedom; for many problems in near-equilibrium
galactic dynamics this is not a problem, but rather a feature.

Our design includes a wide choice of run-time summary diagnostics,
phase-space output formats, dynamically loadable user libraries, and
easy extensibility. Stand-alone routines include the EOF and mSSA
methods described above, and the modular software architecture of
EXP enables users to easily build and maintain extensions. The `EXP`
`EXP` enables users to easily build and maintain extensions. The `EXP`
code base is described in published papers [@Petersen:22; @Weinberg:23]
and has been used, enhanced, and rigorously tested for nearly two
decades.
Expand Down Expand Up @@ -174,12 +184,15 @@ table above as well as coefficients for an input data set. Each of
these tools are Python classes that accept `numpy` [@numpy] arrays for
immediate interoperability with `matplotlib` [@matplotlib] and
Astropy. We include a verified set of stand-alone routines that read
phase-space files from many major cosmological tree codes and produce
phase-space files from many major cosmological tree codes (for example,
@Gadget4) and produce
BFE-based analyses. The code suite includes adapters for reading and
writing phase space for many of the widely used cosmology codes, with
a base class for developing new ones. There are multiple ways to use
the versatile and modular tools in `pyEXP`, and we anticipate
pipelines that we have not yet imagined.
pipelines that we have not yet imagined. The flexibility of the basis
sets available in `EXP` greatly enhances the number of available basis
sets implemented in Python (see, e.g. @gala).


## Using pyEXP to analyze time series
Expand Down
Binary file modified Paper/paper/paper.pdf
Binary file not shown.