Sto cercando di capire come creare una tabella di predizione della marea usando le costanti armoniche.Come prevedere le maree usando le costanti armoniche
ho usato le costanti armoniche da Bridgeport (http://tidesandcurrents.noaa.gov/data_menu.shtml?stn=8467150%20Bridgeport,%20CT&type=Harmonic%20Constituents)
e sommati i componenti di marea che utilizzano questo script python -
import math
import time
tidalepoch = 0
epoch = time.mktime(time.gmtime()) - tidalepoch
f = open('bridgeport.txt', 'r')
M_PI = 3.14159
lines = f.readlines()
t = epoch - 24 * 3600
i = -24
while t < epoch:
height = 0
for line in lines:
x = line.split()
A = float(x[2]) # amplitude
B = float(x[3]) # phase
B *= M_PI/180.0
C = float(x[4]) # speed
C *= M_PI/648000
# h = R cost (wt - phi)
height += A * math.cos(C * t - B)
print str(i) + " " + str(height + 3.61999)
i += 1
t += 3600
che stampa un'altezza all'ora per 'oggi'. Le altezze risultanti sono in circa la gamma che mi aspetterei, da -0,5 a 7,5 piedi, ma non sono corrette per la data.
Sono sulla buona strada? Come posso determinare l'epoca della marea? Nell'esempio di Doodsen su wikipedia (http://en.wikipedia.org/wiki/Arthur_Thomas_Doodson) hanno usato 0 per ottenere un risultato per il 1 ° settembre 1991. Ma hanno valori armonici diversi rispetto a quelli pubblicati correnti, e quella data non sembra funzionare per me.
Ecco il contenuto del mio file bridgeport.txt -
1 M2 3.251 109.6 28.9841042
2 S2 0.515 135.9 30.0000000
3 N2 0.656 87.6 28.4397295
4 K1 0.318 191.6 15.0410686
5 M4 0.039 127.4 57.9682084
6 O1 0.210 219.5 13.9430356
7 M6 0.044 353.9 86.9523127
8 MK3 0.023 198.8 44.0251729
9 S4 0.000 0.0 60.0000000
10 MN4 0.024 97.2 57.4238337
11 NU2 0.148 89.8 28.5125831
12 S6 0.000 0.0 90.0000000
13 MU2 0.000 0.0 27.9682084
14 2N2 0.077 65.6 27.8953548
15 OO1 0.017 228.7 16.1391017
16 LAM2 0.068 131.1 29.4556253
17 S1 0.031 175.5 15.0000000
18 M1 0.024 264.4 14.4966939
19 J1 0.021 237.0 15.5854433
20 MM 0.000 0.0 0.5443747
21 SSA 0.072 61.2 0.0821373
22 SA 0.207 132.0 0.0410686
23 MSF 0.000 0.0 1.0158958
24 MF 0.000 0.0 1.0980331
25 RHO 0.015 258.1 13.4715145
26 Q1 0.059 205.7 13.3986609
27 T2 0.054 106.4 29.9589333
28 R2 0.004 136.9 30.0410667
29 2Q1 0.014 238.8 12.8542862
30 P1 0.098 204.1 14.9589314
31 2SM2 0.000 0.0 31.0158958
32 M3 0.012 200.1 43.4761563
33 L2 0.162 134.1 29.5284789
34 2MK3 0.015 203.7 42.9271398
35 K2 0.150 134.7 30.0821373
36 M8 0.000 0.0 115.9364166
37 MS4 0.000 0.0 58.9841042
Quali valori di input si utilizzano per ottenere le maree per il giorno corrente? –
Vedi modifica. Non sono sicuro di cosa usare come punto di partenza definitivo, in quanto non riesco a trovare una fonte chiara diversa dall'OP citata. Tuttavia, una data verso la metà del NTDE sembra ragionevole. In ogni caso, puoi inserire la data di tua scelta. – engineerC
Sono il collaboratore dell'OP. Penso che il tuo codice sia essenzialmente uguale a quello che abbiamo scritto. Stiamo provando a scrivere un'app in grado di visualizzare i dati di marea per una data specifica, ma siamo anche in perdita per capire quale epoca di marea usare. Ho tentato di utilizzare la data del 1991, così come il 1 gennaio 1983 e il 31 dicembre 2001, perché quegli anni sono citati su http://tidesandcurrents.noaa.gov/data_menu.shtml?stn=8467150%20Bridgeport,%20CT&type= Datum. Nessuno di questi sembrava produrre risultati corretti. –