import matplotlib.pyplot as plt
from shone.opacity import Opacity, generate_synthetic_opacity

generate_synthetic_opacity()

# load the one opacity file:
opacity = Opacity.load_species_from_name('synthetic')

# get a jitted 3D interpolator over wavelength, temperature, pressure:
interp_opacity = opacity.get_interpolator()

wavelength = np.linspace(1, 5, 500)  # [µm]
pressure = 1  # [bar]
temperature = 200  # [K]

example_opacity = interp_opacity(wavelength, temperature, pressure)

plt.semilogy(wavelength, example_opacity, label=f"T={temperature} K")
plt.legend()
plt.gca().set(
    xlabel='Wavelength [µm]',
    ylabel='Opacity, $\kappa$ [cm$^2$ g$^{-1}$]'
)