{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Running and Plotting LightCones" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tutorial follows on from the [coeval cube tutorial](coeval_cubes), and provides an introduction to creating lightcones with ``21cmFAST``. If you are new to ``21cmFAST`` you should go through the coeval cube tutorial first." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The main entry point into creating lightcones in 21cmFAST is the ``run_lightcone`` function. The function takes a few different arguments, most of which will be familiar to you if you've gone through the coeval tutorial. All simulation parameters can be passed (i.e. ``user_params``, ``cosmo_params``, ``flag_options`` and ``astro_params``). As an alternative to the first two, an ``InitialConditions`` and/or ``PerturbField`` box can be passed. \n", "\n", "Furthermore, the evolution can be managed with the ``zprime_step_factor`` and ``z_heat_max`` arguments. \n", "\n", "There are in principle multiple ways to set up a lightcone: there is a choice of which line-of-sight slices are desired (eg. regular in frequency, comoving distance or redshift?), and also whether the box itself should be regular in transverse comoving distance (like the coeval boxes) or exist on an angular lattice. In 21cmFAST < 3.3.0, all lightcones were output in regular, comoving, rectilinear coordinates such that each \"cell\" was cubic and had the size of the coeval cubes used to make it. In 21cmFAST v3.3+, there is much more flexibility. You use a `Lightconer` subclass to tell the code what your lightcone should look like, and you can specify your own sub-class if the builtin ones don't do what you require. The default lightconer is the same regular rectilinear grid as was used in 21cmFAST<3.3." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "