Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

PLATO Stellar Light-curve Simulator (SLS): Simulate stochastically-excited oscillations and associated stellar and instrumental background noises

Project description

================================================ PSLS: the PLATO Solar-like Light-curve Simulator

PSLS simulates solar-like oscillators representative for PLATO observations. The simulator includes planetary transits, stochastically-excited oscillations, granulation and activity background components, as well as instrumental systematic errors and random noises representative for PLATO. The program also manages the existence of a time shift between groups of cameras. Planetary transits are included following Mandel & Agol (2002) equations (see and using the Python implementation by Ian Crossfield ( at UCLA.

For more details see and also Samadi et al (2019, A&A, 624, 117).

The package provides the code and various tables (files) storing the parameters describing the PLATO systematic errors:

  • PLATO_systematics_EOL_V1.npy: End Of Life (EOL) systematic errors (aperture mask, P5 sample)
  • PLATO_systematics_BOL_V1.npy: Begining Of Life (BOL) systematic errors (aperture mask, P5 sample)
  • PLATO_systematics_BOL/EOL_FixedMask_V1.npy: fixed aperture masks (P5 sample)
  • PLATO_systematics_BOL/EOL_P1_V1.npy: systematic errors representative for the P1 sample (based on the PSF fitting method)

The systematic error parameters were derived from up-to-date simulations made with the Plato Image Simuator (PIS) and using a realistic Gaia field. Old systematic errors tables are given for compatibility (PLATO_systematics_BOL/EOL_V0.npy).

When systematic errors are enabled, PSLS picks from the table the systematic error parameters (see Samadi et al 2019) of the stars with magnitude close to the magnitude specified by the user and with a drift amplitude taken in a given range specified by the DriftLevel parameter (low: 0-0.4 px/90days, medium: 0.4-0.8 px/90days, and high: >0.8 pix/90days). Note that stars with different contamination ratios are mixed together.

Two working examples are also provided:

  • a main sequence star (0012069449.yaml) with its associated theoretical frequencies (0012069449.gsm) generated by ADIPLS pulsation code
  • a red giant star (0009882316.yaml), which does not require as input theoretical frequencies.

A couple of grids of solar-like oscillation models can be downloaded from the PSLS website (

If you use PSLS in your research work, please make a citation to Samadi et al (2019, A&A, 624, 117, and Marchiori et al (2019, A&A, 627, A71,

For more details about this release please see the release notes attached with the package.

Changes history:

  • 1.2 (25/05/20): new tables for systematic errors, random noise can vary with mask shapes and mask updates, amplitude of the drift can be controlled by the parameter Systematic/DriftLevel, mask updates are flagged
  • 1.1 (03/02/20): Some Python3 compatibility issues corrected. New option "-m" generating merged light-curves, new option -M to perform Monte-Carlo simulations
  • 1.0 (05/09/19): Implementation of the V-P color-magnitude relation from Marchiori et al (2019). The option -f saves now each individual light-curves. Oscillations can be turned off. New format for the input file (YAML). PLATO NSR values are now available down to magnitude P=15.6.
  • 0.9 (20/05/19): the NSR table was incorrectly interpolated. V magnitudes ranging between 12 and 13 were affected.
  • 0.85 (23/03/19): minor changes to be make the code fully compatible with python3
  • 0.8 (23/02/19): systematic errors are now modelled and simulated in the time domain. The jumps induced by the quasi-regular mask updates are now included. Version corresponding to the published paper Samadi et al (2019, A&A, 624, 117)
  • 0.7 (10/12/18): inclusion of PLATO systematic errors and random noise as a function of the star V magnitude
  • 0.6: minor problems fixed (missing file, link problem)
  • 0.5: can perform simulation for a given input set of theoretical frequencies (i.e. from a given .gsm file) ; new parameters included in the configuration file .yaml ; various minor improvements
  • 0.4: minor changes
  • 0.3: first working version

Copyright (c) October 2017, Reza Samadi, LESIA - Observatoire de Paris

This is a free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this code. If not, see

Project details

Download files

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

Files for psls, version 1.2
Filename, size File type Python version Upload date Hashes
Filename, size psls-1.2.tar.gz (4.0 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page