pytmosph3r.observations.phasecurve

Module Contents

class Phasecurve(n_phases: typing_extensions.Optional[int] = None, start: typing_extensions.Union[None, float, astropy.units.Quantity[pytmosph3r.util.pt.angle]] = None, end: typing_extensions.Union[None, float, astropy.units.Quantity[pytmosph3r.util.pt.angle]] = None, phases: typing_extensions.Union[None, numpy.ndarray, astropy.units.Quantity[pytmosph3r.util.pt.angle]] = None, wns=None, *args, **kwargs)[source]

Bases: pytmosph3r.observations.emission.Emission

The Phasecurve module relies on the Emission module: we iterate over n_phases observer longitudes and scale the flux using the projection of the surface onto that direction. You can use the same parameters as Emission for this module. IMPORTANT NOTE: top_flux_from_star and mu_from_obs will add a considerable computing time since the emission flux has to be re-computed at EACH phase.

Parameters:
  • n_phases (int) – Number of phases for the phase curve. Defaults to 100.

  • start (float) – Phase at which to start the phasecurve, in SI (radians) or astropy units.

  • end (float) – Phase at which to end the phasecurve, in SI (radians) or astropy units.

  • phases (array) – List of phases (ignores n_phases, start and end). Assumed to be in

  • SI

  • units. (or astropy)

  • kwargs (dict) – Parameters passed to the Emission module.

Returns:

A series of n_phases Emission fluxes.

Return type:

(array)

We provide two methods to select the phases, the first one (1) provide an array with the phases wanted. The second one (2) create the phases array from a number of phase and the bounds. Default is 100 points between -180° and +180°.

Parameters:
  • n_phases (Optional[int]) –

  • start (None, float, Quantity[pt.angle]) –

  • end (None, float, Quantity[pt.angle]) –

  • phases (Union[None, np.ndarray, Quantity[pt.angle]]) – Typed array (1)

  • () (**kwargs)

  • ()

  • ()

n_phases: int = None

Number of phases in the phase curve.

start: float = None
end: float = None
phases: numpy.ndarray = None
wns: numpy.ndarray = None
wnedges: numpy.ndarray = None
store_raw_flux: bool = True

Whether or not to store raw flux (over each (latitude, longitude)).

build(model)[source]

No need for an altitude-based grid (as done in transmission), so we just copy the input grid.

compute(model)[source]

Computation of a phase curve, along n_phases observer longitudes. This function is called by compute().

emissions(normalized: bool = False) typing_extensions.Iterator[exo_k.Spectrum][source]

This method allows to iterate over the spectrum at each phase.

outputs()[source]