- MulensModel is package for modeling microlensing (or μ-lensing)
Latest release: 1.9.4 and we're working on further developing the code.
MulensModel can generate a microlensing light curve for a given set of microlensing parameters, fit that light curve to some data, and return a chi2 value. That chi2 can then be input into an arbitrary likelihood function to find the best fit parameters.
A few useful resources:
- Basic usage tutorial,
- Fitting tutorial,
- Microlensing parallax fitting tutorial,
- Explanation of microlensing parameters
- Explanation of methods used for calculating magnification
- Examples on how to use the code:
- Hack session example 1,
- Hack session example 2, config reading code, first config file, and second config file,
- Hack session example 3, config file
- Example 01 - plot simple point-source/point-lens (PSPL) model and model with planetary lens,
- Example 02 - fit PSPL model to the data using scipy.optimize.minimize(),
- Example 03 - define PSPL model using physical properties and plot the resulting magnification curve,
- Example 04 - calculate the Einstein ring size for a grid of lens masses and distances,
- Example 05 - plot multiple datasets for a single model, plot the residuals, and do this both in magnitude and magnification spaces,
- Example 06 - fit parallax model using EMCEE,
- Example 07 - fit parallax model using MultiNest,
- Example 08 - shows how to fit simulated WFIRST light curve with planetary model,
- Example 09 - fit point lens model using chi^2 gradient,
- Example 10 - fit model and extract posterior fluxes, use config file to pass all parameters,
- Example 11 - simulate and fit binary source event.
- Instructions on getting satellite positions
Documentation includes description of input and output of every function.
If you want to learn more about microlensing, please visit Microlensing Source website.
Currently, MulensModel supports:
- Lens Systems: point lens or binary lens.
- Source Stars: single source or binary source.
- Effects: finite source (1-parameter), parallax (satellite & annual), binary lens orbital motion, different parametrizations of microlensing models.
Need more? Open an issue or send us an e-mail.
How to install?
Download the source code and run:
python setup.py install
MulensModel requires some standard packages plus astropy package. To make sure that you have everything that's needed, just run:
pip install -r requirements.txt
Alternatively, you can run makefiles: go to
source/VBBL/ and run
make, then go to
source/AdaptiveContouring/ and do the same. Then and add the path
MulensModel/source to your
PYTHONPATH. If you have any problems, please contact the authors and we will try to help.
If you have problems with installing or running MulensModel on MacOS, please see notes here.
file revised Feb 2019