|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800) Types: TextFile Names: »tidetx«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦80900d603⟧ »giprocfile« └─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦80900d603⟧ »giprocfile« └─⟦this⟧
; tide * page 1 26 10 76, 13.25; ; t i d e ; ******* tide = set 1 tide = algol message.no external real procedure tide(time, latitude, longitude, height); ________________________________________________________________ value time, latitude, longitude, height; real time, latitude, longitude, height; begin comment The procedure compute the tidal acceleration due to the moon and the sum. Parameters. tide (return value). The tidal acceleration corresponding _ to a rigid earth. S.I. unit, i.e. _ g.u. = 1/10 mgal = '-6 m / s**2. time (call value). Time in days from epoch 1900, _ i.e. Greenwich mean noon on December _ 31, 1899. latitude ( - - ). Terrestrial latitude of point of computa- _ tion, radian. longitude( - - ). Terrestrial longitude of point of _ computation, positiv east, radian. height ( - - ). Height above sea level (or above ellip- _ soid) of point of computation, meter. * Reference: I.M.Longman: Tidal accelerations due to the moon and the sun. Journal of Geophysical Research, Volume 64, No 12, December 1959. Explanatory Supplement to The Astronomical Ephemeris and The American Ephemeris and Nautical Almanac. Her Majesty's Stationery Office, 1961 * Geodetic Institute, Program index no 76045. Willy Weng. ; \f comment tide * page 2 26 10 76, 13.25 0 1 2 3 4 5 6 7 8 9 ; boolean test; real omega, N, sin_I, cos_I, alfa, l, sigma, cos_lambda, sin_lambda, cos_phi, T, T2, T3, r, e, e1, p, h, c, c1, a_prim, a1_prim, res_d, res_D, i, I, m, M, S, my, ksi, ksi1, L, p1, ny, t, l1, cos_theta, g0, gm, gs, s; test:= false; e := 0.054 899 720; c := 3.844 02'10; c1 := 1.495'13; a_prim := 1/(c*(1-e*e)) <* 31 *>; i := 0.089 797 19 <* 22 *>; omega := 0.409 314 616 2; S := 1.993'33; M := 7.3537'25; my := 6.670'-8; m := 0.074 804; comment computation point; cos_lambda := cos(latitude); sin_lambda := sin(latitude); r := 6.378270'8/sqrt(1+0.006738*sin_lambda**2) _ + height * 100 <* 33, 34 *>; L := longitude; comment Julian centuries and series in T, Longman (10), (11), (12), (19), (26) and (27). Sun: Longman Exp. Sup (p.98) h (12) L p1 (26) GAMMA e1 (27) e ; T := time/36 525; T2 := T*T; T3 := T2*T; s := 4.720023438 + 8399.7093*T + 4.40695'-5*T2 + 3.29 '-8*T3; p := 5.835124721 + 71.018009*T - 1.80546'-4*T2 - 2.181'-7*T3; h := 4.881627934 + 628.33195*T + 5.2796 '-6*T2; N := 4.523588570 - 33.757153*T + 3.67488'-5*T2 + 3.87 '-8*T3; p1 := 4.908229467 + 3.0005264'-2*T + 7.9024'-6*T2 + 5.81'-8*T3; e1 := 0.01675104 - 4.18 '-5 *T - 1.26 '-7 * T2; comment resiproc distances; a1_prim:= 1/(c1*(1-e1*e1)) <* 32 *>; res_d := 1/c + a_prim*e*cos(s-p) _ + a_prim*e*e*cos(2*(s-p)) _ + 15/8*a_prim*m*e*cos(s-2*h+p) _ + a_prim*m*m*cos(2*(s-h)) <* 29 *>; res_D := 1/c1 + a1_prim*e1*cos(h-p1) <* 30 *>; comment longitude of moons ascending node; cos_I := cos(omega)*cos(i) _ - sin(omega)*sin(i)*cos(N) <* 20 *>; sin_I := sqrt(1-cos_I**2); I := arctan(sin_I/cos_I); ny := arcsin(sin(i)*sin(N)/sin_I) <* 21 *>; \f comment tide * page 3 26 10 76, 13.25 0 1 2 3 4 5 6 7 8 9 ; comment longitude and rigth ascension; t := 2 * pi * (time - entier time) + L <* 24 *>; ksi1 := t + h <* 28 *>; ksi := ksi1 - ny <* 23 *>; l1 := h + 2*e1*sin(h-p1) <* 25 *>; alfa := 2 * arctan((sin(omega)*sin(N)/sin_I) / _ (1 + cos(N)*cos(ny) _ + sin(N)*sin(ny)*cos(omega)))<*15, 16, 18 *>; sigma := s - N + alfa <* 13, 14 *>; l := sigma + 2*e*sin(s-p) _ + 5/4*e*e*sin(2*(s-p)) _ + 15/4*m*e*sin(s - 2*h + p) _ + 11/8*m*m*sin(2*(s -h)) <* 9 *>; comment zenith angles; cos_theta := sin_lambda*sin_I*sin(l) _ + cos_lambda*(cos(I/2)**2*cos(l-ksi) + _ sin(I/2)**2*cos(l+ksi)) <* 7 *>; cos_phi := sin_lambda*sin(omega)*sin(l1) _ + cos_lambda*(cos(omega/2)**2*cos(l1-ksi1) + _ sin(omega/2)**2*cos(l1+ksi1)) <* 8 *>; comment gravities; g_s := my*S*r*res_D**3*(3*cos_phi**2 - 1) <* 3 *>; g_m := my*M*r*res_d**3*(3*cos_theta**2 - 1) _ + 3/2*my*M*r**2*res_d**4* _ (5*cos_theta**3 - 3*cos_theta) <* 1 *>; g_0 := g_m + g_s <* 5 *>; comment transformation from the cgs unit gal to the S.I. unit g.u.; tide := g_0 * '4; \f comment tide * page 4 26 10 76, 13.25 0 1 2 3 4 5 6 7 8 9 ; if test then begin i:= (time - entier time) * 24; prvers:= 26 10 76 13 25; write(out, nl, 1, <:<10>Test af tide-procedure.:>, <: Version :>); write_cmt(out, prvers, long_zero); write(out, <:<10>tid ::>, << ddd ddd>, entier time, << zd>, entier i, (i-entier i)*60, << -d.ddd ddd'-d>, <:<10>måne ::>, l, I, gm, <:<10>sol ::>, l1, omega, gs); end test; end of procedure body; end ; external if warning.yes (o c mode 0.yes ; set error flag message tide not ok end) end finis ▶EOF◀