10 REM FIREBALL 12 PRINT 14 INPUT "INITIAL MASS (KG) ";MM 16 INPUT "DENSITY (KG/M^3) ";D 18 INPUT "SPEED (KM/S) ";V 20 INPUT "ZENITH ANGLE (DEG) ";Z 22 INPUT "TIME STEP (SEC) ";DT 24 GOSUB 98: PRINT: GOSUB 114 26 A=1.2: L=.001: G=1: H0=.2 28 H1=500000: SG=H0/(2*G*H1) 30 H=155000: T=0: FM=10: FL=FM 32 M=MM: V=V*1000 34 RE=6371000: ZR=Z*3.14159/180 36 VV=-V*COS(ZR): VH=V*SIN(ZR) 38 REM DENSITY OF ATMOSPHERE 40 I=INT(H/10000) 42 IF I>15 THEN I=15 44 FR=(H/10000)-I 46 R=10^(LR(I)*(1-FR)+FR*LR(I+1)) 48 REM RATES OF CHANGE 50 A2=G*A*R*V*V/(M*D*D)^.33333 52 GV=9.810001/(1+H/RE)^2 54 AV=-GV-A2*VV/V+VH*VH/(RE+H) 56 AH=-A2*VH/V-VV*VH/(RE+H) 58 M0=SG*M*V*A2 60 IF FL=FM THEN GOSUB 76 62 REM INCREMENT VARIABLES 64 T=T+DT: S=S+VH*DT*RE/(RE+H) 66 H=H+VV*DT: M=M-M0*DT 68 VV=VV+AV*DT: VH=VH+AH*DT 70 V=SQR(VH*VH+VV*VV) 72 IF M<0 OR H<0 THEN END 74 FL=FL+1: GOTO 38 76 REM OUTPUT 78 PRINT INT(.5+T*10)/10; 80 PRINT TAB(10);INT(.5+S/1000); 82 PRINT TAB(20);INT(.5+H/1000); 84 PRINT TAB(30);INT(.5+V/100)/10; 86 PRINT TAB(40);INT(.5+A2); 88 PRINT TAB(50);INT(.5+100*M/MM); 90 LV=.5*V*V*M0*L*1E+10/(H*H) 92 MV=6.8-1.086*LOG(LV) 94 PRINT TAB(60);INT(.5+10*MV)/10 96 FL=0: RETURN 98 REM LOG(DENSITY) OF ATMOSPHERE 100 DIM LR(16) 102 FOR I=0 TO 16: READ LR(I): NEXT 104 DATA .09,-.38,-1.05,-1.74,-2.39 106 DATA -2.98,-3.50,-4.07,-4.72 108 DATA -5.45,-6.30,-7.00,-7.62 110 DATA -7.97,-8.32,-8.67,-8.81 112 RETURN 114 REM HEADING 116 PRINT" GROUND"; 118 PRINT TAB(39);"ATMOS" 120 PRINT"TIME TRACK HEIGHT"; 122 PRINT TAB(30);"SPEED DECEL"; 124 PRINT TAB(50);"MASS VISUAL" 126 PRINT" (S) (KM) (KM)"; 128 PRINT TAB(30);"(KM/S) (M/S/S)"; 130 PRINT TAB(50);" (%) MAG" 132 RETURN