Diagramme solaire azimut-hauteur

Où l’on visualise la position du Soleil dans le ciel, en fonction de la date et de l’heure.

L’azimut du Soleil est l’angle entre sa direction et une direction de référence (ici, le point cardinal sud), cet angle étant pris dans le plan horizontal. Par exemple, la direction Est d’un lieu se trouve à l’azimut -90° et la direction Ouest à l’azimut +90°.

La hauteur du Soleil est l’angle entre sa direction et l’horizon, cet angle étant pris dans un plan vertical.

Dans ce diagramme, on place en abscisses l’azimut et la hauteur en ordonnées.

Le diagramme solaire pour la latitude du Havre. On aurait un diagramme très similaire pour Paris (latitude 48.9°).

Les courbes en cloche représentent le chemin suivi par le Soleil à une date donnée. Les lignes numérotées sont les lignes horaires (en heures solaires).

Pour ces dates, on peut lire la hauteur et l’azimut à une date et une heure souhaitée. On retrouve dans ce diagramme des informations plus ou moins évidentes :

  • c’est à midi (solaire) que le Soleil culmine, toute l’année. Il se trouve alors au-dessus du sud (dans l’hémisphère nord), à l’azimut 0°.
  • aux équinoxes de printemps et d’automne, le Soleil se lèvre plein est (azimut -90° et se couche plein ouest, azimut 90°). En automne et en hiver, il se lève plutôt vers le sud-est et se couche vers le sud-ouest. Au printemps, la direction du lever se décale vers le nord-est.
Latitude 43° (sud de la France)
  • Les heures de lever et de coucher varient selon la latitude. C’est également le cas de l’azimut. Plus la latitude diminue, plus le Soleil est haut dans le ciel, et plus l’azimut à l’horizon est resserré autour des points est et ouest.
Latitude 30° (sud du Maroc)

Quand on se trouve dans la zone intertropicale (latitude comprise entre 23.4° et -23.4°), à certaines dates, l’azimut du Soleil commence par augmenter légèrement, puis diminue rapidement jusqu’à -180° jusqu’à midi : le Soleil se trouve alors vers le nord. Sur le diagramme, on voit une discontinuité de l’azimut (passage de -180 à +180°).


Les hautes latitudes :

Latitude 55° (nord de l’Angleterre)
Au-delà du cercle Polaire Arctique.

À la latitude 75°, entre mai et juillet, le Soleil ne se couche pas (hauteur d’environ 8° dès minuit). En revanche, à partir de novembre, le Soleil ne se lève pas.

Au Pôle Nord

Le Soleil suit un chemin horizontal dans le ciel. Aux équinoxes, il frôle l’horizon toute la journée. Les lignes horaires sont devenues verticales, et suivent les lignes d’égal azimut.

Le programme en Python qui trace ce diagramme :


Pour comparer quelques latitudes (image 1.9 MB) :


Comment ce diagramme a-t-il été tracé ?

Toutes les courbes sont tracées point par point, car il n’existe pas de relation directe entre la hauteur et l’azimut. Les relations utilisées :

Pour la relation (1), après avoir calculé l’azimut A, un test est nécessaire :

Si A est positif alors que H est négatif, il faut soustraire 180° à A.

Si A est négatif alors que H est positif, il faut ajouter 180° à A.

Deux boucles for imbriquées décrivent les valeurs d’angle horaire H et de déclinaison. On calcule point par point les valeurs de hauteur et d’azimut avec les relations (1) et (2) ; ces valeurs sont insérées dans des listes. Puis, on trace les courbes d’après les listes obtenues.

Extrait du code pour tracer les lignes horaires :

decl=np.arange(-23.4, 23.4, 0.01)#gamme de déclinaisons
for H in np.arange(-maxH, maxH+15, 15):#boucle pour les valeurs de H
    h=[]#liste vide, destinée à recevoir les hauteurs calculées
    A=[]#liste vide, destinée à recevoir les azimuts calculés
    for D in decl:#2e boucle (imbriquée) parcourant les déclinaisons
        hauteur=np.degrees(asin(sin(np.radians(D))*sin(phi)+cos(np.radians(D))*cos(phi)*cos(np.radians(H))))
        if hauteur>=0:# élimine les hauteurs négatives (soleil couché)
            h.append(hauteur)
            Az=np.degrees(atan(sin(np.radians(H))/(sin(phi)*cos(np.radians(H))-cos(phi)*tan(np.radians(D)))))
            if Az<0 and H>0:#tests de valeurs d'azimut
                Az=Az+180
            else:
               if Az>0 and H<0:
                   Az=Az-180
            A.append(Az)
    plt.plot(A, h)

Extrait du code pour tracer les courbes de déclinaison. Cette fois, c’est la boucle de déclinaisons qui englobe celle des valeurs d’angle horaire :

couleursdecl=['crimson', 'blueviolet', 'royalblue','blue', 'green', 'orange', 'darkolivegreen']#liste de couleurs de déclinaison
datesdecl=['21 déc.', '20 jan.-22 nov.', '19 fév.-23 oct.', '20 mar.-23 sept.', '20 avr.-23 aou.', '21 mai-23 juil.', '21 juin', '']#liste de dates pour la légende

#liste de déclinaisons pour 6 dates :
for i,  D in enumerate([-23.4, -20.15, -11.5, 0, 11.5, 20.15, 23.4]):
    h=[]
    A=[]
    for H in np.arange(-maxH-15, maxH+15, 0.1):
        hauteur=np.degrees(asin(sin(np.radians(D))*sin(phi)+cos(np.radians(D))*cos(phi)*cos(np.radians(H))))
        if hauteur>=0:#évite les calculs inutiles
            h.append(hauteur)
            Az=np.degrees(atan(sin(np.radians(H))/(sin(phi)*cos(np.radians(H))-cos(phi)*tan(np.radians(D)))))
            if Az<0 and H>0:#test de l'azimut
                Az=Az+180
            else:
                if Az>0 and H<0:
                    Az=Az-180
            A.append(Az)
    plt.plot(A, h, c=couleursdecl[i], label=datesdecl[i])

Fichier mis à jour avec deux nouveautés :

  • ajout des courbes de demi-heures
  • possibilité d’ajouter la courbe de déclinaison d’une ou plusieurs dates supplémentaires.

Une version avec les courbes de temps moyen :

6 Comments

  1. David ALBERTO said:

    Bonjour Christophe,
    l’Île du Levant est à la latitude 43.03N, et le Cap Corse quasiment la même (43.00). Par conséquent, depuis l’Île du Levant, le Cap Corse est vu plein Est. Le Soleil se lève plein Est les jours d’équinoxes, soit vers le 20 mars et vers le 22 septembre. Ce sont les dates autour desquelles il faut chercher les conditions que vous demandez.

    19 février 2024
  2. Anonyme said:

    Bonjour,

    Je voudrais savoir à quelles dates le soleil se lève au dessus du Cap Corse quand on est à l’Ile du Levant… Est-ce que vous pourriez-m’orienter ?

    Merci d’avance,

    Christophe Chenon

    19 février 2024
  3. Alexandre BAK said:

    Bonjour,
    afin d’optimiser l’orientation de panneaux photovoltaïques, est-il possible de tracer des courbes délimitant des secteurs du ciel situés à l’intérieur d’un cône de 30°, 45° et 60° autour d’un point de visée qui peut être variable et à définir? Je souhaiterais idéalement représenter ces courbes par dessus les courbes de trajectoire du Soleil pour une latitude de 51° et deux champs photovoltaïques orientés respectivement à un azimut 120° et 240° et visant un point 30° au dessus de l’horizon (donc panneau formant un angle de 60° par rapport à l’horizontale)

    23 septembre 2023
  4. Anonyme said:

    Bonjour, tout d’abord merci pour votre travail et les informations que vous publiez. J’envisageais d’utiliser ces courbes de trajectoire du Soleil pour déterminer l’orientation optimale d’une installation photovoltaïque (composée de deux champs pouvant être orientés de façon distincte). En première approche, j’avais tracé, par dessus vos courbes de trajectoire, 3 ovales concentriques délimitant des zones du ciel situées respectivement à l’intérieur d’un cône de 30°, 45° et 60° autour de la direction du ciel visée par l’orthogonale aux panneaux.

    23 septembre 2023
  5. David ALBERTO said:

    Bonjour, il devrait être possible de faire sur Excel les calculs nécessaires pour le tracé du diagramme Azimut-Hauteur. Le point de départ est la connaissance des formules de gnomonique.
    Voici le lien vers un MOOC sur les cadrans solaires, qui fournit les deux formules nécessaires (celle pour calculer l’azimut du Soleil, et celle pour calculer sa hauteur).
    http://www.cadrans-solaires.info/sequence5/co/2-3-formules-utiles.html

    25 septembre 2022
  6. piscinefonneuve said:

    Merci pour ces infos. Est il possible de faire le calcul sous Excel?

    25 septembre 2022

Laisser un commentaire