Programme TI89 « maison » pour faire le point avec le soleil

Par rapport aux étoiles, c’est quand même plus intéressant de faire le point avec le soleil; la journée en général l’horizon est bien dégagé et facilement perceptible, rendant l’usage du sextant plus commode et précis dans ses résultats, avec une amplitude de temps d’usage plus grande . Comme pour le programme fait avec les étoiles, on va d’abord chercher à « transformer » toutes les données de notre temps de mesure (heures, minutes, secondes, mois, années) en un seul nombre. Ce dernier permettra ensuite le reste des calculs qui ne sont rien d’autre que des fonctions dépendant du facteur temps. Pour ce début de programme on aurait donc pu utiliser le même que pour celui avec les étoiles, mais pour rigoler, cette fois on va tenir compte du calendrier Grégorien, allez hop à la benne le calendrier Julien!

sextant_gps

1) Première partie: calculer le facteur temps selon le calendrier Grégorien

Rappel: dans le calendrier Julien l’année moyenne dure 365.25 jours, donc une année bissextile a lieu tout les 4 ans (2008, 2012, 2016, 2020…). Sur le calendrier cela se traduit par un jour supplémentaire en février tout les 4 ans (29 jours au lieu de 28).

Pour résumer, afin d’avoir une année de calendrier avec une durée plus proche de la réalité, soit la durée d’une année tropique (à peu prêt 365,2422 jours), le procédé de calcul a été amélioré afin de réduire légèrement dans la durée la grandeur d’une année Julienne. En effet dans le calendrier Grégorien une année moyenne dure 365,2425 jours. Pour en arriver là, on garde les caractéristiques du calendrier Julien, mais à chaque année séculaire on ne la considère comme bissextile que si elle est divisible par 400. Pour notre programmation on va donc considérer une année comme bissextile si elle a eu lieu 4 ans après une autre année bissextile. Ensuite pour les années séculaires donc divisibles par 100 on fait le tri et on les acceptera comme bissextiles si elles sont également divisibles par 400. Par exemple d’après le calendrier Grégorien 2000 et 2400 sont bissextiles, mais 2500 et 2600 ne sont pas bissextiles.

Voilà ce que ça donne pour notre début de programme:

programme-ti89-soleil-2

programme-ti89-soleil-1

 

 

On s’aide de la boucle « while » et de la fonction int(). La boucle « while » demande au programme d’effectuer un calcul temps qu’une ou plusieurs conditions n’ont pas été atteintes, et la fonction « int() » ne garde que la partie entière d’un nombre, par exemple int(2.7)=2. Le nombre en fin de page 2457388.5 correspond au jour julien le 01/01/2016 à 00h00.

2) Deuxième partie: calculer à partir du facteur temps la déclinaison et l’angle horaire du soleil.

Comme on l’a vu dans « programmer une ti89 pour la navigation », il existe différentes façon de calculer ces deux paramètres, plus ou moins précises sur une durée plus ou moins longue, avec également plus ou moins de difficultés…Pour avoir des résultats très précis sur une durée très longue, cela demande énormément de paramètres à prendre en conséquence, en plus les astres se comportent de façon chaotique sur des périodes très longues…On va donc pas trop s’emmerder avec tout ça et plutôt fixer des limites selon nos besoins, c’est à dire un programme pertinent à l’échelle d’une vie et assez précis pour faire un point potable en navigation et pas trop alambiqué à programmer!

a) L’angle horaire:

Si on considère les choses de la façon la plus simple, on part du principe que la terre tourne sur elle-même en 24 heures, donnant l’illusion d’un mouvement du soleil autour de la terre se déplaçant à la vitesse de 360°/24H=15° par heure, avec le passage du soleil au méridien de greenwich à 12H UTC. En partant de ce postulat il suffirait d’écrire une formule comme AHG=15*(l*24) pour calculer l’angle horaire à greenwich(AHG), avec comme donnée origine en facteur temps un midi au méridien de greenwich. Pour déterminer notre angle horaire local (AHL), il suffirait simplement de soustraire à AHG notre longitude estimée(G).

Pourtant c’est insuffisant, avec ce fonctionnement simple on se retrouve avec des écarts de plus de 3 degrés par rapport aux véritables données! En fait le mouvement apparent du soleil par rapport à la terre n’a pas une vitesse constante à cause tout d’abord de la forme elliptique de l’orbite terrestre (voir la première et deuxième loi de Kepler), et aussi à cause de l’axe de rotation de la terre incliné sur son orbite. Heureusement, les écarts se répètent de façon quasi identique d’années en années, permettant assez facilement de calculer les bonnes données à chaque fois. Pour cela on va utiliser ce qu’on appelle l’équation du temps. Comme le dit si bien notre copain wikipépé cette équation correspond à un instant donné à la différence entre le temps solaire moyen et le temps solaire vrai. Le temps solaire moyen c’est le calcul écris dans le paragraphe au-dessus (le soleil se déplace à vitesse constante) et le temps solaire vrai va être calculé grâce aux équations écrites par wikipépé (influence de l’ellipticité de l’orbite terrestre et influence de l’obliquité de la terre). Conformément au début de notre programme ça donne maintenant ça:

programme-ti89-soleil-2

La fonction mod() sert ici à obtenir un résultat toujours compris entre 0 et 360 degrés(cette fonction fournit le reste d’une division euclidienne selon un dividende et un diviseur choisit), sinon on se retrouverait avec des angles énormes qui n’ont pas de sens. On pourrait également utiliser la boucle « for » pour ça mais la calculatrice mettrait plus de temps à calculer. Il y a 180 après mod() car le programme débute à minuit le 1/1/2016 (voir première partie du prog), donc à cette heure l’angle horaire moyen du soleil avec greenwich fait 180 degrés(si le prog avait débuté à midi, on aurait pas rajouté 180 mais rien du tout).

Pour les équations du temps, les coefficients employés sont facilement identifiables:

357.5291=anomalie moyenne le 01/01/2000 à 12h.

0.98560028=c’est la vitesse angulaire de rotation moyenne de la terre autour du soleil entre le passage de 2 périhélies, donc il s’agit de 360 divisé par l’année anomalistique.

2451545=c’est le jour julien du 01/01/2000 à 12h.

1.9148; 0.02; 0.0003=Il s’agit simplement d’un changement des coefficients de l’équation du centre en degrés(il suffit de multiplier les coeff d’origine par 180/π). L’obtention de l’équation du centre est expliquée par wiki.

280.4665=C’est la valeur de la longitude écliptique le 01/01/2000 à 12h.

0.98564736=C’est la vitesse angulaire moyenne de rotation de la terre autour du soleil sur une année tropique, donc on trouve cette valeur en calculant 360/365.2421898.

-2.46569; 0.053; 0.0014=comme pour l’équation du centre il s’agit d’un passage des coefficients de l’équation en degrés.

soleil

b) La déclinaison

Comme on l’a vu dans « programmer une ti89 pour la navigation », il existe plein de façons différentes d’obtenir la déclinaison du soleil; en utilisant des méthodes avec plus ou moins de paramètres, donc plus ou moins de précision et aussi plus ou moins de difficultés à programmer l’ensemble… pas simple. On va donc éliminer des données. On ne tiendra pas compte de l’influence des planètes et de la Lune du système solaire sur nos calculs, seulement des lois de kepler appliquées au système terre/soleil, se sera déjà pas trop mal.

La formule la plus simple pour avoir la déclinaison est celle qui utilise la structure d’une fonction périodique simple (sinus, cosinus) comme celle de Desmond Fletcher:

D=23.45*sin(2π/365(284+j)) avec j jours juliens. Ici 23.45 correspond à l’amplitude de la fonction sinus, donc à la valeur absolue maximale que peut atteindre la déclinaison (aux solstices). 2π/365 correspond à la période de la fonction sinus, ici elle va donc se répéter tout les 365 jours. 284 est un déphasage de la fonction. Cette formule ne tient pas compte de l’ellipticité de l’orbite terrestre et considère son mouvement équivalent à la trajectoire d’un cercle. C’est la méthode la plus simple mais aussi la moins précise.

Pour la déclinaison une autre façon de faire consisterai à écrire une fonction périodique mais par morceaux, chaque morceau correspondant à une saison, donc une fonction en 4 parties (voir « programmer une ti89 pour la navigation »). Cette méthode fonctionne bien, est facile à faire car il suffit de connaitre les dates des solstices et des équinoxes pour l’année à venir, cependant son point faible est qu’elle ne fonctionne que pour une année. En effet d’une année à l’autre les heures de passage aux équinoxes et aux solstices changent en suivant une valeur moyenne, mais en réalité il y a des écarts de quelques minutes, et à la fin le cumul de ses différences provoque…De plus grosses différences!

Sur internet il est facile de trouver des formules pour la déclinaison données par l’IMCCE, fonctionnant à plus ou moins long terme. On peut aussi en déduire une à partir de l’équation du temps car on sait que:

sin(déclinaison)=sin(obliquité de l’écliptique)*sin(longitude vraie du soleil).

En effet, pour le prouver c’est un peu la même démonstration que celle employée avec le triangle rectangle sphérique (permet de trouver les formules pour l’azimut et la hauteur calculée d’un astre), comme j’ai un peu la flemme de la faire pour les curieux c’est très bien expliqué sur la page web suivante : https://sites.google.com/site/astronomievouteceleste/4—mouvement-du-soleil

à partir de tout ça on peut en déduire la formule de la déclinaison à écrire à la suite du début de notre programme:

programme-ti89-soleil-2

Donc pour la déclinaison, 3 lignes de programme seulement suffisent quand on connait AHG. Avant de poursuivre notre prog on va vérifier l’efficacité de tout ça grâce au site de l’IMCCE, histoire de voir si c’est suffisamment précis notre histoire.

Test

En prenant 10 valeurs différentes on obtient ça:

le 15/12/2019 à 14h22 : -23°16’13.91 »/36°44’27.88 »→-23°16’/17h31

le 2/11/2043 à 2h : -14°40’9.90 »/214°6’50.43 »→-14°40’/14h29

le 28/2/2055 à 16h47: -7°47’20 »/68°38’28.54 »→-7°47’/22h46

le 12/5/2128 à 5h06: 18°28’20.7 »/257°22’25.4 »→18°13’/3h18

le 7/07/2184 à 21h12: 22°17’33.11 »/136°34’51.76 »→22°23’/7h12

le 18/10/2079 à 23h10: -9°56’58.8 »/171°15’1.75 »→-9°57/13h35

le 13/6/2046 à 12h11: 23°14’12.71 »/2°42’14.74 »→23°14’/5h28

le 6/09/2033 à 18h55: 6°6’8.13 »/104°12’36.45 »→6°6’/11h03

le 1/03/2085 à 4h22: -7°19’47.17 »/242°27’31.56 »→-7°20’/22h51

le 19/02/2074 à 3h18: -11°10’21.23 »/226°4’8.9 »→-11°10’/22h12

à gauche c’est les résultats du prog en déclinaison et en angle horaire à greenwich, et à droite c’est ceux de la page web « calcul des éphémérides » de l’IMCCE en déclinaison et en ascension droite. A première vue c’est pas mal, on commence à perdre en précision de quelques minutes d’angle après 2080 sur la déclinaison  donc d’ici là on a le temps… On sait que l’ascension droite est l’angle entre le méridien du point vernal et celui d’un astre, mesuré vers l’est et exprimé en heures, et que c’est le complément à 360° de l’ascension verse. Or on a déjà trouvé la formule pour calculer le méridien du point vernal dans le programme pour se positionner avec les étoiles qui est la suivante :

100+5.5/60+(l-2451545-5843.5)*(360/365.2421898+360)-0.0524*16/(24*3600*36525)-0.0524*(l-2451545-5843.5)/(24*3600*36525)=angle point vernal. Donc en le calant à la suite dans notre prog ça donne:

programme-ti89-soleil-3

En refaisant le comparatif avec les ascensions droites trouvées sur l’IMCCE c’est pas mal. On peut dire que jusqu’à environ 2080 c’est précis, après un peu moins. On peut considérer que la partie éphémérides est OK pour la navigation. On va pouvoir passer à la suite c’est cool. Pour cette partie on aurait pu peut-être faire plus précis en intégrant certains des paramètres fixes utilisés en variables comme l’excentricité, la durée de l’année tropique et anomalistique, et l’angle d’inclinaison de la terre sur l’écliptique. Cependant pour nos besoins se sera suffisant je pense.

téléchargement

3) Calcul de l’intercept et de l’azimut vrai

 Maintenant que l’on a la déclinaison et l’angle horaire du soleil calculé à l’instant de la mesure, il va nous rester à définir la hauteur calculée (formule trigonométrique comme pour les étoiles), la hauteur vraie (c’est la hauteur instrumentale à partir de laquelle on va ajouter des corrections), et donc l’intercept et l’azimut vrai du soleil.

Les corrections à ajouter à la hauteur mesurée:

- La réfraction de la lumière (dépend de la hauteur de l’astre sur l’horizon).

- La parallaxe (dépend du rayon de la Terre, la distance Terre/Soleil et la hauteur de l’astre sur l’horizon).

- Le demi-diamètre du Soleil (environ 16 minutes).

- La hauteur de l’oeil d’observation par rapport au niveau de la mer.

- La collimation.

Le programme provisoire donne ça:

programme soleil()-1 programme soleil()-2 programme soleil()-3 programme soleil()-4 programme soleil()-5

Ce programme permet aussi de calculer des méridiennes, il suffit de taper 1 ou 2 si vous êtes dos au sud ou au nord quand vous observez le Soleil.

Attention: test !

J’ai vérifié son fonctionnement avec les pages web navastro (« navastro.free.fr/meridienne.htm » pour faire une méridienne et « navastro.free.fr/exos/exercices.htm » pour les droites de hauteurs). Les résultats diffèrent un peu mais ça reste assez potable et crédible. Un peu déçu, je creuse et remarque une erreur dans le programme du dessus; à la ligne de calcul de l’angle horaire local (ahl) au lieu d’avoir:

: mod(qq-rrr, 360)→ahl en fait c’est :mod(qq+rrr,360)→ahl

Et pour l’intercept au lieu d’avoir:

: hv-hc→in en fait c’est (hv-hc)*60→in

Le programme final qui fonctionne donne donc ça:

programme soleil()-1 programme soleil()-2 programme soleil()-3 programme soleil()-4 programme soleil()-5

En faisant ces modifs, ô miracle cette fois on trouve quasiment les mêmes résultats que navastro! Pfiou bon laissons le capitaine Haddock conclure avec philosophie…

téléchargement (1)

Laisser un commentaire