Awesome
SimCADO - the instrument data simulator for MICADO
Documentation for SimCADO can be found here:
https://readthedocs.org/projects/simcado/
SimCADO in a nutshell
SimCADO is a python package designed to simulate the effects of the Atmosphere, E-ELT, and MICADO instrument on incoming light. The current version (v0.2) can simulate the MICADO imaging modi (4mas and 1.5mas per pixel in the wavelength range 0.7µm to 2.5µm).
Reference Material
-
The inner workings of SimCADO are described in detail in Leschinski et al. (2016)
-
The current status of MICADO is described in Davies et al. (2016)
Downloading and Installing
For more information, see the the documentation
SimCADO has only been tested in Python 3.x.
It is highly recommended to use Python 3, however the basics of generating images will still work in Python 2.7. We cannot guarantee this though. See the Features page for more info on which functions with which Python version.
The quick way:
$ pip install simcado
The first time in python
>>> import simcado
>>> simcado.get_extras()
>>>
>>> # !! Only works in Python 3 - See Downloads section
>>> simcado.install_noise_cube()
Keeping SimCADO updated
As MICADO developes, the data files that SimCADO uses will also be updated. Therefore before you do any major work with SimCADO we HIGHLY recommend calling:
>>> simcado.get_extras()
Running a simulation in 3 lines
the keyword OBS_EXPTIME has been replaced by OBS_DIT in the latest version of SimCADO
The easiest way to run a simulation is to create, or load, a Source object and then call the .run()
command. If you specify a filename, the resulting image will be output to a FITS file under that name. If you do not specify a filename, the output will be returned to the console/notebook as an astropy.io.fits.HDUList
object.
To begin, we will import the simcado module (assuming it is already installed).
>>> import simcado
At the very least, we need to create a Source
object which contains both spatial and spectral information on our object of interest. Here we use the built-in command .source.source_1E4_Msun_cluster()
to create a Source
-object for a 10000-Msun stellar cluster. (See Creating Sources for more information).
>>> src = simcado.source.source_1E4_Msun_cluster()
We now pass the source
object through SimCADO. This is as easy as calling .run()
. If we specify a filename
, SimCADO will write the output to disk in the form of a FITS file. If no filename
is given, then SimCADO returns an astropy.io.fits
object to the console/notebook.
>>> simcado.run(src, filename="my_first_sim.fits")
Changing simulation parameters
The sim.run()
also takes any configuration keywords as parameters for running the simulation. For example, the default exposure time for the simulation is 60 seconds, however this can be increased of decreased by using the keyword OBS_DIT
(and/or combining it with OBS_NDIT
). A stacked 6x 10 minute observation sequence would look like:
>>> simcado.run(src, filename="my_first_sim.fits", OBS_DIT=600, OBS_NDIT=6)
That's it. Of course SimCADO can also go in the other direction, providing many more levels of complexity, but for that the reader is directed to the examples pages and/or the API documentation
SimCADO building blocks
For a brief explanation of how SimCADO works and which classes are relevant, please see either the Getting Started or SimCADO in depth section.
Bugs and Issues
We freely admit that there may still be several bugs that we have not found. If you come across an buggy part of SimCADO, please please tell us. We can't make SimCADO better if we don't know about things.
The preferable option is to open an issue on our Github page: astronomyk/SimCADO/issues, or you can contact either one of us directly.
Please always include the output of
>>> simcado.bug_report()
Contact
For questions and complaints alike, please contact the authors:
Developers (Vienna): Kieran Leschinski, Oliver Czoske, Miguel Verdugo
Data Flow Team Leader (Gronigen): Gijs Verdoes Kleijn
MICADO home office (MPE): http://www.mpe.mpg.de/ir/micado