Calcul de la position du soleil et de son heure de lever

Bonjour,
Suite au précédent topic, j’ai réussi à faire une feuille excel qui calcule la position du soleil dans le ciel d’un point arbitraire sur terre à n’importe quelle date.

J’arrive maintenant à avoir un résultat très probant, précis à quelques minutes près, mais je m’interroge toujours sur cet écart qui est parfois notable.

Il me faut donc me pencher sur des effets assez petits pour espérer expliquer ces petits écarts.
Ma méthode consiste à calculer la position du soleil à partir des angles de rotation de la terre, du soleil, et à tracer les résultats sur 24 heures à partir d’un pas de 24 secondes (3600*24s=un jour). Ce qui fait aussi un dixième de degré de rotation de la terre.

  • Déjà, première source d’imprécision : faut-il considérer que la terre tourne en 24 heures ou en 23h56min ?
  • Deuxième source d’imprécision : vu que ma journée commence à une heure aléatoire, mais que je fais augmenter l’heure de manière linéaire, il peut y avoir un changement de date, et donc le coucher ou lever du soleil que je vais calculer en même temps peuvent correspondre à des dates différentes. L’imprécision due à ce fait est très faible, entre 1 et 2 minutes de variation donc je l’accepte sans soucis, d’autant plus que je peux résoudre informatiquement ce problème au prix de secondes de calculs supplémentaires.

Je calcule donc :
L’heure du coucher et du lever du soleil légal. C’est l’heure à laquelle on peut apercevoir les premiers rayons du soleil si on se trouve dans une plaine plate.
D’après ce site : Royal Observatory of Belgium – Communication and Information
L’angle théorique c’est quand le bord du soleil se trouve encore 34 minutes sous l’horizon. Comme le soleil fait 16 minutes de rayon, ça correspond à un centre 50 minutes sous l’horizon. J’ai donc mis cette valeur brute dans mon code de calcul.

  • Deuxième question : l’angle de réfraction des rayons du soleil est-il constant ?
    Je ne parle pas en termes météorologiques (variations locales de température) mais géographiques. Vu que la géographie impose d’avoir une température moyenne tout de même très différente, il faudrait me demander quelles sont les données utilisées par les modèles que j’observe pour vérifier mes calculs et prendre les mêmes hypothèses.

  • Troisième question : j’ai l’impression de trouver un décalage parfois entre l’heure légale et l’heure solaire, différent de celui théorique que j’anticipe (longitude/15° = 1 heure de décalage). Est-ce que certains pays comme notamment la France définissent une heure légale à un méridien particulier qui ne serait pas un décalage de 15° du méridien de greenwhich ?

J’ai typiquement un écart entre 2 et 7 minutes que je n’arrive pas forcément à expliquer.

Merci

Autres questions, plus intéressantes encore :
Simplifier l’orbite terrestre par un cercle pose-t-il problème ? Cela change la distance, ce qui change la taille relative du soleil et donc l’heure de lever de micro pouillèmes que je pourrais estimer mais que j’imagine bien négligeables.
Cependant, cela peut-il changer un angle ?

Même question pour la forme de la terre. Je l’ai supposée sphérique, mais une terre ellipsoide de révolution est-ce que cela changerait l’heure de lever et du coucher du soleil ?

Je pense que ces deux là peuvent me déranger pas mal, intuitivement je dirais plutôt le premier mais sans aucune certitude, et plutôt car la forme de l’orbite est plus éloignée du cercle que la forme de la terre ne l’est de la sphère.

Je ne suis pas sûr d’avoir tout compris. Tu cherches à identifier les imprécisions pour justifier ton écart de quelques minutes ? Mais quel degré de précision souhaiterais-tu en général ?

Je me trompe sûrement, mais..

  • si tu t’intéresses au soleil, donc à la période de rotation synodique, a priori, donc c’est bien 86400 secondes. la période de rotation sidérale (le 23h56m4s) est prise par rapport à tout un tas d’autres étoiles environnantes, si mes souvenirs sont corrects

  • donc si j’ai bien compris, tu acceptes ensuite 1-2 minutes.
    -En réfraction géodétique, je ne suis pas convaincu que l’approximation constante soit mauvaise, pour la précision que tu veux.
    En gros, en utilisant les formules standard de l’IAU, c’est de l’ordre de 1% en plus pour une variation de 900Pa, ou 1% en plus pour une température qui descendrait de 3°C. (sur le coefficient de réfraction)
    Si ton modèle part de ce dernier, tu peux estimer rapidement en le faisant varier quelle est l’influence sur le temps, mais je pense pas que ce soit significatif.

  • Pour l’heure légale, la somme des différences entre le TAI du BIPM et l’UTC est de 35 secondes (depuis 1972) donc ça fait « pas beaucoup », dans les précisions qui t’intéressent.
    Les différences sur une année sont en ordre de grandeur +10s en 3 mois, -11 dans les 3 qui suivent, et ainsi de suite. Je ne pense pas que ce soit significatif dans la précision qui t’intéresse.

  • Vu que l’excentricité est genre 0.015, à mon avis, ça ne change rien dans les échelles qui t’intéressent. Puisque ça fait 1.034 de ratio entre les deux rayons.

  • Pour la forme de la terre, peut-être, vu que le flattening vaut quand même 1/300.
    Prendre en compte cet écart dans l’inertie te fait apparemment passer de
    23h 56m 4.098 903 691s à
    23h 56m 4.090 530 832 88 (IAU) dans la mesure de la période de rotation sidérale.
    Même si tu prends la rotation synodique (je n’ai pas trouvé de doc là-dessus), je doute que ça soit très significatif dans ton cas !

J’aimerais une précision d’environ 24 secondes, tout comme mon pas de temps.
En pratique, je ne pourrais pas avoir mieux qu’une minute puisque j’arrondis les temps à la minute.

Enfin, je me base sur des sites comme google « lever du soleil [date] [ville] » ou suncalc, ou d’autres sites spécifiques qui donnent l’heure où le centre du disque solaire est 6° sous l’horizon (nuit légale), et je ne connais pas leur précision intrinsèque mais ils semblent complètement d’accord entre eux à une minute près, donc soit ils ont tous utilisé la même librairie de calcul, soit ils sont juste bons.

Le modèle doit être valable de l’équateur jusqu’au pole nord. Les variations météo de la pression, on va les négliger, mais les variations liées à la température, c’est moins évident. Peut-être que les sites comme suncalc ou google ne les négligent pas, car il ya 30° d’écart facile donc 10%. Je ne sais pas traduire ça directement en minutes mais ça peut peut-être me faire une minute ou deux.

Concernant les différences entre le TAI et l’UTC (secondes intercalaires je crois?), 35 secondes ce n’est effectivement pas gênant. Surtout que ça reste un modèle simplifié, où je ne tiens même pas compte des années bissextiles. L’écart entre deux jours est de 2 à 3 minutes grand maximum sur la durée de la journée (de mémoire, chiffres présentateur météo de TF1) donc là encore ça reste dans mes tolérances de une minute ou deux sur le lever et le coucher.

Sur l’orbite de la terre, j’ai quand même une interrogation, la position de la terre dans l’espace peut être différente de quasiment un degré entre la trajectoire circulaire et elliptique.. Je n’arrive pas à visualiser si ça se traduira par un écart sur les heures (vu ma définition de midi, je ne crois pas) mais si oui, ça ferait trois minutes environ.

L’écart de période lié à la relativité générale, je ne pensais pas à ça, mais plutôt à la géométrie. Le point réel à la latitude 45° est où par rapport au point modélisé sphérique ? Et l’horizon réel est où par rapport à l’horizon modélisé sphérique ?
Il me semble que l’horizon réel est plus bas que l’horizon modélisé sphérique, mais je peux me tromper, d’une part, et d’autre part je ne suis pas très partant pour rentrer ça dans excel :laughing:


Après avoir fait ce travail en amateur, je serais assez intéressé de voir son raffinement par des professionnels.
Et quels autres effets auxquels je n’aurais même pas pensé ils auraient pu modéliser.

On ne fait pas ce genre de choses en Excel. Point. Jamais. Il n’y a aucune bonne raison de faire ça en Excel.
Pour le reste, il fauta savoir avec quoi tu compares. Qu’est ce qui est pris en compte dans les tables qui te servent de référence?
https://en.wikipedia.org/wiki/Sunrise_equation me parait bien.
https://www.edwilliams.org/sunrise_sunset_algorithm.htm aussi vu la source.

Le graphique ci dessous est intéressant.
Effectivement, un algorithme tel que celui-ci sur mon excel nécessiterait un temps de calcul improbable.
https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Hours_of_daylight_vs_latitude_vs_day_of_year_with_tropical_and_polar_circles.svg/2880px-Hours_of_daylight_vs_latitude_vs_day_of_year_with_tropical_and_polar_circles.svg.png

Et sinon :
\cos \omega _{\circ }=-\tan \phi \times \tan \delta
Tout ce bordel avec des formules analytiques extrêmement compliquées pour aboutir à ce truc en trois ou quatre expressions ? :laughing:
C’est une approximation au moins ou même pas ?

deleted_user2, post:5, topic:132011 a écrit:

On ne fait pas ce genre de choses en Excel. Point. Jamais. Il n’y a aucune bonne raison de faire ça en Excel.
Pour le reste, il fauta savoir avec quoi tu compares. Qu’est ce qui est pris en compte dans les tables qui te servent de référence?
Sunrise equation - Wikipedia me parait bien.
Sunrise/Sunset Algorithm aussi vu la source.

Quel logiciel conseilles-tu pour retrouver la même aisance ?
Excel me satisfait énormément car il me permet de faire tout et n’importe quoi (même un simulateur de vol) avec un confort d’utilisation sans précédent.
90% des usages sont satisfaits sans même avoir besoin de toucher au VBA.
99% des usages sont satisfaits avec un usage basique du VBA (comme ce que j’ai fait avec ma feuille)
Et le % restant, comme les graphes en 3D ou animés peuvent se faire avec un couplage de deux logiciels ou une utilisation plus avancée du vba.

Python / Matplotlib (littéralement infiniment moins chers que Excel) produisent sans doute le graphe « compliqué » en quelques dixièmes de seconde.
Le confort d’utilisation qu’on attend d’un logiciel de calcul n’est pas d’afficher les données dans des cases.

En plus ils peuvent traiter infiniment plus de choses, comme du son ! Je sais.. Je m’y mettrais si j’ai le courage.
En attendant je préfère m’intéresser à des considérations physiques.
Pourquoi pas rajouter d’autres corps célestes aux équations, notamment la lune.

Comment caractériser à tout instant la position du soleil par rapport à celle de la terre ?
(Comment la mécanique céleste permet-elle de trouver la position d’un astre en orbite elliptique ?) Certes c’est un rappel du cours de maths sup mais je ne crois pas avoir vu de formule simple sur ça.. ?

Les planètes sont-elles toutes exactement sur le même plan de rotation autour du soleil ? Qu’en est-il de la lune ? (questions facilement répondues sur wikipedia mais tout de même intéressantes pour la question suivante)
Comment trouver leur position à un instant t pour lancer les équations ?

Tu ne vas quand même pas:

  1. réinventer une mauvaise roue alors qu’il existe plein de librairies de très bonne qualité pour résoudre les équations de Newton.
  2. le faire en excel.
  3. pourquoi ne par rajouter de corps? parce qu’avant de le faire on fait une étude d’ordre de grandeur.
    Que la lune ralentisse la rotation de la terre c’est connu mais pas évident à modéliser. Par contre, mars on vénus…qu’est ce qu’on en a à foutre quand on veut savoir quand se lève le soleil?

Tout ce bordel avec des formules analytiques extrêmement compliquées pour aboutir à ce truc en trois ou quatre expressions ?

Faudrait savoir…tu veux comprendre un peu ce que tu fais ou juste ploter des expressions avec un soft fait pour la comptabilité (sans se moquer des comptables, chacun ses outils)??

Tu perds ton temps en partant dans tous les sens.

Hors de question de laisser le calcul à des spécialistes. Si je suis capable d’avoir une marge d’erreur inférieure à 2 minutes sur le lever/coucher du soleil je serais très satisfait. De toutes façons, cette marge d’erreur est inférieure à celle liée au fait qu’on ne vit pas dans une plaine plate. Des nuages mal placés, un batiment, une colline, une position surélevée ou en contrebas donneront une erreur supérieure à ces deux minutes.

Ce serait marrant de comparer les performances du code VBA et du code python ou matlab.

Je ne cherche pas à modéliser les perturbations d’orbite liées aux autres corps, mais simplement à reconstituer ce qu’on peut voir dans l’application « skymap » de google, par pure distraction.
Pour la lune, je pense qu’on peut ajouter très facilement un indicateur de sa phase.

J’ai trouvé ce site qui est exceptionnel puisqu’il prend en compte un modèle de relief pour calculer un lever/coucher de soleil fonction des montagnes environnantes !
http://www.solartopo.com/duree-du-jour.htm

Sinon, il fallait bien, dans mon modèle, prendre en compte une période de rotation astrale ou vernale.
En passant le code en VBA j’arrive à diviser par 4 le temps de calcul.
Cela dit, c’est surprenant car mon PC W7 qui a 6 ans de plus que mon PC fixe et qui est beaucoup moins puissant calcule le résultat deux fois plus vite sur excel.
Alors qu’il est 4 fois plus lent sur d’autres tâches qui prennent du processeur.. Surprenant.

Sinon, pour le calcul de la position sur une orbite en fonction du temps, ça a l’air plus compliqué que prévu !
https://fr.wikipedia.org/wiki/Mouvement_k%C3%A9pl%C3%A9rien#Mouvement_d’un_corps_sur_une_orbite_de_Kepler_-_%C3%89quation_de_Kepler

Voilà donc mes tentatives des précédentes soirées.
Utiliser les formules de kepler connues pour reconstituer une trajectoire elliptique correcte, dans un tableau excel.
Utiliser ensuite une méthode type fourier pour approcher cette trajectoire par une formule directe.
Je pensais avoir quelque chose de relativement précis, mais avec le résultat final je trouve des saisons d’une durée de 67, 65, 115 et 117 jours, c’est absurde. Comme si j’avais mis une très forte excentricité alors que l’excentricité que j’ai indiquée est bien la bonne.

Comment peut-on trouver facilement une approximation de la position de la terre par rapport au soleil dans le plan de l’écliptique ?
Je vais réessayer, je vais aussi affiner mon calcul, il faut aussi que je revérifie certaines hypothèses, mais ce serait bien d’avoir une confirmation.

Où trouver les données les plus précises sur l’orbite terrestre ?
J’aimerais les meilleures données sur les paramètres a, b, c, e..

Bureau des longitudes ?
Observatoire de Paris ?
L’IMCCE a des formules de calcul,
avec des Éphémérides.

Institut de mécanique des corps célestes


Après vérification * le bon point de contact sera :

Institut de mécanique céleste et de calcul des éphémérides

https://www.imcce.fr


\

J’ai des progrès à faire en méthode numérique, car mon code ne boucle pas correctement. En affinant le nombre d’étapes, j’ai une précision moindre.. Quelque chose cloche.

Edit : je suis vraiment surpris !
Déjà, j’ai réussi à mettre en place l’excentricité de l’orbite de la terre, c’est très facile, en utilisant la bonne méthode, à savoir E-esinE=M (j’ai du un petit peu chercher, mais ça va). Ce n’est pas de résolution directe, j’ai utilisé trois itérations pour avoir un peu de précision mais sans couper les cheveux en 4.
Ensuite je crée une fonction d’interpolation à base de fonctions trigo pour trouver la position de la terre dans l’espace à tout instant, je la rotationne pour faire correspondre le périhélie au bon endroit, etc.. ça m’a pris pas mal de temps pour tout ajuster mais c’est bon.

Je tombe sur des erreurs plus grandes qu’avant !
Pourquoi ?!
En fait c’est normal.
Cela vient du fait que mon code de calcul prend midi solaire quand le soleil est au zénith, naïvement.
Mais le midi légal ne correspond pas à ça !
L’excentricité de l’orbite amène à avoir un midi solaire espacé d’une durée différente de 24h ! Donc midi légal c’est la moyenne des midis solaires.
C’est vraiment dommage puisque maintenant pour calculer une heure légale à partir du zénith calculé, je dois rajouter une couche : l’équation du temps.

Après avoir pris en compte l’équation du temps, avec un facteur 115% encore inexpliqué, il y a certainement des erreurs à corriger encore.. elles proviennent peut-être de l’aplatissement de la terre, mais là ça devient très complexe..
Je calcule un azimuth et une élevation, il faudrait une correction en élévation variable pour chaque azimuth, puisqu’à azimuth est/ouest a priori l’aplatissement de la terre n’a aucun effet et il a un effet maximal dans le sens nord/sud.

Pour ma curiosité, comment exprimer la forme pseudo-elliptique d’une tranche verticale de terre ? (disque aplati)

Hors de question de laisser le calcul à des spécialistes.

Continue à faire n’importe quoi n’importe comment, je lâche l’affaire.

la triplette Word-Excel-Powerpoint est partout, tout le temps.

C’est dans la culture, et c’est super compliqué et de faire accepter des outils modernes et agiles, énorme inertie.

https://twitter.com/Thomas_Auriel/status/1338795340045164544

tfooo, post:17, topic:132011 a écrit:

Hors de question de laisser le calcul à des spécialistes.

Continue à faire n’importe quoi n’importe comment, je lâche l’affaire.

Si je m’étais contenté de prendre une librairie ou même un logiciel déjà fait, ça serait revenu à n’avoir rien fait et je n’aurais rien appris.
L’intérêt de ma démarche n’est évidemment pas de réinventer la roue, mais de divertir mon cerveau en résolvant des problèmes et en apprenant des choses.

Si quelqu’un m’avait abordé cash en voulant m’apprendre l’équation du temps je n’aurais rien compris et/ou ça ne m’aurait pas intéressé.

gocom, post:18, topic:132011 a écrit:

la triplette Word-Excel-Powerpoint est partout, tout le temps.

C’est dans la culture, et c’est super compliqué et de faire accepter des outils modernes et agiles, énorme inertie.

https://twitter.com/Thomas_Auriel/status/1338795340045164544

Ah, tu ne sévis pas qu’ici :laughing: