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

opacity = generate_synthetic_opacity()

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

wavelength = np.linspace(1, 5, 500)  # [µm]
pressure = 0.3  # [bar]
temperature = 555  # [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}$]'
)