Dear Jorge, John, et.al.,

I realize I should have sent it as e-mail text in the first place.
Here is the listing for all those who couldn't make use of my 
ancient Q-Basic, or just want to see the pardigm:

************************************************************************
REM Moon Calendar - S&T MAR 85
REM Julian Cal. Prior to 1582; Gregorian Cal. Thereafter
CLR: CLS
R1 = 3.14159265# / 180: U = 0
INPUT "For which year  "; Y: YL = Y
G = 1: IF Y < 1583 THEN G = 0
PRINT : 'PRINT "To convert UT to EST subtract 5 hrs.": PRINT

K0 = INT((Y - 1900) * 12.3685)
T = (Y - 1899.5) / 100
T2 = T * T: T3 = T * T * T
J0 = 2415020 + 29 * K0
30 F0 = .0001178# * T2 - .000000155# * T3
F0 = F0 + .75933 + .53058868# * K0
F0 = F0 - .000837 * T - .000335 * T2
J = J + INT(F): F = F - INT(F)
M0 = K0 * .08084821133#
M0 = 360 * (M0 - INT(M0)) + 359.2242
M0 = M0 - .0000333# * T2
M0 = M0 - .00000347# * T3
M1 = K0 * 7.171366127999999D-02
M1 = 360 * (M1 - INT(M1)) + 306.0253
50 M1 = M1 + .0107306# * T2
M1 = M1 + .00001236# * T3
B1 = K0 * .08519585128#
B1 = 360 * (B1 - INT(B1)) + 21.2964
B1 = B1 - .0016528# * T2
60 B1 = B1 - .00000239# * T3
FOR K9 = 0 TO 28
J = J0 + 14 * K9: F = F0 + .765294 * K9
K = K9 / 2
M5 = (M0 + K * 29.10535608#) * R1
M6 = (M1 + K + 385.81691806#) * R1
70 B6 = (B1 + K * 390.67050646#) * R1
F = F - .4068 * SIN(M6)
F = F + (.1734 - .000393 * T) * SIN(M5)
F = F + .0161 * SIN(2 * M6)
F = F + .0104 * SIN(2 * B6)
F = F - .0074 * SIN(M5 - M6)
F = F - .0051 * SIN(M5 + M6)
F = F + .0021 * SIN(2 * M5)
F = F + .001 * SIN(2 * B6 - M6)
80 A = S * (A1 + A2 / 60 + A3 / 3600)
F = F + .5 / 1440
J = J + INT(F): F = F - INT(F)
IF U = 0 THEN PRINT "       new moon ";
IF U = 1 THEN PRINT "      FULL MOON ";
GOSUB 920
90 U = U + 1: IF U = 2 THEN U = 0
NEXT
END


800 REM  CALENDAR to JULIAN DAY
INPUT "Y,M,D   "; Y, M, D
INPUT "Julian Cal (0) or Gregorian Cal (1) "; G
D1 = INT(D): F = D - D1 - .5
J = -INT(7 * (INT((M + 9) / 12) + Y) / 4)
IF G = 0 THEN 850
S = SGN(M - 9): A = ABS(M - 9)
J1 = INT(Y + S * INT(A / 7))
J1 = -INT((INT(J1 / 100) + 1) * 3 / 4)
850 J = J + INT(275 * M / 9) + D1 + G * J1
J = J + 1721027 + 2 * G + 367 * Y
IF F >= 0 THEN 870
F = F + 1: J = J - 1
870 PRINT "J.D.: "; J; F
RETURN
900 REM JULIAN DAY to CALENDAR

INPUT "J,F "; J, F
INPUT "Julian Cal.(0) or Gregorian Cal. (1) "; G
920 F = F + .5
IF F < 1 THEN 935
F = F - 1: J = J + 1
935 IF G = 1 THEN 945
A = J: GOTO 955
945 A1 = INT((J / 36524.25) - 51.12264)
A = J + 1 + A1 - INT(A1 / 4)
955 B = A + 1524
C = INT((B / 365.25) - .3343)
D = INT(365.25 * C)
E = INT((B - D) / 30.61)
D = B - D - INT(30.61 * E) + F
M = E - 1: Y = C - 4716
IF E > 13.5 THEN M = M - 12
IF M < 2.5 THEN Y = Y + 1
D1 = INT(D): H = 24 * (D - D1)
H1 = INT(H): M9 = INT(60 * (H - H1))
IF Y > YL THEN END
PRINT Y; M; D1;
PRINT TAB(35); H1; "H - "; M9; "M"
RETURN
END
****************************************************
Enjoy the night skys, or use it to figure
your tides,

Bill

Reply via email to