skyscapes.scene.planet#
scene.Planet – composes an AbstractOrbit with an AbstractPhysicalModel.
Planet-intrinsic parameters (radius, mass) live on Planet itself.
Submodels receive them as method arguments when needed:
orbitowns orbital elements (a, e, i, …). Those parameters are the orbit’s parameterization, not the planet’s identity.
physical_modelowns spectral physics (albedo, contrast grid, ExoJax composition). Planet radius is passed tophysical_model.contrast(..., Rp_Rearth=self.Rp_Rearth)rather than duplicated as a field.
Stellar context (Ms_kg, dist_pc) is supplied keyword-only at
call time through a Star argument – Planet never stores a
reference to its host star, which keeps the PyTree shallow and lets a
single scene.System own the one-and-only star.
Classes#
Composed planet: intrinsic params + orbit dynamics + physical-model physics. |
Module Contents#
- class skyscapes.scene.planet.Planet[source]#
Bases:
equinox.ModuleComposed planet: intrinsic params + orbit dynamics + physical-model physics.
All stellar-context-dependent methods take a
starkeyword argument rather than holding a reference internally. This keepsSystemas the single source of truth for the host star.- Attributes:
Rp_Rearth: Planet radius [Earth radii], shape
(K,). Mp_Mearth: Planet mass [Earth masses], shape(K,). orbit: Orbital dynamics (trajectory parameterization). physical_model: Spectral physics (reflectivity / emission).
- Rp_Rearth: jaxtyping.Array#
- Mp_Mearth: jaxtyping.Array#
- orbit: orbix.system.orbit.AbstractOrbit#
- physical_model: skyscapes.physical_model.AbstractPhysicalModel#
- mean_anomaly(t_jd, *, star)[source]#
Mean anomaly mod 360 [deg], shape
(K, T).t_jdmust be shape(T,)– no rank polymorphism. Callers that hold a scalar should wrap it injnp.asarray([t])at the call site.- Parameters:
t_jd (jaxtyping.Array)
- Return type:
jaxtyping.Array
- propagate(trig_solver, t_jd, *, star)[source]#
Delegate to
orbit.propagate; returns(r_AU, phase_rad, dist_AU).- Parameters:
t_jd (jaxtyping.Array)
- position_arcsec(trig_solver, t_jd, *, star)[source]#
On-sky position, shape
(2, K, T)– (dRA, dDec) in arcsec.- Parameters:
t_jd (jaxtyping.Array)
- Return type:
jaxtyping.Array
- alpha_dMag(trig_solver, t_jd, *, star, wavelength_nm=600.0)[source]#
Projected separation [arcsec] and delta-mag, each
(K, T).For
LambertianPhysicalModel(grey), the chosenwavelength_nmis irrelevant and the output matchesorbix.Planets.alpha_dMagby construction. ForGridPhysicalModel/ future wavelength- dependent models,dMagis evaluated atwavelength_nm; pick a value within the model’s spectral grid.
- contrast(trig_solver, wavelength_nm, t_jd, *, star)[source]#
Planet-to-star contrast at (wavelength, time), shape
(K, T).- Parameters:
wavelength_nm (jaxtyping.Array)
t_jd (jaxtyping.Array)
- Return type:
jaxtyping.Array