import numpy as np
import matplotlib.pyplot as plt
from exo_skryer.vert_Tp import Guillot
from exo_skryer.data_constants import bar

# Create pressure grid
nlev = 100
p_bot = np.log10(100.0)
p_top = np.log10(1e-6)
p_lev = np.logspace(p_bot, p_top, nlev) * bar

# Example parameters for a hot Jupiter
params = {
    "T_int": 100.0,
    "T_eq": 1000.0,
    "log_10_k_ir": -2.0,
    "log_10_gam_v": -2,
    "log_10_g": 3.0,
    "f_hem": 0.25
}
T_lev, T_lay = Guillot(p_lev, params)

# Plot
fig, ax = plt.subplots(figsize=(10, 5))
ax.semilogy(T_lev, p_lev/bar, c='darkorange')
ax.set_xlabel('Temperature [K]', fontsize=16)
ax.set_ylabel('pressure [bar]', fontsize=16)
ax.set_title('Guillot (2010) T-p Profile', fontsize=14)
ax.tick_params(labelsize=14)
ax.invert_yaxis()
plt.tight_layout()