############################################################################
# Sujet 2 Cave #
############################################################################
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
import numpy as np
import os

# Récupération des températures mesurées rassemblées dans un fichier texte
# chemin et nom du répertoire contenant le fichier texte doivent être adaptés :
os.chdir(r"D:\0-MP-MPI_2025-2026")
t,T=np.loadtxt("cave_valeurs.txt",unpack=True)

# Tracé des variations de température mesurées
plt.plot(t,T,"k.")
plt.title("Effet de cave")
plt.xlabel("t (jours)")
plt.ylabel("Température (°C)")
plt.gca().xaxis.set_major_locator(MultipleLocator(50))
plt.gca().yaxis.set_major_locator(MultipleLocator(2))
plt.gca().xaxis.set_minor_locator(MultipleLocator(25))
plt.gca().yaxis.set_minor_locator(MultipleLocator(1))
plt.grid(which="major",alpha=1)
plt.grid(which="minor",alpha=0.3)
plt.axis([0,400,0,20])

# Modélisation du relevé de températures  : lignes 28 à 34 à MODIFIER
h=0  # profondeur cave
delta=1.8  # grandeur définie dans le sujet
Tm=2  # température moyenne
A=0   # amplitude des variations de température à la surface
w=2*np.pi/365   # pulsation
phi0=0   # phase initiale à la surface
Tmod = Tm + A*np.exp(-h/delta)*np.cos(w*t-h/delta+phi0)
plt.plot(t,Tmod,"r")

plt.legend(["relevé","modélisation"])

plt.show()