Direction du Soleil au lever et au coucher

La direction dans laquelle se lève et se couche le Soleil dépend de deux paramètres :

  • la latitude du lieu où l’on se trouve.
  • la date, ou plus précisément la valeur de la déclinaison du Soleil à la date indiquée.

Ce graphique tente d’illustrer l’influence de ces paramètres.

Ce graphique est réalisé avec un script rédigé en langage Python.

Depuis le centre on parcourt l’année (avec un cercle pour chaque début de mois). L’observateur se situe au centre du graphique. Il faut choisir une latitude, et la courbe correspondante.

Exemple de lecture : le 1er mai, pour la latitude 50°Nord, le Soleil se lève dans la direction ENE, et se couche dans la direction ONO.

  • Aux équinoxes de mars et de septembre (points colorés), quelle que soit la latitude, le Soleil se lève plein est et se couche plein ouest.
  • Aux solstices de juin et de décembre, la direction du lever et celle du coucher commencent à se déplacer dans le sens inverse.
  • Aux faibles latitudes ( inférieures à 23.4°, zone intertropicale) les directions des levers et couchers s’éloignent assez peu des points cardinaux est et ouest.
  • Aux latitudes élevées, les variations annuelles sont les plus importantes. À partir de la latitude 66.6° (cercle polaire), les courbes de lever et de coucher se rejoindraient vers le nord, à certaines dates proches du solstice d’été : le Soleil ne se coucherait pas, et ferait le tour de l’horizon.

La déclinaison du Soleil est modélisée par la fonction suivante :

def declinaison(J):#modélise la déclinaison pour un jour de rang J dans l'année
    long = (2*np.pi*(J-81))/365.2422
    decl = np.arcsin(np.sin(eps)*np.sin(long))
    return decl

L’angle horaire du Soleil au lever est calculé par :

def H0(J):
    decl = declinaison(J)
    Hz = np.arccos(-np.tan(lat) * np.tan(decl))
    return Hz

L’azimut du Soleil au lever et au coucher est modélisé par la fonction :

def azimut(J):
    decl = declinaison(J)
    az = np.arccos(- np.sin(decl) / np.cos(lat))
    Hz = H0(J)
    az = azimutcorrige(az, Hz)
    return az

L’azimut du Soleil est corrigé par la fonction :

def azimutcorrige(A, Ah):
    if np.sin(A)<0:
        if np.sin(Ah)>0:
            A=A+np.pi
    else:
       if np.sin(Ah)<0:
        A=A-np.pi
    return A

Script Python à télécharger :

Be First to Comment

Laisser un commentaire