EXOSIMS.ZodiacalLight package

Submodules

EXOSIMS.ZodiacalLight.Mennesson module

class EXOSIMS.ZodiacalLight.Mennesson.Mennesson(EZ_distribution='nominal_maxL_distribution.fits', **specs)[source]

Bases: Stark

Mennesson Zodiacal Light class

This class contains all variables and methods necessary to perform Zodiacal Light Module calculations in exoplanet mission simulation using the model from Stark et al. 2014.

gen_systemnEZ(nStars)[source]

Ranomly generates the number of Exo-Zodi :param nStars: number of exo-zodi to generate :type nStars: int

Returns:

numpy array of exo-zodi randomly selected from fitsdata

Return type:

nEZ (numpy array)

zodi_latitudinal_correction_factor(theta, model=None, interp_at=135)[source]

Compute zodiacal light latitudinal correction factor. This is a multiplicative factor to apply to zodiacal light intensity to account for the orientation of the dust disk with respect to the observer.

Parameters:
  • theta (astropy.units.Quantity) – Angle of disk. For local zodi, this is equivalent to the absolute value of the ecliptic latitude of the look vector. For exozodi, this is 90 degrees minus the inclination of the orbital plane.

  • model (str, optional) – Model to use. Options are Lindler2006, Stark2014, or interp (case insensitive). See Zodiacal and Exozodiacal Light for details. Defaults to None

  • interp_at (float) – If model is ‘interp’, interpolate Leinert Table 17 at this longitude. Defaults to 135.

Returns:

Correction factor of zodiacal light at requested angles. Has same dimension as input.

Return type:

float or numpy.ndarray

Note

Unlike the color correction factor, this quantity is wavelength independent and thus does not change if using power or photon units.

Note

The systems in the data file are all at 60 degrees inclination, so we scale by the 90-60=30 degree value of the correction factor.

EXOSIMS.ZodiacalLight.Stark module

class EXOSIMS.ZodiacalLight.Stark.Stark(magZ=23.0, magEZ=22.0, varEZ=0.0, **specs)[source]

Bases: ZodiacalLight

Stark Zodiacal Light class

This class contains all variables and methods necessary to perform Zodiacal Light Module calculations in exoplanet mission simulation using the model from Stark et al. 2014.

calcfZmax(sInds, Obs, TL, TK, mode, hashname, koTimes=None)[source]

Finds the maximum zodiacal light values for each star over an entire orbit of the sun not including keeoput angles

Parameters:
  • sInds (integer array) – the star indicies we would like fZmax and fZmaxInds returned for

  • Obs (module) – Observatory module

  • TL (TargetList object) – Target List Module

  • TK (TimeKeeping object) – TimeKeeping object

  • mode (dict) – Selected observing mode

  • hashname (string) – hashname describing the files specific to the current json script

  • koTimes (Time(ndarray(float)), optional) – Absolute MJD mission times from start to end in steps of 1 d

Returns:

valfZmax[sInds] (~astropy.units.Quantity(~numpy.ndarray(float))):

the maximum fZ with units 1/arcsec**2

absTimefZmax[sInds] (astropy.time.Time):

returns the absolute Time the maximum fZ occurs

Return type:

tuple

calcfZmin(sInds, Obs, TL, TK, mode, hashname, koMap=None, koTimes=None)[source]

Finds the minimum zodiacal light values for each star over an entire orbit of the sun not including keeoput angles

Parameters:
  • sInds[sInds] (integer array) – the star indicies we would like fZmin and fZminInds returned for

  • Obs (module) – Observatory module

  • TL (module) – Target List Module

  • TK (TimeKeeping object) – TimeKeeping object

  • mode (dict) – Selected observing mode

  • hashname (string) – hashname describing the files specific to the current json script

  • koMap (boolean ndarray, optional) – True is a target unobstructed and observable, and False is a target unobservable due to obstructions in the keepout zone.

  • koTimes (Time(ndarray(float)), optional) – Absolute MJD mission times from start to end in steps of 1 d

Returns:

fZmins[n, TL.nStars] (~astropy.units.Quantity(~numpy.ndarray(float))):

fZMap, but only fZmin candidates remain. All other values are set to the maximum floating number. Units are 1/arcsec2

fZtypes [n, TL.nStars] (~numpy.ndarray(float)):

ndarray of flags for fZmin types that map to fZmins 0 - entering KO 1 - exiting KO 2 - local minimum max float - not a fZmin candidate

Return type:

tuple

fZ(Obs, TL, sInds, currentTimeAbs, mode)[source]

Returns surface brightness of local zodiacal light

Parameters:
  • Obs (Observatory module) – Observatory class object

  • TL (TargetList module) – TargetList class object

  • sInds (integer ndarray) – Integer indices of the stars of interest

  • currentTimeAbs (astropy Time array) – Current absolute mission time in MJD

  • mode (dict) – Selected observing mode

Returns:

Surface brightness of zodiacal light in units of 1/arcsec2

Return type:

Quantity(ndarray(float))

global_zodi_min(mode)[source]

This is used to determine the minimum zodi value globally with a color correction

Parameters:

mode (dict) – Selected observing mode

Returns:

The global minimum zodiacal light value for the observing mode, in (1/arcsec**2)

Return type:

Quantity