This is an informal page where users of the software can post their comments and document any changes they have made to the software. Send contributions to Michael Paine.


Dr John Lewis, Lunar and Planetary Laboratory, University of Arizona, has developed a computer program to run simulations of asteroid and comet impacts with the Earth or other selected planets. This works as a Monte Carlo simulation, where events occur randomly over time and various parameters such as the size, composition, speed and trajectory of the impactor and the human population density of the target area are also randomly generated. In this way the impact hazard can be assessed by looking at the odds over many runs or extended time periods (hence the Monte Carlo gambling reference).

The software is included with Dr Lewis' new book "Comet and Asteroid Impact Hazards on a Populated Earth" (Academic Press, 1999).


Running and editing the software in Quickbasic.
Results of a 1 million year run.
Adding the effects of very large impacts.

Running and editing the software in Quickbasic

by Michael Paine. Posted 23 Jan 2000

As supplied the Hazards software requires GW-BASIC to run (if all else fails a copy of BASIC.EXE (GW-BASIC) can be downloaded from http://www4.tpgi.com.au/users/aoaug/basic.exe). To run the program in a higher version of BASIC such as Quick Basic you will need to convert it from binary to ASCII format from within GW-BASIC. To do this load the program in GW-BASIC (F3"path/filename.BAS") then save it with the ASCII option set  (F4 "path/new_filename.BAS" , A ). This is all subject to the copyright conditions of course.

 Top of page

Results of a 1 million year run

by Michael Paine. Posted 22 Jan 2000.

I have written an article for Space.com Simulating Armageddon on your PC: asteroid impacts with Earth
that sets out the results of a 1 million year simulation. Extra information from my simulation is at:
http://www1.tpgi.com.au/users/tps-seti/sta1046.htm . It includes a table and graphs showing key statistics, such as average fatalities by impactor size and probability of a fatal impact.

 Top of page

Adding the effects of very large impacts

by Michael Paine. Posted 22 Jan 2000.

The Hazard 5 program, as distributed, did not calculate fatalities due to the climatic effects of very large impacts.
I therefore added a "dust" factor to the fatality count. In brief, I looked at the MDUST variable for a "typical" 1 million megaton impact and assumed this would result in 1.2 billion fatalities. I then assumed a 10000 megaton impact would cause 1 million fatalities (ie local/regional only). I used a linear approximation between (and beyond) these two points:

3162 dustfat = mdust * 1.94E-09 - 18474600  ' assume 1 million Mt causes 1.2 billion fatals
' and 10000Mt causes one million fatals
3165 IF dustfat < 0 THEN dustfat = 0
3166 IF dusfat > 5E+09 THEN dustfat = 5E+09 ' end of species!

I divided  DUSTFAT by 3 if it was an ocean impact: This is a stab in the dark!

3365 dustfat = dustfat/3.0

I realise this approach is grossly over-simplified but it seems to have produced reasonable output. Note that "Event 1331" in my 1 million year simulation was a 2.1km diameter long-period comet colliding at 46k/s (KE just under 3 million Mt). My formula gave 3 billion fatalities!

Other changes

I also reduced tsunami runup factor from 30 to 5 (see Asteroid Tsunami page). A random value based on a skewed distribution might be more appropriate.
275  runupfact = 5
3390 RUNUPHT = runupfact * WVAMPCM:  ...
I estimated NEO diameter from its mass and density (RHO):
1914 IF rho <= 0 THEN rho = 3.7
1916 IMPDIA! = ((M / (rho * .5236)) ^ .3333) / 100 'diameter in metres
Occasionally a loop at Line 2660 seemed to get stuck (stopped converging). I added a counter to force an exit. This might do odd things to the calculation for the event but since it is rare it should not greatly affect the overall results.
2655 loopcount = 0  ' set count to zero for this run
2660  R = (3 * MM / (4 * PI * rho)) ^ .333: AREA = PI * R * R: CRS =
2670  RHOATM = RHOZERO * EXP(-Z / H): DYNP = .5 * RHOATM * V * V: DT
2675 loopcount = loopcount + 1: IF loopcount > 10000 THEN GOTO 3070  ' break out of loop
 Top of page

This page prepared by Michael Paine,
The Planetary Society Australian Volunteers