astropy / astropy/astropy

Add the power spectrum, growth function and virial quantities to astropy.cosmology

Open
#3,081 18 comments 2 reactions 0 assignees View on GitHub
cosmology Feature Request keep-open
Dominant language
Python
Stars
5.3k
Forks
2.2k
Avg merge
1d 20h
Merged PRs (30d)
81

Description

For galaxy formation and cosmological studies it's often necessary to calculate the matter power spectrum in the linear regime, the linear growth rate, and the typical temperature, radius and circular velocity of a virialized dark matter halo. All of these strongly depend on the assumed cosmology (see for example Mo, van den Bosch & White, http://adsabs.harvard.edu/abs/2010gfe..book.....M, sections 4.1.6, 4.4.4, 7.5.1).

It would be useful to include these in `astropy.cosmology`. It's beyond the scope of the astropy core to solve for these numerically for an arbitrary cosmology, but there are widely-accepted analytic approximations which can be used.

We should:
1. Decide exactly which functionality should be included. A good starting point is cosmolopy.perturbation (http://roban.github.io/CosmoloPy/docAPI/cosmolopy.perturbation-module.html).
2. Work out the range of cosmologies where any analytic approximations we want to use are valid.
3. Decide how to include them in `astropy.cosmology`. Maybe a new module `astropy.cosmology.perturbation`?

This issue aims to promote discussion on the best way to proceed. @eteq, @aconley, @joergdietrich, @roban - you might be interested in this. Any feedback is welcome!

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing astropy.cosmology API and the cosmolopy.perturbation module linked in the issue. Compare the proposed power spectrum, growth, and virial quantities with the supported cosmology range and analytic approximations. Done means the scope, validity limits, and placement—possibly astropy.cosmology.perturbation—are agreed before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.