What do we provide here?

We provide a set of very simple fortran routines that are useful for computing various quantities in cosmology, e.g., distance, volume, growth of fluctuations, (linear or non-linear) power spectrum, mass function, etc. We plan to keep adding more routines, time permitting.

Mostly for educational purposes

While the routines provided here may be used for doing research in cosmology, these routines are probably most useful for educational purposes, i.e., for training "beginners in cosmology," such as undergraduate and graduate students. We often find students having a hard time in writing simple programs for computing simple quantities, such as those listed here. Of course you can teach them how to write programs -- however, imagine that you may have to do this over and over again as new students come to knock on a door of your office every year! You may end up spending a lot of time, just teaching them the basics of writing codes like these. That's why we have created this "Cosmology Routine Library (CRL)."

Simple and short routines

With educational purposes in our mind, we have tried to keep the routines simple and short. As a result the routines provided here are not optimized at all. Also, we are by no means experts in computer programming. This means that our routines are far from the best routines available out there. Since we are making these routines publicly available, perhaps you could help us: if you find ways to optimize the routines without sacrificing simplicity, please kindly let us know! We would appreciate your valuable inputs and feedback.

Structure of routines

Following the links below, you will find directories containing a tarball as well as a directory with the same name. All the content of the tarball is in that directory. Each tarball comes with "readme.txt" that describes each routine. Also, each tarball comes with a set of sample routines that would help you understand how to use the routines. The sample routines usually come with names like "sample.f90" and "compute_*.f90" where * refers to the name of routines (e.g., da, sigma, volume, etc).


This material is based upon work supported in part by NSF under Grant AST-0807649 and PHY-0758153, NASA under Grant NNX08AL43G, and Alfred P. Sloan Research Foundation via a Sloan Fellowship. This work is also supported in part by JSPS KAKENHI Grant Number JP15H05896.

komatsu_at_mpa-garching_dot_mpg_dot_de © EIICHIRO KOMATSU 2012