skyscapes.physical_model.grid
=============================

.. py:module:: skyscapes.physical_model.grid

.. autoapi-nested-parse::

   Grid-interpolated contrast (per-planet 2D interpax).



Classes
-------

.. autoapisummary::

   skyscapes.physical_model.grid.GridPhysicalModel


Module Contents
---------------

.. py:class:: GridPhysicalModel

   Bases: :py:obj:`skyscapes.physical_model.base.AbstractPhysicalModel`


   Per-planet 2D interpolated contrast over (wavelength, phase-angle).

   Distance and planet radius are ignored -- the grid already encodes
   a flux ratio.

   Attributes:
       wavelengths_nm: 1-D wavelength grid [nm], shape ``(n_wl,)``.
       phase_angle_deg: 1-D phase-angle grid [deg], shape ``(n_phase,)``.
       contrast_grid: Contrast cube, shape ``(K, n_wl, n_phase)``.


   .. py:attribute:: wavelengths_nm
      :type:  jaxtyping.Array


   .. py:attribute:: phase_angle_deg
      :type:  jaxtyping.Array


   .. py:attribute:: contrast_grid
      :type:  jaxtyping.Array


   .. py:method:: contrast(phase_angle_rad, dist_AU, wavelength_nm, Rp_Rearth)

      Per-planet contrast at (wavelength, phase).

      Args:
          phase_angle_rad: Phase angle per planet [rad], shape ``(K, T)``.
          dist_AU: Shape ``(K, T)``; ignored (grid encodes flux ratio).
          wavelength_nm: Scalar wavelength.
          Rp_Rearth: Shape ``(K,)``; ignored (grid encodes flux ratio).

      Returns:
          Contrast, shape ``(K, T)``.



   .. py:method:: __repr__()

      One-line summary of grid shape (K, n_wl, n_phase) and wl range.



