Informatique

Pleine Lune et séismes…

En quittant l’IUT hier, je suis tombé par hasard sur un « journaliste » qui nous parlait les conséquences de la pleine Lune. Le brillant Paul Ferris expliquait sur France Info que « ces quarante dernières années, 80% des tremblements de terre importants ont eu lieu, à deux jours près, autour d’une nuit de pleine lune« . Surpris par cette affirmation, j’ai pris quelques minutes pour vérifier ses dires…

Distribution des séismes et phase de la Lune

Pour vérifier cette affirmation, il faut trouver une liste assez conséquente de séismes et connaître les phases de la Lune pour une date donnée. Évidement, on ne va pas faire ça à la main avec le Quid et l’almanach Vermot…

Source de données

Le « journaliste » expliquait que les données sont disponibles sur Wikipédia. Sur la version française de Wikipédia, je n’ai trouvé que les 10 plus gros tremblements de terre, faire des statistiques sur 10 éléments, c’est pas sérieux… On va donc les prendre sur Wikipedia anglais où l’on trouve une liste des tremblements de terre du XX° siècle ayant une magnitude supérieure à 6. La page est téléchargée avec wget et ensuite, elle est fouillée avec BeautifulSoup pour ne garder que la date et l’intensité des tremblements de terre.

Calculer les phase de la Lune

Il existe de nombreux algorithmes pour calculer les phases de la Lune. Sous Python plusieurs librairies sont disponibles pour les éphémérides, j’ai retenu la librairie pyephem qui permet de nombreux calculs astronomiques.

La librairie permet de calculer le pourcentage de la surface illuminée de la Lune à partir d’une date quelconque. Cette valeur est bien plus précise que la notion de pleine Lune ou de nouvelle Lune.

Script Python

À partir des éléments précédents, j’ai fait un script « à l’arrache » qui pourrait certainement être amélioré.

import bs4 as BeautifulSoup
from datetime import datetime, timedelta
import ephem
import matplotlib.pyplot as plt

fic = open('List_of_20th-century_earthquakes')

html = fic.read()
soup = BeautifulSoup.BeautifulSoup(html, 'html.parser')

intensites = []
phases = []

moon = ephem.Moon()

for line in soup.body.find_all('tr'):
    try:
        td = line.findAll('td')
        date = datetime.strptime(td[0].findAll('span')[1].text, '%B %d, %Y')
        valeur = float(td[6].text)
        moon.compute(date)
        phases.append(moon.moon_phase)
        intensites.append(valeur)
    except Exception as e:
        print(e)
        pass
fic.close()

print(u"Nb. de séismes traités : ",len(phases))

plt.figure(figsize=(15, 13))
plt.scatter(phases, intensites,s=50)
plt.xlim((0,1))
plt.xlabel('Phase de la Lune(% de la surface illuminée)')
plt.ylabel(u'Intesité du seisme')
plt.savefig("repartition_seismes.png")
plt.show()

Quelques éléments sont ignorés (date non correcte ou intensité inconnue), le nombre total de séismes traités est de 304.

On obtient la jolie figure ci-dessous qui ressemble plus à une décharge de chevrotine qu’à l’une des lois statistiques usuelles…

repartition_seismes

Évolution de la surface illuminée de la Lune

Les plus têtus pourront remarquer une accumulation des points aux extrêmes. C’est simplement un effet dû à l’évolution de la surface illuminée qui n’est pas linéaire. Un petit script Python permet de tracer l’évolution de la surface illuminée en fonction du temps.

from datetime import datetime, timedelta
import ephem
import matplotlib.pyplot as plt

today = datetime.now()
dates = []
phases = []
for n in range(-50,50):
    # https://stackoverflow.com/questions/6871016/adding-5-days-to-a-date-in-python
    dates.append(today + timedelta(days=n))
    moon.compute(dates[-1])
    phases.append(moon.moon_phase)

plt.figure(figsize=(16, 9))
plt.plot(dates, phases,)
plt.xlim((today + timedelta(days=-50),today + timedelta(days=49)))
plt.ylim((0,1))
plt.xlabel('Date')
plt.ylabel('Phase de la Lune(% de la surface illuminée)')
plt.savefig("phases_Lune.png")
plt.show()

La figure obtenue à l’aspect ci-contre. Je n’ai pas fouillé dans les détails, mais je ne suis pas certain que ce soit une simple sinusoïde. Dans tous les cas, c’est non linéaire, ce qui explique « l’accumulation » des points aux extrêmes.

Il n’est donc pas possible d’affirmer que 80% des tremblements de terre ont lieu lors des phases de pleine Lune. Pour conclure sur une illustration simple à comprendre, je laisse le crayon à Randall Munroe.

La photo d’illustration est de Timo Newton-Syms from Helsinki, Finland and Chalfont St Giles, Bucks, UK — Super Moon

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *