Giter Site home page Giter Site logo

ugali's Introduction

Build PyPI Release License Github Downloads

Overview

The ultra-faint galaxy likelihood (ugali) toolkit provides a set of python modules developed for maximum-likelihood-based studies of resolved satellite galaxies. The primary inputs are stellar object catalogs derived from optical photometric surveys and the coverage masks of those surveys. In addition, ugali ships with a set of synthetic isochrone libraries and catalogs of known resolved stellar systems.

Authors: Keith Bechtol & Alex Drlica-Wagner

Installation

There are several ways to install ugali.

The most robust way is to follow the installation procedure for the automated GitHub Actions build documented in python-package.yml. This installation creates a conda environment with the necessary dependencies and installs ugali.

# Create and activate conda environment
conda create -n ugali-env numpy scipy matplotlib astropy healpy pyyaml emcee nose fitsio corner -c conda-forge -c kadrlica
source activate ugali-env

# Clone source code from the parent repository
git clone https://github.com/DarkEnergySurvey/ugali.git && cd ugali

# Install just the python source code
python setup.py install 

# Install source code with a minimal set of isochrone and catalog libraries
python setup.py install --isochrones --catalogs

In theory, the easiest way to get a stable release of ugali is through PyPi using pip:

# Install just the source code
pip install ugali

# Install source code with a minimal set of isochrone and catalog libraries
pip install ugali --install-option "--isochrones" --install-option "--catalogs"

By default, the minimal isochrone and catalog libraries are installed into the directory specified by the $UGALIDIR environment variable (default: $HOME/.ugali). The download and unpacking of the isochrone and catalog files might make it appear that your pip installation has stalled. Unfortunately, pip may not display a progress bar during this delay.

Auxiliary Libraries

The ugali source code is distributed with several auxiliary libraries for isochrone generation and catalog matching. These libraries can be downloaded directly from the releases page, and unpacked in your $UGALIDIR. For example, to install the Bressan et al. 2012 isochrones for the DES survey:

cd $UGALIDIR
wget https://github.com/DarkEnergySurvey/ugali/releases/download/v1.8.0/ugali-des-bressan2012.tar.gz
tar -xzf ugali-des-bressan2012.tar.gz

The UGALIDIR environment variable is used to point to the isochrone and catalog libraries. If you install the isochrones in a non-standard location be sure to set UGALIDIR so ugali can find them:

export UGALIDIR=<PATH>

An experimental interface for downloading the isochrone and catalog libraries also exists through setup.py:

# To install the Bressan+ 2012 isochrones for the DES survey
python setup.py isochrones --survey des --model bressan2012

# If you have isochrones already installed, you may need to force
python setup.py isochrones --survey des --model bressan2012 --force

# To install all available DES isochrones
python setup.py isochrones --survey des

# To install all available Bressan+ 2012 isochrones
python setup.py isochrones --model bressan2012

# To install the catalog libraries
python setup.py catalogs

Usage Examples

Several examples can be found as jupyter notebooks in the notebooks directory.

Additional Information

Dependencies

These should mostly be taken care of by PyPi with a pip install.

Isochrones

The isochrones used by ugali come dominantly from:

More information can be found in the isochrone module.

Abbreviations

  • CMD: color-magnitude diagram
  • ROI: region of interest
  • PDF: probability distribution function
  • LKHD: likelihood
  • IMF: initial mass function
  • LUT: look-up table

ugali's People

Contributors

kadrlica avatar bechtol avatar sidneymau avatar mcnanna avatar willcerny avatar johannct avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.