El programa está guardado en el archivo CECLIPSE . Al ingresar el año, rastrea las posibilidades de eclipse lunar dando un anticipo de su importancia, si este se produce. El programa consta de dos partes: En la primera calcula el instante de la luna llena mediante el programa SICIGIAS que está incluido en este programa , en la segunda calcula las posibilidades del eclipse lunar . Para ello se calcula la posición lunar , basándose en el método aproximado de PETER DUFFET . La parte vital es el cálculo de la distancia entre la Luna y el nodo descendente o ascendente de la órbita , lo que facilita el tipo de eclipse lunar. Previamente calcula aproximadamente radios y paralajes solares y lunares y tamaños de sombra y penumbra.
Si hay eclipse, pide si se quiere calcular , en cuyo caso carga el programa ECLIPSE, si se contesta negativamente, la ejecución sigue con el mes siguiente.
Una página en el rastreo del año 1988 se ofrece aquí:
luna llena 27 - 8 - 1988 hora T.U.= 10 h 57 m Fecha juliana= 2447400.95679953 posicion de la luna longitud= 334.3835 latitud=-.9162734 ascension recta= 22.4396538004879 horas declinacion= -10.75655214337022 grados angulo luna-nodo ascendente=-10.271240234375 grados Distancia= 363631.4 km distancia= .945964017580508 Radio lunar= 16.43149 minutos Paralaje Lunar= 60.30356 minutos distancia sol= 1.01019 UA paralaje solar= 8.705295 segundos arco radio solar= 15.85811 minutos de arco dimensiones sombra y penumbra sombra= 45.48235 minutos arco penumbra= 77.8329 minutos arco la luna llena ocurre a -616.28 minutos del nodo ascendente el tipo del eclipse lunar es : ECLIPSE PARCIAL POR SOMBRA QUIERE CALCULAR ECLIPSE (S/N) ?
El programa se divide en:
5 REM CALCULO SICIGIAS Y CONDICION ECLIPSE LUNAR SAVE ....CECLIPSE 10 CLS:SCREEN 0 20 DEFDBL D,H,E,J,M,F,A 25 PRINT "CALCULO CONDICION ECLIPSE LUNAR" 30 INPUT "AÑO";Y 40 K1=3.14159265#/180:U=0 50 PI=3.14159265# 60 G=1:IF Y<1583 THEN G=0 70 PRINT 80 K0=INT((Y-1900)*12.3685) 90 T=(Y-1899.5)/100 100 T2=T*T:T3=T*T*T 110 J0=2415020#+29*K0 120 F0=.0001178*T2-1.55E-07*T3 130 F0=F0+.75933+.53058868#*K0 140 F0=F0-8.370001E-04 *T-.000335*T2 150 REM J=J+INT(F):F=F-INT(F) 160 M0=K0*.08084821133# 170 M0=360*(M0-INT(M0))+359.2242 180 M0=M0-.0000333*T2 190 M0=M0-3.47E-06*T3 200 M1=K0*.07171366128# 210 M1=360*(M1-INT(M1))+306.0253 220 M1=M1+.0107306*T2 230 M1=M1+1.236E-05*T3 240 B1=K0*.08519585128# 250 B1=360*(B1-INT(B1))+21.2964 260 B1=B1-.0016528*T2 270 B1=B1-2.39E-06*T3 280 FOR K9=0 TO 28 290 J=J0+14*K9:F=F0+.765294*K9 300 K=K9/2 310 M5=(M0+K*29.10535608#)*K1 320 M6=(M1+K*385.81691806#)*K1 330 B6=(B1+K*390.67050646#)*K1 340 F=F-.4068*SIN(M6) 350 F=F+(.1734-.000393*T)*SIN(M5) 360 F=F+.0161*SIN(2*M6) 370 F=F+.0104*SIN(2*B6) 380 F=F-.0074*SIN(M5-M6) 390 F=F-.0051*SIN(M5+M6) 400 F=F+.0021*SIN(2*M5) 410 F=F+.001*SIN(2*B6-M6) 420 F=F+.5/1440 430 J=J+INT(F):F=F-INT(F) 440 IF U=0 THEN 470 450 IF U=1 THEN PRINT "luna llena"; 460 GOSUB 520 465 GOSUB 740 470 U=U+1: IF U=2 THEN U=0 475 CLS :LOCATE 2,1 480 NEXT K9 490 END
500 REM jd calendar 510 REM 520 F=F+.5 530 IF F<1 THEN 550 540 F=F-1:J=J+1 550 IF G=1 THEN 570 560 A=J: GOTO 590 570 A1=INT((J/36524.25)-51.12264) 580 A=J+1+A1-INT(A1/4) 590 B=A+1524 600 C=INT((B/365.25)-.3343) 610 D=INT(365.25*C) 620 E=INT((B-D)/30.6001) 630 D=B-D-INT(30.6001*E)+F 640 M=E-1:Y=C-4716 650 IF E>13.5 THEN M=M-12 660 IF M<2.5 THEN Y=Y+1 670 D1=INT(D):H=24*(D-D1) 680 H1=INT(H):M9=INT(60*(H-H1)) 690 RETURN
Se descompone en dos partes. Hasta la sentencia 1100 calcula la posición lunar por el método aproximado de PETER DUFFET .
740 REM calculo de las posibilidades de eclipse. 770 DEF FN AC(X)=-ATN(X/SQR(1-X*X))+PI/2 780 DEF FN AS(X)=ATN(X/SQR(1-X*X)) 785 E=INT(D) 787 PRINT E;"-";M;"-";Y;" hora T.U.=";H1;"h";M9;"m" 790 E=E+H/24:GOSUB 1590 800 DEF FN Z(X)=X-360*INT(X/360) 810 D=J-2444238.5# 820 MS=-3.7629+.985647*D 830 MS=FN Z(MS)*PI/180 840 EC=2*.016718*SIN(MS):LS=MS+EC+282.596403#*PI/180 850 L=13.1763966#*D+64.975464# 860 L=FN Z(L) 870 MM=L-.1114041*D-349.383063# 880 N=151.950429#-.0529539*D 890 C=L*PI/180-LS 900 EV=1.2739*SIN(2*C-MM*PI/180) 910 AE=.1858*SIN(MS) 920 A3=.37*SIN(MS) 930 MM=MM+EV-AE-A3 940 E=6.2886*SIN(MM*PI/180) 950 A4=.214*SIN(2*MM*PI/180) 960 L1=L+EV+E-AE+A4 970 V=.6583*SIN(2*(L1*PI/180-LS)) 980 L2=L1+V:N1=N-.16*SIN(MS):L2=L2-INT(L2/360)*360:N1=N1-INT (N1/360)*360 990 I=5.145396*PI/180 1000 Y=SIN((L2-N1)*PI/180)*COS(I) 1010 X=COS((L2-N1)*PI/180) 1020 LM=ATN(Y/X) 1030 IF X<0 THEN LM=LM+PI 1040 LM=LM+N1*PI/180 1050 LM=LM*180/PI:LM=FN Z(LM) 1060 B=FN AS(SIN(( L2-N1)*PI/180)*SIN(I)) 1070 PRINT "posicion de la luna" 1080 PRINT "longitud=";LM 1090 PRINT "latitud=";B*180/PI 1100 LM=LM*PI/180 1110 GOSUB 1680
El tamaño del semidiámetro, el paralaje y de la sombra y penumbra influyen en la condición de eclipse lunar. Por esta razón se calculan estos valores entre 1200-1390.
1120 REM distancia nodal 1130 DN=L2-N1:IF ABS(DN)<16.282 THEN 1160 1140 DN=L2-(N1+180):IF ABS(DN)<16.282 THEN 1170 1150 PRINT "angulo luna-nodo asc=";DN+180:GOTO 1410 1160 N$="ascendente":GOTO 1180 1170 N$="descendente" 1180 PRINT "angulo luna-nodo ";N$;"=";DN;" grados" 1190 DN=DN*60 1200 REM calculo distancia semidiametro y paralaje 1210 A=384403!:EC=5.440049E-02:S1=15.5436:P1=57.045 1220 R1=A*(1-EC^2)/(1+EC*COS((MM+E)*PI/180)) 1230 PRINT "Distancia=";R1;" km ";" distancia=";R1/A 1240 S1=S1*A/R1 1250 PRINT "Radio lunar=";S1;"minutos" 1260 P1=P1*A/R1 1270 PRINT "Paralaje Lunar=";P1;"minutos" 1280 REM semidiametro y paralaje solar 1290 EC=.01673:S2=16.0197:P2=8.793999:W=4.93303 1300 R2=(1-EC^2)/(1+EC*COS(LS-W)) 1310 P2=P2/R2:S2=S2/R2 1320 PRINT "distancia sol=";R2;"UA" 1330 PRINT "paralaje solar=";P2;"segundos arco" 1340 PRINT "radio solar=";S2;"minutos de arco" 1350 PRINT "dimensiones sombra y penumbra" 1360 S=(P1+P2/60-S2)*51/50 1370 P=(P1+P2/60+S2)*51/50 1380 PRINT "sombra=";S;"minutos arco" 1390 PRINT "penumbra=";P;"minutos arco"
1400 IF ABS(DN)<10.319917#*(P+S1) THEN 1420 1410 T$=" NO HAY ECLIPSE LUNAR ":GOTO 1520 1420 IF ABS(DN)<10.319917#*(P-S1) THEN 1440 1430 T$=" ECLIPSE PENUMBRAL PARCIAL ": GOTO 1490 1440 IF ABS(DN)<10.319917#*(S +S1) THEN 1460 1450 T$=" ECLIPSE PENUMBRAL TOTAL ":GOTO 1490 1460 IF ABS(DN)<10.319917#*(S-S1) THEN 1480 1470 T$=" ECLIPSE PARCIAL POR SOMBRA ": GOTO 1490 1480 T$=" ECLIPSE TOTAL POR SOMBRA " 1490 PRINT "la luna llena ocurre a ";INT(DN*100)/100;" minutos del nodo ";N$ 1500 PRINT "el tipo del eclipse lunar es :" 1510 COLOR 15,0:PRINT T$:COLOR 0,2 1512 INPUT "QUIERE CALCULAR ECLIPSE (S/N) ";A$ 1515 IF A$="S"OR A$="s" THEN CHAIN "A:ECLIPSE" 1517 IF A$="N"OR A$="n" THEN 1526 1518 GOTO 1524 1520 COLOR 15,0:PRINT T$:COLOR 0,2 1524 PRINT "Pulsa una tecla para continuar.":BEEP 1525 IF INKEY$="" GOTO 1525 1526 REM CLS :LOCATE 2,1 1530 RETURN
Cálculo de la fecha juliana y la transformación de eclípticas en ecuatoriales, completa el programa.
1590 REM fecha juliana ---------------------------- 1600 IF M>2 THEN 1620 1610 M=M+12:Y=Y-1 1620 A=INT(Y/100) 1630 B=2-A+INT(A/4) 1640 C=INT (365.25*Y) 1650 D=INT(30.6001*(M+1)) 1660 J=B+C +D+E+1720994.5# 1665 PRINT "Fecha juliana=";J 1670 RETURN
1680 REM transformacion eclipticas-ecuatoriales 1690 Z=(J-2415020.5#)/365.2422 1700 OB=23.452294#-(.46845*Z+5.9E-07*Z^2)/3600:OB=OB*PI/180 1710 DC=FN AS(SIN(B)*COS(OB)+COS(B)*SIN(OB)*SIN(LM)) 1720 AR=FN AC(COS(B)*COS(LM)/COS(DC)) 1730 IF LM>PI THEN AR=2*PI-AR 1740 AR=AR*12/PI 1750 PRINT "ascension recta=";AR;"horas" 1760 PRINT "declinacion= ";DC*180/PI;"grados" 1770 RETURN
La salida del programa es la siguiente:
luna llena 6 - 9 - 1979 hora T.U.= 11 h 1 m Fecha juliana= 2444122.959475761 posicion de la luna= longitud= 343.2951 latitud=-.4572348 ascension recta= 22.98549472766329 horas declinacion= -6.988389817098923 grados angulo luna-nodo descendente= 5.105026245117188 grados Distancia= 363634.5 km distancia= .9459719844798298 Radio lunar= 16.43135 minutos Paralaje Lunar= 60.30305 minutos distancia sol= 1.007995 UA6 paralaje solar= 8.724245 segundos arco radio solar= 15.89263 minutos de arco dimensiones sombra y penumbra sombra= 45.44694 minutos arco penumbra= 77.86791 minutos arco la luna llena ocurre a 306.3 minutos del nodo descendente el tipo del eclipse lunar es : eclipse parcial por sombra