skyscapes.scene.star#

Star models for the scene hierarchy.

AbstractStar declares a Ms_kg / dist_pc pair and the spec_flux_density hook. FlatStar is a flat-spectrum stand-in useful for ETC runs. Star wraps an interpax.Interpolator2D over (wavelength, time) built from Jansky flux data, matching the legacy skyscapes._legacy.Star semantics.

Note: from __future__ import annotations is deliberately NOT used here – it stringifies annotations, which breaks Equinox’s metaclass handling of AbstractVar type parameters.

Classes#

AbstractStar

Abstract stellar source.

FlatStar

Flat-spectrum star -- constant flux independent of wavelength or time.

Star

Time- and wavelength-dependent star backed by an interpax 2D spline.

Module Contents#

class skyscapes.scene.star.AbstractStar[source]#

Bases: equinox.Module

Abstract stellar source.

Attributes:

Ms_kg: Stellar mass in kilograms. dist_pc: Distance to the star in parsecs.

Ms_kg: equinox.AbstractVar[float]#
dist_pc: equinox.AbstractVar[float]#
abstractmethod spec_flux_density(wavelength_nm, time_jd)[source]#

Return spectral flux density in ph/s/m^2/nm.

Parameters:
  • wavelength_nm (jaxtyping.Array)

  • time_jd (jaxtyping.Array)

Return type:

jaxtyping.Array

class skyscapes.scene.star.FlatStar[source]#

Bases: AbstractStar

Flat-spectrum star – constant flux independent of wavelength or time.

Ms_kg: float#
dist_pc: float#
flux_phot_per_nm_m2: float#
spec_flux_density(wavelength_nm, time_jd)[source]#

Constant flux, broadcast to wavelength_nm’s shape.

time_jd is part of the AbstractStar interface but ignored here.

Parameters:
  • wavelength_nm (jaxtyping.Array)

  • time_jd (jaxtyping.Array)

Return type:

jaxtyping.Array

__repr__()[source]#

Compact one-line summary of mass, distance, and flux.

Return type:

str

class skyscapes.scene.star.Star(*, Ms_kg, dist_pc, wavelengths_nm, times_jd, flux_density_jy, ra_deg=0.0, dec_deg=0.0, diameter_arcsec=0.0, luminosity_lsun=1.0)[source]#

Bases: AbstractStar

Time- and wavelength-dependent star backed by an interpax 2D spline.

Parameters:
  • Ms_kg (float)

  • dist_pc (float)

  • wavelengths_nm (jaxtyping.Array)

  • times_jd (jaxtyping.Array)

  • flux_density_jy (jaxtyping.Array)

  • ra_deg (float)

  • dec_deg (float)

  • diameter_arcsec (float)

  • luminosity_lsun (float)

Ms_kg: float#
dist_pc: float#
ra_deg: float#
dec_deg: float#
diameter_arcsec: float#
luminosity_lsun: float#
_wavelengths_nm: jaxtyping.Array#
_times_jd: jaxtyping.Array#
_flux_density_phot: jaxtyping.Array#
_flux_interp: interpax.Interpolator2D#
spec_flux_density(wavelength_nm, time_jd)[source]#

Scalar or array spectral flux density [ph/s/m^2/nm].

Parameters:
  • wavelength_nm (jaxtyping.Array)

  • time_jd (jaxtyping.Array)

Return type:

jaxtyping.Array

__repr__()[source]#

One-line summary of metadata + wavelength/time grid extent.

Return type:

str