refraction_cutoff_mask#
- exo_skryer.refraction.refraction_cutoff_mask(state: Dict[str, Array], params: Dict[str, Array], opac: Dict[str, Array]) Array[source]#
Return a boolean mask for impact parameters blocked by refraction.
The mask is defined on the same “impact parameter grid” used by the current transit RT kernels:
b ≈ R0 + z_lay(layer midpoints).For each (layer, wavelength), we estimate the bending angle using the exponential-atmosphere approximation:
alpha(b, λ) ≈ (n(b, λ) - 1) * sqrt(2π b / H)
and mark a ray as blocked if:
alpha(b, λ) > theta_star, theta_star = asin(R_s / a)
where
a = a_sm * AU.- Parameters:
- statedict
Must contain
R0,R_s,z_lay,T_lay,mu_lay,nd_lay, andvmr_lay.- paramsdict
Must contain
log_10_ganda_sm(AU).- opacdict
Must contain
ray_refractivity_coeff_tablealigned withregistry_ray.ray_species_names().
- Returns:
- maskjnp.ndarray, shape (nlay, nwl), dtype bool
True where refraction blocks stellar rays (treat as fully opaque).