Source code for EXOSIMS.SurveySimulation.KnownRVSurvey

from EXOSIMS.Prototypes.SurveySimulation import SurveySimulation
from EXOSIMS.util.deltaMag import deltaMag
import numpy as np
import astropy.units as u


[docs] class KnownRVSurvey(SurveySimulation): """KnownRVSurvey Survey Simulation module based on Know RV planets This class uses estimates of delta magnitude (int_dMag) and instrument working angle (int_WA) for integration time calculation, specific to the known RV planets. Args: **specs: user specified values """ def __init__(self, **specs): # call prototype constructor SurveySimulation.__init__(self, **specs) TL = self.TargetList SU = self.SimulatedUniverse # reinitialize working angles and delta magnitudes used for integration self.int_WA = np.zeros(TL.nStars) * u.arcsec self.int_dMag = np.zeros(TL.nStars) # calculate estimates of shortest int_WA and largest int_dMag for each target for sInd in range(TL.nStars): pInds = np.where(SU.plan2star == sInd)[0] self.int_WA[sInd] = np.arctan(np.min(SU.a[pInds]) / TL.dist[sInd]).to( "arcsec" ) phis = np.array([np.pi / 2] * pInds.size) dMags = deltaMag(SU.p[pInds], SU.Rp[pInds], SU.a[pInds], phis) self.int_dMag[sInd] = np.min(dMags) # populate outspec with arrays self._outspec["int_WA"] = self.int_WA.value self._outspec["int_dMag"] = self.int_dMag