swarmpal.toolboxes.dsecs.processes
==================================

.. py:module:: swarmpal.toolboxes.dsecs.processes


Classes
-------

.. autoapisummary::

   swarmpal.toolboxes.dsecs.processes.Preprocess
   swarmpal.toolboxes.dsecs.processes.Analysis


Functions
---------

.. autoapisummary::

   swarmpal.toolboxes.dsecs.processes._get_dsecs_active_subtrees


Module Contents
---------------

.. py:class:: Preprocess(config: dict | None = None, active_tree: str = '/', inplace: bool = True)

   Bases: :py:obj:`swarmpal.io.PalProcess`


   Prepare data for input to DSECS analysis


   .. py:property:: process_name


   .. py:method:: set_config(dataset_alpha: str = 'SW_OPER_MAGA_LR_1B', dataset_charlie: str = 'SW_OPER_MAGC_LR_1B', output_dataset: str = 'DSECS_output')


   .. py:method:: _call(datatree)


   .. py:method:: _append_apex_coords(ds)
      :staticmethod:



   .. py:method:: _spherical_geocentric_to_geodetic(lat, lon, rad)
      :staticmethod:


      Convert from geocentric coordinates to geodetic lat/lon and height

      :param lat: Geocentric latitude (degrees)
      :type lat: array_like
      :param lon: Geocentric longitude (degrees)
      :type lon: array_like
      :param rad: Geocentric radius (metres)
      :type rad: array_like

      :returns: * **lat** (*ndarray*) -- Geodetic latitude (degrees)
                * **lon** (*ndarray*) -- Geodetic longitude (degrees)
                * **alt** (*ndarray*) -- Geodetic altitude (metres)



   .. py:method:: _calc_apex_coords(date, lat, lon, rad)
      :staticmethod:


      Calculate Apex coordinates

      :param date: Epoch date to use for Apex calculations
      :type date: datetime
      :param lat: Geocentric latitude (degrees)
      :type lat: array_like
      :param lon: Geocentric longitude (degrees)
      :type lon: array_like
      :param rad: Geocentric radius (metres)
      :type rad: array_like

      :returns: * **mlat** (*ndarray*) -- Mangnetic apex latitude (degrees)
                * **mlon** (*ndarray*) -- Magnetic apex longitude (degrees)



.. py:function:: _get_dsecs_active_subtrees(datatree, output_dataset)

   Returns the relevant subtrees (i.e. Alpha, Charlie)


.. py:class:: Analysis(config: dict | None = None, active_tree: str = '/', inplace: bool = True)

   Bases: :py:obj:`swarmpal.io.PalProcess`


   Run the DSECS analysis


   .. py:property:: process_name


   .. py:method:: set_config(output_dataset: str = 'DSECS_output')


   .. py:method:: _call(datatree)


