Détermination des constantes harmoniques

Les constantes harmoniques

On a vu au chapitre précédent, que pour pouvoir prévoir la marée dans un lieu donné, il fallait connaître les constantes harmoniques de ce lieu. Le SHOM (Service Hydrographique et Océanographique de la Marine) établit les constantes des ports français mais ne les diffuse pas. Le SHOM s'abrite derrière une décision internationale de l'Organisation Hydrographique Internationale qui protégerait la diffusion des constantes dans un souci de sécurité. Il apparaît que tous les pays n'ont pas la même lecture de cette décision puisque le service hydrographique des USA (le NOAA) diffuse largement et gratuitement les constantes des ports américains. Il serait souhaitable que tous les pays adoptent cette politique ce qui éviterait la diffusion anarchique qui règne actuellement sur la toile où l'on trouve des répertoires de constantes de qualité très inégale. A noter qu'il sera toujours possible pour un particulier de demander au SHOM les constantes d'un port déterminé, à condition que les données obtenues ne soient pas diffusées et qu'elles restent utilisées dans un cadre privé.

Détermination des constantes harmoniques

Si l'on ne dispose pas des constantes pour le port auquel on s'intéresse, on pourra soit essayer de les évaluer à partir des constantes d'un port proche, soit les calculer. Il faut pour cela disposer de nombreuses observations de la marée dans le port considéré. L'idéal est de disposer de la hauteur d'eau heure par heure pour tous les jours d'une année. On procède au calcul à l'envers: on part des résultats (heures et hauteurs de la marée pour tous les jours de l'année) et on remonte à la source (les constantes) par un calcul d'analyse harmonique. On dispose d’un ensemble d’équations (une pour chaque observation). On connaît la fréquences des ondes et on recherche les coefficients qui permettent de vérifier les équations. Il faut tout d’abord exprimer, sous une forme linéaire, la fonction donnant la hauteur d’eau à l’instant t.

h(t) = Z0 + Σ i fi Ai cos[ ωi t + (V0 + u )i - gi ]

On sait que cos(a-b )= cosa cosb + sina sinb . On en déduit

h(t) = Z0 + Σi fi cos[ ωi t + (V0+ u )i ] Ai cos gi + fi sin[ ωi t + (V0+ u )i ] Ai sin gi>

Posons: x0 = Z0
xi = Ai cos gi
yi = Ai sin gi


h(t) = x0 + Σi fi cos[ ωi t + ( V0 + u)i ] xi + fi sin[ ωi t + ( V0+ u )i ] yi C'est une équation de la forme h(t) = 1 x0 + a1 x1 + a2 x2 + a3 x3 +… … … + an xn + b1 y1 + b2 y2 + b3 y3 +… … … + bn yn

avec ai = fi cos[ ωi t + (V0+ u )i ] et bi = fi sin[ ωi t + (V0+ u )i ]
les termes connus sont h(t) 1 a1 a2 … … … a>n-1 an b1 b2 … … … bn-1 bn
les inconnues x0 x1 x2… … … xn-1 xn y1 y2 … … … yn-1 yn
Pour obtenir des résultats valables, il faut disposer d'au moins une année d'observation. Si l’on observe la marée d’heure en heure pendant un an on disposera de 365 x 24 = 8760 équations !
Le nombre d’inconnues pourra varier entre une vingtaine (si l’on se contente de calculer les principales composantes) à plus d’une centaine (si l’on cherche à déterminer le plus de composantes  possibles) L’ensemble de ces équations forme un système d’équations linéaires.
La solution à ce type de système peut être trouvée grâce au calcul matriciel. Il n’y a pas une solution unique mais un ensemble de solutions approchées. On cherchera la solution qui minimise l’écart type : moyenne des carrés de la différence entre la hauteur calculée et la hauteur observée. On forme tout d'abord la matrice Aayant
- un nombre de lignes égal au nombre d'observations.
- un nombre de colonnes égal à 1 + 2 fois le nombre de constantes recherchées.
On remplit la matrice avec les valeurs 1 a1 a2 ……… an-1 an b1 b2 ……… bn-1 bn On forme le vecteur H avec les hauteurs observées h(t)
On calcule la matrice AT transposée de A (le nombre de lignes et de colonnes de AT est égal au nombre de colonnes et de lignes de A)
On calcule la matrice X produit de ATpar A (la matrice X est une matrice carrée)
On calcule la matriceX-1inverse de X puis la matrice P produit de X-1 par AT
Le vecteur résultat R est égal au produit de P par H

La justification de la méthode utilisée pour résoudre ce système d’équations sort du cadre de cet exposé. Les personnes qui souhaitent approfondir le problème trouveront sur la toile de nombreux articles sur le « calcul matriciel » On trouve également de nombreux logiciels qui simplifient la programmation de ce type d’équations, qui peut se résumer ainsi à quelques instructions. On peut citer en particulier Newmat. de Robert Davies. Newmat est une librairie de modules pour le calcul matriciel. Cette librairie est facile à utiliser, bien documentée et son utilisation est gratuite. Voir en particulier le fichier exemple.cpp qui fait partie de la librairie et qui donne 5 méthodes pour résoudre les problèmes de régression linéaire.

Obtention des données

Les hauteurs d’eau peuvent être trouvées sur les serveurs et dans les annuaires, journeaux et publications diverses qui fournissent des prédictions de la marée.. Si l'on ne dispose pas des hauteurs heure par heure, on peut les évaluer  à partir des hauteurs données pour la pleine mer et la basse mer..

Illustration de la méthode

Les constantes harmoniques de Brest et d’Arcachon ont été calculées par la méthode décrite ci-dessus. Les constantes obtenues n’ont aucun caractère officiel mais elles sont sans doute assez proches des constantes réelles car leur utilisation par le programme w98tide conduit à des résultats très proches des chiffres publiés par le SHOM dans ses annuaires.