Skip to main content

Maximum likelihood analysis for fitting semi-analytical model predictions to observed astronomical transient data.

Project description

<p align="center"><img src="logo.png" align="left" alt="MOSFiT" width="300"/></p>
[![Build Status](](
[![Coverage Status](](
[![Python Version](](
[![PyPI version](](

`MOSFiT` (**M**odular **O**pen-**S**ource **Fi**tter for **T**ransients) is a Python 2.7/3.x package that performs maximum likelihood analysis to fit semi-analytical model predictions to observed transient data. Data can be provided by the user, or can be pulled automatically from the [Open Supernova Catalog]( by its name, and thus the code can be used to fit *any* supernova within that database, or any database that shares the format described in the [OSC schema]( (such as the [Open TDE Catalog]( or the [Open Nova Catalog](<br clear="all">

##Getting Started

To install `MOSFiT` into your Python environment, clone the package and then run the `` file:

git clone
python install

Once installed, MOSFiT can be run from any directory, and it's typically convenient to make a new directory for your project.

mkdir mosfit_runs
cd mosfit_runs

Then, to run `MOSFiT`, pass an event name to the program via the `-e` flag (the default model is a simple Nickel-Cobalt decay with diffusion):

python -m mosfit -e LSQ12dlf

Multiple events can be fit in succession by passing a list of names separated by spaces (names containing spaces can be specified using quotation marks):

python -m mosfit -e LSQ12dlf SN2015bn "SDSS-II SN 5751"

MOSFiT is parallelized and can be run in parallel by prepending `mpirun -np #`, where `#` is the number of processors in your machine +1 for the master process. So, if you computer has 4 processors, the above command would be:

mpirun -np 5 python -m mosfit -e LSQ12dlf

MOSFiT can also be run without specifying an event, which will yield a collection of light curves for the specified model described by the priors on the possible combinations of input parameters specified in the `parameters.json` file. This is useful for determining the range of possible outcomes for a given theoretical model:

mpirun -np 5 python -m mosfit -i 0 -m magnetar

The code outputs JSON files for each event/model combination that each contain a set of walkers that have been relaxed into an equilibrium about the combinations of parameters with the maximum likelihood. This output is visualized via an example Jupyter notebook (`mosfit.ipynb`) included with the software in the main directory, which by default shows output from the last `MOSFiT` run.

Project details

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mosfit-0.2.3.tar.gz (1.8 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page