PROGRAMME DE CALCUL DE MAREES POUR CALCULATRICE PROGRAMMABLE CASIO FX 8500


Le logiciel comporte une série de sous -programmes dans la zone des fichiers ,le programme d'initialisation pour un jour donné et un port donné en PROG 2 et le programme de calcul de hauteur d'eau avec rappel de l'annuaire en PROG 8.
 
 

Sous - programmes :

"SELPORT" ;sélection du port

"Select port:"

" "
" 1:DUNKERQUE"
" 2:CHERBOURG"
" 3: etc...

" "

?® S

Prog "SELP2"
 
 

"SELP2" ;pour rappel par PROG 8

S=1Þ Prog "DUNKERQUE"

S=2Þ Prog "CHERBOURG"

S=3Þ Prog etc.
 
 

"DUNKERQUE" ;par exemple
 
 

"DUNKERQUE" ; pour affichage du nom par PROG 2 et PROG 8

A¹ 0Þ Goto 0 ; date initialisée donc données aussi

3,24 ® Z ; Z0 : hauteur moyenne dans Z

0,07 ® B ; Sa.A ds B en mètres

233 ® C ; Sa.G ds C en degrés

0,032® I ; Q1.A ds I

111 ® K ; Q1.G ds K

0,086® F ; O1.A ds F

177 ® G ; O1.G ds G

0,033 ® D ; K1.A ds D

12® E ; K1.G ds E

0,372 ® U ; N2.A ds U

357® W ; N2.G ds W

2,116 ® Q ; M2.A ds Q

22® R ; M2.G ds R

0,627® Z[1] ; S2.A ds Z[1]

75 ® Z[2] ; S2.G ds Z[2]

0,057® Z[3] ; MN4.A ds Z[3]

310® Z[4] ; MN4.G ds Z[4]

0,156 ® Z[5] ; M4.A ds Z[5]

337 ® Z[6] ; M4.G ds Z[6]

0,087 ® Z[7] ; MS4.A ds Z[7]

35 ® Z[8] ; MS4.G ds Z[8]

Lbl 0
 
 

"S0" ;calcul de S,H,P et N à 0h

78,16 + 13,17639673 x T® S ; longitude moyenne de la lune

279,82 + 0,98564734 x T® H ; longitude moyenne du soleil

349,50 + 0,11140408 x T® P ; longitude du périgée de la lune

208,10 + 0,05295392 x T® N ; - longitude du noeud ascendant de la lune

"S24" ;calcul de S,H,P et N à 24h

T+1® T ; + 1 jour

Prog "S0"

T-1® T ; restitution de T.
 
 

"XY1" ; calcul des cumuls Xj(0) et Yj(0) pour chaque type d'onde.

L+M x cos (V-J) ® L ; M est l'amplitude et J la phase passées en paramètres. V est ; fonction de l'heure. L= Xj(0)

O+M x sin (V-J) ® O ; O = Yj(0)
 
 

"XY2" ; calcul des cumuls Xj(24) et Yj(24) pour chaque type d'onde.

X+M x cos (V-J) ® X ; M est l'amplitude et J la phase passées en paramètres. V est ; fonction de l'heure. X= Xj(24)

Y+M x sin (V-J) ® Y ; Y = Yj(24)
 
 

"CORRAG" ;corrige l'angle  pour qu'il soit compris entre -180° et +180°

Lbl 9

V>180Þ V-360® V ; V est passé en paramètre.

V<-180Þ V+360® V

V>180Þ Goto 9

V<-180Þ Goto 9
 
 

"APN" ; calcul de l'heure précise de la marée par la méthode des approximations de Newton.

Z[8]® T ; heure approchée :de Z[8] ds T

T / 24 ® T ; temps en jour

0® Z[7] ; Z[7] = cumul des d ti pour vérifier la convergence.

D+T*F® L ;  dans L

Q+T*U® M ;  dans M

Z[1]+T*Z[3]® O ;  dans O

E+T*G® V ;  dans V

R+T*W® X ;  dans X

Z[2]+T*Z[4]® Y ;  dans Y

Lbl 3

-(L*SINV+2*M*SIN X+4*O*SIN Y) /

(2*P *(L*COS V +4 *M*COS X +

16 *O*COS Y))® H ;  dans H

Z[7]+H® Z[7] ; cumul

Abs Z[7]>0,25Þ Goto 5 ; cumul > 6 h Þ calcul impossible ici.

Abs H<0,00069Þ Goto 4 ; < 1 mn l'heure T est trouvée !

360*H+V® V ; 

720*H+X® X ; id. pour j =2

1440*H+Y® Y ; id. pour j =4

T+H® T ; T = T +d t

Goto 3 ; cycle

Lbl 5

"DIVERGE" ; calcul impossible : cas de figure non traité par ce programme

Lbl 4

T*24+Z[9]® T ; restitue l'heure locale (Z[9] = décalage horaire)

T-Z[9]+S® Z[8] ; prépare le calcul suivant avec S = durée approchée de la marée.

"HEURE:" T· ; affiche l'heure.

Prog "CHT" ; calcule la hauteur d'eau.
 
 

"CHT" ; calcul de la hauteur d'eau à l'heure locale T.

T-Z[9]® T ; soustraire le décalage hiver/été

T/24® T ; temps en jour décimal.

Z[0]+(B+T*I) * cos (C+T*K) +

(D+T*F) * cos (E+T*G) +

(Q+T*U) * cos (R+T*W) +

(Z[1] + T*Z[3]) * cos (Z[2] + T *Z[4])® Y ; Y = hauteur à l'instant T

T*24® T

T+Z[9]® T ; restitue l'heure locale

"hauteur:":Y·
 
 

"AFPM" ;affiche l'heure locale et la hauteur de pleine mer.

"HEURE PM:":T·

Prog "CHT"
 
 

"AFBM" ;affiche l'heure locale et la hauteur de basse mer.

"HEURE BM:":T·

Prog "CHT"
 
 
 
 

Programme d'initialisation : PROG 2

Ce programme calcule à partir de la date et des données sur les dix ondes figurant dans le fichier du port les seize constantes de la journée entrant dans l'équation de la hauteur d'eau. Les heures de pleine et basse mer sont déterminées ensuite.
 
 

0® A ; 0 dans la date

Prog "SELPORT" ; le numéro du port choisi est dans S

"JOUR"

?® J

"MOIS"

?® M

"ANNEE"

?® A

"DECALAGE HORAIRE"

?® Z[9] ; en France : 0 pour l'hiver, 1 pour l'été

Deg

Int (30,6001*(1+M+12*Int (1/(M+1)+0,7)))+

Int (365,25*(A-Int (1/(M+1)+0,7))) +J

-723258® T ; T = jours écoulés depuis le 1/1/1980

S*1e4+100*J+M+A*1e-4® A ; codage de la date et de la sélection du port pour PROG 8

; A = SJJMM.AAAA

0® X ; init des sommes vectorielles pour 0 et 24h ondes diurnes

0® Y

0® L

0® O

Prog "S0"

90-H® V

D/-3® M ; onde diurne P1

E® J

Prog "XY1" ; somme pour 0 h

Prog "S24"

450-H® V ; 15*24+90-H

Prog "XY2" ; somme pour 24 h

Prog "S0"

-2*S+H-N-90® V

F/5,3® M ; correction nodale de O1

G® J

Prog "XY1"

Prog "S24"

270-2*S+H-N® V ; valeur à 0h + 15 * 24

Prog "XY2"

Prog "S0"

H+N+90® V

D/7,4® M ; correction nodale de K1

E® J

Prog "XY1"

Prog "S24"

450+H+N® V

Prog "XY2"

Prog "S0"

H+90® V

D® M ; onde diurne K1

Prog "XY1"

Prog "S24"

450+H® V

Prog "XY2"

Prog "S0"

-2*S+H-90® V

F® M ; onde diurne O1

G® J

Prog "XY1"

Prog "S24"

270-2*S+H® V

Prog "XY2"

Prog "S0"

-3*S+H+P-90® V

I® M ; onde diurne Q1

K® J

Prog "XY1"

Prog "S24"

270-3*S+H+P® V

Prog "XY2"

Ö (L²+O²)® D ; D = 

tan-¹ (O/L)® E ; E = 

L<0Þ E+180® E
Ö (X²+Y²)® F ; F = 

tan-¹ (Y/X)® G ; G = 

X<0Þ G+180® G

G-E® G

G<-180Þ G+360® G

G>180Þ G-360® G ; G = 

0® X ; init de la somme pour l'onde annuelle

0® Y

0® L

0® O

Prog "S0"

H® V

B® M ; onde Sa

C® J

Prog "XY1"

Prog "S24"

H® V

Prog "XY2"

Ö (L²+O²)® B ; B = 

tan-¹ (O/L)® C

L<0Þ C+180® C ; C = 
Ö (X²+Y²)® I ; I = 

tan-¹ (Y/X)® K

X<0Þ K+180® K ; K = 

K-C® K

K<-180Þ K+360® K

K>180Þ K-360® K ; K = 

0® X ; init des vecteurs semi-diurnes

0® Y

0® L

0® O

Prog "S0"

2*H-2*S® V

Q® M ; onde semi-diurne M2

R® J

Prog "XY1"

Prog "S24"

720-2*S+2*H® V

Prog "XY2"

Prog "S0"

2*H-S-P® V

Q/-35® M ; onde L2

Prog "XY1"

Prog "S24"

720-S+2*H-P® V

Prog "XY2"

Prog "S0"

2*H-2*S-N® V

Q/-27® M ; correction nodale de M2

Prog "XY1"

Prog "S24"

720-2*S+2*H-N® V

Prog "XY2"

Prog "S0"

2*H-3*S+P® V

U® M ; onde N2

W® J

Prog "XY1"

Prog "S24"

720-3*S+2*H+P® V

Prog "XY2"

Prog "S0"

2*H-4*S+2*P® V

U/7,6® M ; onde 2 N2

Prog "XY1"

Prog "S24"

720-2*(2*S-H-P)® V

Prog "XY2"

Prog "S0"

4*H-4*S® V

U/6,3® M ; onde m 2

Prog "XY1"

Prog "S24"

720-4*S+4*H® V

Prog "XY2"
 
 

Prog "S0"

4*H-3*S-P® V

U/5,3® M ; onde v2

Prog "XY1"

Prog "S24"

720-3*S+4*H-P® V

Prog "XY2"

0® V

Z[1]® M ; onde S2

Z[2]® J

Prog "XY1"

720® V

Prog "XY2"

Prog "S0"

2*H® V

Z[1]/3,7® M ; onde K2

Prog "XY1"

Prog "S24"

720+2*H® V

Prog "XY2"

Prog "S0"

2*H+N® V

Z[1]/12® M ; correction nodale de K2

Prog "XY1"

Prog "S24"

720+2*H+N® V

Prog "XY2"

Prog "S0"

-H® V

Z[1]/17® M ; onde T2

Z[2]-283® J

Prog "XY1"

Prog "S24"

720-H® V

Prog "XY2"

Ö (L²+O²)® Q ; Q = 

tan-¹ (O/L)® R

L<0Þ R+180® R ; R = 
Ö (X²+Y²)® U ; U = 

tan-¹ (Y/X)® W ; W = 

X<0Þ W+180® W

W-R® W

W<-180Þ W+360® W

W>180Þ W-360® W ; W = 

0® X ; init des sommes quart-diurnes

0® Y

0® L

0® O

Prog "S0"

4*H-5*S+P® V

Z[3]® M ; onde MN4

Z[4]® J

Prog "XY1"

Prog "S24"

1440-5*S+4*H+P® V

Prog "XY2"

Prog "S0"

4*H-4*S ® V

Z[5]® M ; onde M4

Z[6]® J

Prog "XY1"

Prog "S24"

1440-4*S+4*H® V

Prog "XY2"

Prog "S0"

2*H-2*S ® V

Z[7]® M ; onde MS4

Z[8]® J

Prog "XY1"

Prog "S24"

1440-2*S+2*H® V

Prog "XY2"

Ö (L²+O²)® Z[1] ; Z[1] = 

tan-¹ (O/L)® Z[2]

L<0Þ Z[2]+180® Z[2] ; Z[2] = 
Ö (X²+Y²)® Z[3] ; Z[3] = 

tan-¹ (Y/X)® Z[4]

X<0Þ Z[4]+180® Z[4] ; Z[4] = 

Z[4]-R® Z[4]

Z[4]<-180Þ Z[4]+360® Z[4]

Z[4]>180Þ Z[4]-360® Z[4] ; Z[4] = 

I-B® I ; I = 

F-D® F ; F = 

G+360® G ; G = 360 + 

U-Q® U ; U = 

W+720® W ; W = 720 + 

Z[3]-Z[1]® Z[3] ; Z[3] = 

1440+Z[4]® Z[4] ; Z[4] = 1440 + 

D+F/2® Z[7] ; Z[7] =  : R1 à midi pour tester le type de marée. ; (t =12 Þ t/24 = 1/2)

Q+U/2® Z[8] ; Z[8] = : R2 à midi

2® J ; on pose la marée semi-diurne

Z[8]<0,25*Z[7]Þ 1® J ; ce n’est pas le cas : marée diurne

J=2Þ Goto 1 ; marée semi-diurne : j = 2

E® Z[7] ; Z[7] = .Calcul approché à partir des ondes diurnes

G® Z[8] ; Z[8] = 

Lbl 1 ; Calcul approché à partir des ondes semi-diurnes

R® Z[7] ; Z[7] = 

W® Z[8] ; Z[8] = 

Z[7]® V:Prog " CORRAG ":V® Z[7] ; recadre l'angle entre -180° et +180°

Z[8]® V:Prog " CORRAG ":V® Z[8] ; " " "

360*J+Z[8]® L ; L = variable intermédiaire

24*180/L® S ; valeur approchée de la durée moyenne de la marée

0® M ; M = 0 si marée descendante

Z[7]<0Þ 1® M ; si < 0 la marée est montante à 0 h

M=0Þ Goto 2

-24*Z[7]/L® Z[8] ; Z[8] est l'heure approchée de la marée haute

" PLEINE MER "

Prog " APN " ; calcul par approximations successives

T® P ; P = heure de la pleine mer.

Prog " APN "

T® N ; N = heure de la basse mer qui suit

Prog " APN "

T® Z[5] ; Z[5] = heure de la pleine mer qui suit

Prog " APN "

T® Z[6] ; Z[6] = heure de la basse mer qui suit.

Goto 0

Lbl 2

24*(180-Z[7])/L® Z[8] ; Z[8] est l'heure approchée de la marée basse

Prog " APN "

T® N ; N = heure de la basse mer .

Prog " APN "

T® P ; P = heure de la pleine mer qui suit

Prog " APN "

T® Z[6] ; Z[6] = heure de la basse mer qui suit

Prog " APN "

T® Z[5] ; Z[5] = heure de la pleine mer qui suit

Lbl 0

" HEURE ":?® T

Prog " CHT " ; affiche la hauteur pour l'heure T.

Goto 0
 

Programme courant : PROG 8

Le programme rappelle le nom du port et la date et offre le choix d'afficher ou pas l'annuaire avant d'afficher les hauteurs correspondant aux heures demandées.

Int (A * 1e-4)® S ; retrouve la sélection du port dans S

A - S * 1e4 ® A ; retrouve la date sous la forme : JJMM.AAAA

Prog "SELP2" ; affiche le nom du port (A<>0)

A· ; affiche la date

A + S * 1e4 ® A ; restitue la valeur de A pour une lecture ultérieure

"ANNUAIRE:"

"1=OUI"

"0=NON"

?® S ; entrer 1 pour afficher les heures et hauteurs de PM et BM

S=0Þ Goto 2 ; pas d'affichage de l'annuaire

N<PÞ Goto 1 ; le premier extremum est une basse mer

P® T: Prog "AFPM" ; affiche l'heure et la hauteur de la pleine mer

N® T : Prog "AFBM" ; affiche les caractéristiques des marées suivantes

Z[5]® T : Prog "AFPM"

Z[6]® T : Prog "AFBM"

Goto 2

Lbl 1

N® T : Prog "AFBM" ; affiche l'heure et la hauteur de la basse mer

P® T: Prog "AFPM" ; affiche les caractéristiques des marées suivantes

Z[6]® T : Prog "AFBM"

Z[5]® T : Prog "AFPM"

Lbl 2

" HEURE ":?® T

Prog " CHT " ; affiche la hauteur pour l'heure T.

Goto 2