Skip to content

BayesianStellarEvolution/base-cpp

Repository files navigation

Bayesian Analysis for Stellar Evolution

Note: Running BASE-9 requires the models.

Introduction

Bayesian Analysis for Stellar Evolution with Nine Variables (BASE-9) is a Bayesian software suite that recovers star cluster and stellar parameters from photometry. BASE-9 is useful for analyzing single-age, single-metallicity star clusters, binaries, or single stars, and for simulating such systems. BASE-9 uses a Markov chain Monte Carlo (MCMC) technique along with bruteforce numerical integration to estimate the posterior probability distribution for the age, metallicity, helium abundance, distance modulus, line-of-sight absorption, and parameters of the initial-final mass relation (IFMR) for a cluster, and for the primary mass, secondary mass (if a binary), and cluster probability for every potential cluster member. The MCMC technique is used for the cluster quantities (first 6 items in the previous list) and numerical integration is used for the stellar quantities (last 3 items in the previous list). BASE-9 is freely available source code that you may use as is or modify for your own research and educational purposes.

BASE-9 may be the code for you if

  1. you are dissatisfied with deriving cluster-level parameters by over-plotting isochrones on your data and iteratively adjusting parameters,
  2. you wish to recover more than just an average and error bar for each parameter, and instead wish to characterize the probability distributions for these parameters,
  3. you wish to take fuller advantage of ancillary data, such as proper motion membership probabilities, spectroscopic mass estimates, or distancesfrom trigonometric parallaxes

Requirements

We designed BASE-9 to run under a variety of UNIX and Linux operating systems (including Mac OS X). The code is written primarily in the C++ programming language. BASE-9 also takes advantage of parallel computing for the numerical integrations using C++11 threads. You will need g++ (a C++ compiler associated with GCC) version 4.8 or newer or clang++ version 3.2 or newer (available with XCode 4.6), GSL (the Gnu Science Library), cmake (a cross-platform build system) version 2.8.10 or newer, and Boost (a peer-reviewed C++ library) 1.54 or newer to compile the code. To install these software packages, you may need help from your system administrator, though we provide some guidance in the manual. An up-to-date version of the manual is kept on ReadTheDocs here.

Installation

Ensure you have installed the prerequisites:

GSL (including development files)
GSL CBLAS
Boost (including development files)
CMake
A C++ compiler (g++ or clang++)

These should be available from your package manager on Linux, or from a third party tool such as Homebrew on OS X. Next, download the BASE-9 archive and unpack it. Descend into the resulting directory and run build.sh as a privileged user or build_local.sh. The project should build and install executables either in /usr/local/bin (for build.sh) or under the current directory in BUILD/bin (for build_local.sh.)

References