Advanced Users' Guide ====================== ExPRES (Exoplanetary and Planetary Radio Emission Simulator) is a versatile tool that is fully configurable through the simulation run input file. We present here the details of each configuration parameter. Main Concepts ------------- The ExPRES tool is modeling planetary radio emission observability. It is described in details in :cite:`Louis:2019`. It is implementing the Cyclotron Maser Instability (CMI) radio emission mechanism :cite:`wu_SSR_85`, which predicts a strongly anisotropic radio source beaming pattern. The beaming pattern is a hollow cone, whose axis is aligned with the local magnetic field direction, and the cone opening angle is related to the unstable particle distribution function properties. ExPRES computes the *radio source* to *observer* spatial vector and compares is direction to the modelled radio source beaming pattern. The ExPRES code configuration requires the definition of: - *The celestial bodies involved in the simulation.* At least one *central body* must be defined, which serves as the *spatial origin* for the simulation. When several bodies are defined, their relative location with the *central body* must be available either as precomputed data, or through orbital parameters provided in the configuration file. - *The location of the observer with respect to the central body.* The location data must be available (either as precomputed data, or through parameters provided in the configuration file. - *The magnetic field and plasma density models associated to the celestial bodies.* Several type of models can be configured. ExPRES is using a set of pre-computed magnetic field lines from a series of magnetic field models. The plasma density models are set through configuration parameters. - *The spatial distribution of the radio sources*. This location is related to the magnetic field line carrying the unstable particles. The range of radio source frequencies must also be set. - *The radio source properties.* The radio emission mechanism is defined by a set of parameters characterising the radio source beaming pattern. The *central body* is the simulation run spatial origin and its radius sets the units of spatial parameters. The times are given in a UTC scale in the observer's frame. The time origin of the simulation run is provided in the observer's definition. .. figure:: /img/expres-outline.jpg :width: 300 :alt: Outline of ExPRES code :align: center **Fig. 1:** Schematic outline of the ExPRES code. The central body here is set up Jupiter and Juno is the observer. The radio sources are placed along the magnetic field line connected to Io. The radio emission beaming pattern model (hollow cone opening angle and thickness) is computed from the magnetic and plasma models. The radio emission observable when the observer is located within the radio source beaming pattern. (Figure adapted from C. Louis, PhD Dissertation, 2018) All spatial parameters of the simulation configuration (distances, radii, lengths...) must be defined in the same units as that of provided *central body* radius. The two options are *km* or *central body planetary radii*. Hence, providing the radius of the central body in km implies that all other spatial parameters must be also provided in km. On the contrary, setting the central body radius to *1* implies that all other spatial parameters are provided in units of the central body planetary radii. This second convention is followed in the examples provided below. **Note that if you use the ``OBSERVER`` ``TYPE``: ``Pre-Defined`` with ``EPHEM``: *file name* you will need to provide the *central body* radius in km (hence the same applies to all other spatial parameters).** The file output file names are built by ExPRES, using a set up configuration parameters. The general scheme is: ``expres_{OBS}_{BODY}_{SRC}_{MAG}_{SRC_PROP}_{DATE}_v{VERS}.json``. The parts of the template are explained in the table below, with an example using the file: `expres_juno_jupiter_io_jrm09_lossc-wid1deg_3kev_20180913_v01.json `_ +---------------+---------------------------+------------------------+ | Template part | Description | Example | +===============+===========================+========================+ | ``{OBS}`` | Observer name | ``juno`` | +---------------+---------------------------+------------------------+ | ``{BODY}`` | Central body name | ``jupiter`` | +---------------+---------------------------+------------------------+ | ``{SRC}`` | Radio source driver | ``io`` | +---------------+---------------------------+------------------------+ | ``{MAG}`` | Magnetic field model name | ``jrm09`` | +---------------+---------------------------+------------------------+ | ``{SRC_PROP}``| Radio source properties | ``lossc-wid1deg_3kev`` | +---------------+---------------------------+------------------------+ | ``{DATE}`` | Simulation date | ``20180913`` | +---------------+---------------------------+------------------------+ | ``{VERS}`` | Version of ExPRES | ``01`` | +---------------+---------------------------+------------------------+ Simulation Setup ---------------- The simulation setup is configured via an ExPRES configuration file (in *JSON* format), following the `ExPRES JSON-Schema v1.4 `_. Configuration File Description ++++++++++++++++++++++++++++++ The ExPRES configuration file should start with the reference to the validation schema to be used. The configuration sections and structure are summarised below: .. code-block:: { "$schema": "https://voparis-ns.obspm.fr/maser/expres/v1.2/schema#", "SIMU": {...}, "NUMBER": {...}, "TIME": {...}, "FREQUENCY": {...}, "OBSERVER": {...}, "SPDYN": {...}, "MOVIE2D": {...}, "MOVIE3D": {...}, "BODY": [{...}, {...}] "SOURCE": [{...}, {...}] } Each JSON entry shown here is described in the next sections. The *BODY* section is specific: it is a list of *BODY* elements, each of which containing a list of *DENS* elements. +------------------------+-------------------+--------------------------------------+ | Section | Mandatory in v1.2 | Description | +========================+===================+======================================+ | :ref:`SIMU` | no | Simulation run description | +------------------------+-------------------+--------------------------------------+ | :ref:`NUMBER` | yes | Number of elements for lists | +------------------------+-------------------+--------------------------------------+ | :ref:`TIME