:mod:`pytmosph3r.parallel` ========================== .. py:module:: pytmosph3r.parallel Module Contents --------------- .. function:: transit_depth_angle(transmission, rk, nprocs, *args, **kwargs) .. function:: transit_depth_grid(transmission, rk, nprocs, *args, **kwargs) .. function:: transit_depth_wn(transmission, rk, nprocs, *args, **kwargs) .. function:: transit_depth_i(transmission, rk, nprocs, dimension, *args, **kwargs) Returns a list of integrals that will be concatenated/stacked together with the rest. .. py:class:: Parallel(name, nprocs=None, dimension='rays') Bases: :class:`pytmosph3r.log.Logger` Base class for a parallel version of the transit depth (see :class:`~pytmosph3r.transmission.Transmission`). :param nprocs: number of procs (by default, maximum). :type nprocs: int :param dimension: Dimension to subdivide among workers. Possible values are `spectral`, `angles`, or `rays`. A `spectral` subdivision shares the spectral range among the workers, `angles` means the angular points of the rays grid are used, while `rays` means all of the rays grid is shared among the workers. :type dimension: str .. attribute:: nprocs .. method:: synchronize(self, model) .. method:: compute_integral(self, transmission, *args, **kwargs) Compute integral over :attr:`nprocs` processes by subdividing the work along the spectral dimension (if :attr:`dimension` is "spectral) or rays dimension(s). .. method:: retrieve_results(self, results) .. py:class:: MultiProcTransit(nprocs=None, *args, **kwargs) Bases: :class:`pytmosph3r.parallel.Parallel` .. py:class:: MpiTransit(slaves=False, *args, **kwargs) Bases: :class:`pytmosph3r.parallel.Parallel` .. attribute:: max_size :annotation: = 1000 Maximum message size. .. method:: synchronize(self, model) .. method:: list_chunks(self, source)