Skip to content

Commit

Permalink
doc updates
Browse files Browse the repository at this point in the history
doc updates
  • Loading branch information
mschwamb committed Jan 8, 2025
1 parent 6f111a5 commit 331c75c
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 6 deletions.
25 changes: 22 additions & 3 deletions docs/apparentmag.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.. _apparent_magnitudes
Apparent Magnitude Calculations
Post-Processing (Applying Survey Biases)
==========================================================

Trailed Source Magnitude and PSF (Point Spread Function) Magnitude
Expand All @@ -24,7 +24,14 @@ Incorporating Rotational Light Curves and Activity
------------------------------------------------------------
``Sorcha`` has the ability user provided functions though python classes that augment/change the apparent brightness calculations for the synthetic Solar System objects. Any values required as input for these calculations, must be provided in the separate :ref:`CPP` file as input.

We have base example classes that the user can take and modify to whatever your need is. Within the ``Sorcha`` :ref:`configs`, the user would then specify when class would use and provide the required :ref:`CPP` file on the command line. We also have 2 pre-made example classes that can augment the calculated apparent magnitude of each synthetic object, One for handling cometary activity as a function of heliocentric distance and one that applies rotational light curves to the synthetic objects. In both cases, any derived class must inherit from the corresponding base class and follow its API, to ensure that sorcha knows how to find and use your class.
We have base example classes that the user can take and modify to whatever your need is. Within the ``Sorcha`` :ref:`configs`, the user would then specify which class they want to use and provide the required :ref:`CPP` file on the command line.


Once the Sorcha addons is installed, Sorcha will automatically detect the available plugins and make them available during processing.

To use one of the plugins from the community utilities, simply add the unique name of the plugin to the configuration file provided to Sorcha, and provide the complex parameters file on the command line.

We also have 2 pre-made example classes that can augment the calculated apparent magnitude of each synthetic object, One for handling cometary activity as a function of heliocentric distance and one that applies rotational light curves to the synthetic objects. In both cases, any derived class must inherit from the corresponding base class and follow its API, to ensure that Sorcha knows how to find and use your class.

Cometary Activity or Simulating Other Active Objects
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -38,14 +45,26 @@ Through the ``Sorcha'' configuration file.
lsst_comet
.. seealso::
We have an `example Jupyter notebook <notebooks/demo_Cometary_Activity.ipynb>`_ demonstrating the LSSTCometActivity class built into `Sorcha addons GitHub repository <https://github.com/dirac-institute/sorcha-addons>`_.
You can also develop your own class to apply a different comentary activity and add it into a custom version of the``Sorcha addons`` package. Once the Sorcha-addons is installed, Sorcha will automatically detect the available plugins and make them available during processing.




Rotational Light Curve Effects
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The base lightcurve class is `AbstractLightCurve <https://github.com/dirac-institute/sorcha/blob/04baa79a7d67e1647b839a2d3880d8bfd9ce4624/src/sorcha/lightcurves/base_lightcurve.py#L10>`_ (see below). Inside the `sorcha addons GitHub repository <https://github.com/dirac-institute/sorcha-addons>`_, we provide a simple example implementation where the apparent magnitude of the object (that is, the magnitude after all geometric effects have been taken into account), has a sinusoidal term added to it. To use this function, in the :ref:`CPP` file, the user must provide a light curve amplitude (`LCA`), corresponding to half the peak-to-peak amplitude for the magnitude changes, a period `Period`, and a reference time `Time0` where the light curve is at 0 - if these are not provided, the software will produce an error message. Despite being simple, that implementation shows all the class methods that need to be implemented for a custom light curve function.
The base lightcurve class is `AbstractLightCurve <https://github.com/dirac-institute/sorcha/blob/04baa79a7d67e1647b839a2d3880d8bfd9ce4624/src/sorcha/lightcurves/base_lightcurve.py#L10>`_ (see below). Inside the `Sorcha addons GitHub repository <https://github.com/dirac-institute/sorcha-addons>`_, we provide a simple example implementation where the apparent magnitude of the object (that is, the magnitude after all geometric effects have been taken into account), has a sinusoidal term added to it. To use this function, in the :ref:`CPP` file, the user must provide a light curve amplitude (`LCA`), corresponding to half the peak-to-peak amplitude for the magnitude changes, a period `Period`, and a reference time `Time0` where the light curve is at 0 - if these are not provided, the software will produce an error message. Despite being simple, that implementation shows all the class methods that need to be implemented for a custom light curve function.

.. literalinclude:: ../src/sorcha/lightcurves/base_lightcurve.py
:language: python


.. seealso::
We have an `example Jupyter notebook <notebooks/demo_Lightcurve.ipynb>`_ demonstrating the SinusoidalLightCurve class built into `Sorcha addons GitHub repository <https://github.com/dirac-institute/sorcha-addons>`_,


Applying Photometric and Astrometric Uncerainties
------------------------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/configfiles.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Configuration File
=====================

``Sorcha`` uses a configuration file to set the majority of the various required and optional parameters and well as providing the ability to turn on and off various calculations and filters applied to the simulated small body population. Details about the various settings and options available in the configuration files are described in the :ref:`inputs`, :ref:`filters`, :ref:`ephemeris_gen`, and :ref:`output` pages.
``Sorcha`` uses a configuration file to set the majority of the various required and optional parameters as well as providing the ability to turn on and off various calculations and filters applied to the input small body population. Details about the various settings and options available in the configuration files are described in the :ref:`inputs`, :ref:`filters`, :ref:`ephemeris_gen`, and :ref:`output` pages.

.. _example_configs:

Expand Down
3 changes: 3 additions & 0 deletions docs/inputs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,9 @@ The complex physical parameters file is only needed if you're going to include y
* The complex physical parameters file can be either **whitespace-separated** or **comma-separated values (CSV)**
* Each simulated object **must** have a unique string identifier

.. seealso::
Further details about how to use ``sorcha addons`` to apply cometary activity and lightcurve effects can be found :ref:`here<addons>`.

.. _ephemf:

Ephemeris File (Optional)
Expand Down
2 changes: 1 addition & 1 deletion docs/notebooks/demo_Cometary_Activity.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -542,7 +542,7 @@
"id": "a2bd9dd4-7666-4311-bc9f-a09b0255ae1c",
"metadata": {},
"source": [
"Let's active the LSSTCometActivity class "
"Let's activate the LSSTCometActivity class "
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion docs/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The :ref:`inputs<Inputs>` that ``Sorcha`` requires are shown in the figure below

Design Philosophy
----------------------
``Sorcha`` has been designed in a modular way with each filter written as its own function, This makes it easy to add new filters in the future if required by users. We note for dealing with rotational light curve and activity effects, we have set up ``Sorcha`` such that the user can provide their own custom classes/functions and import them into ``Sorcha`` to use. Further details can be found on the :ref:`addons` page. ``Sorcha`` has been designed with LSST in mind, but many of the filters already developed will be applicable to other Solar System surveys. If you are interested in incorporating your survey into ``Sorcha`` do reach out.
``Sorcha`` has been designed in a modular way with each filter written as its own function, This makes it easy to add new filters in the future if required by users. We note for dealing with rotational light curve and activity effects, we have set up ``Sorcha`` such that the user can provide their own custom classes/functions and import them into ``Sorcha`` to use. Further details can be found in the :ref:`addons` section. ``Sorcha`` has been designed with LSST in mind, but many of the filters already developed will be applicable to other Solar System surveys. If you are interested in incorporating your survey into ``Sorcha`` do reach out.

.. note::
Contributions are very welcome. If there is a feature or functionality not yet available in ``Sorcha``, we encourage you to propose the feature as an issue in the `main github repository <https://github.com/dirac-institute/survey_simulator_post_processing/issues>`_ or share your code with the new enhancements. Further details can be found on our :ref:`reporting` page.
Expand Down

0 comments on commit 331c75c

Please sign in to comment.