top of page

Coding Experiment

  • Writer: Admin
    Admin
  • Jan 11, 2021
  • 4 min read

Updated: Feb 26, 2021


Lunar surface

One of the most enjoyable coding experiments I've conducted is called the cratering saturation equilibrium experiment. This is for higher education Python coding classes but works in Excel also. I'm posting this in my blog to provide you with an idea for a learning activity for students who are in hybrid or online courses. I got the concept from a very good professor at CU Boulder who worked with Carl Sagan named Dr. Larry Esposito.


The purpose of this experiment is to carry out a numerical simulation of the cratering process on a planetary surface. This simulation will verify the occurrence of saturation equilibrium- that the density of craters reaches a maximum and remains constant after that.


I consider an area 500 km square, and divide the area into cells 10 km square assuming the cratering rate is one impact in the study area every 1000 years for craters larger than 10 km diameter (this is a plausible rate for the early cratering of the lunar highlands). For simplicity, assume all craters are 50 km in diameter. Assume the area obliterated by an impact has a diameter 20% larger than the crater size (this is the ejecta blanket). YOU MAY ASSUME AN EXISTING CRATER IS OBLITERATED WHEN ITS CENTER IS OBLITERATED. Ignore all other effects, including erosion, secondary craters, ejecta from massive impacts outside the area of interest, etc. Saturation equilibrium may be defined as when the average number of craters in the test area changes by less than 5% when the time is doubled. HINT: SAVE THE LOCATIONS OF THE CRATER RIMS AND CENTERS.


ALLOW CRATERS TO FORM UNTIL THE AREA IS SATURATED. OUTPUT: PRINT THE TIME TO SATURATION AND NUMBER OF CRATERS AS A FUNCTION OF TIME. FOR EXTRA CREDIT, PLOT A PICTURE OF THE AREA AT REGULAR INTERVALS DURING THE CALCULATION.

YOUR PROGRAM WILL NEED TO DO THE FOLLOWING:

1. LOCATE IMPACT CENTERS

2. OBLITERATE PREVIOUS CRATERS AS NEEDED

3. CALCULATE CRATER DENSITY

4. DETERMINE IF EQUILIBRIUM IS ACHIEVED

5. OUTPUT TIME, TABLE AND PLOTS


NASA

This project is to model the lunar crater saturation equilibrium, which is defined as a condition when no further proportionate increase in crater density occurs as input cratering increases. Crater saturation equilibrium refers to the condition in which new impacts, on average, do no proportionately change the general crater number density (craters/km^2) on a surface because craters are packed tightly enough that old craters are destroyed by the creation of new ones. This computer model demonstrates this scenario by using a Monte Carlo simulation. We find that an identifiable saturation equilibrium occurs close to a level previously identifies for this state (Hartmann, 1984), typically fluctuating around a crater density from ~0.4 to 2 times that level. Flooding, basin ejecta blankets, and other obliterative effects can introduce structure and oscillations within this range; even after saturation equilibrium is achieved. This data can tell us more about satellite and planet surface evolution and impactor populations, which were predicated on the assumed absence of saturation equilibrium. The below simulation begins at time zero with zero impact craters, so we can observe the pure results of the Monte Carlo simulation. We should see a tapering off of the slope and it should begin to level off at an average of 70 craters per each ten square kilometers. Below you will find several figures including Python 2.7 plots, a referenced image, and Excel spreadsheet table. The last pages of this report are the code for my program.


Fig. 1) Crater density on this hypothetical surface reaches equilibrium at around 400,000 years after the clock starts

Fig. 2) The slope of the line decreases and levels off beginning around 300,000 years

Through this project, I have learned that crater saturation equilibrium does occur in our solar system. The impacts on average do not proportionately change the general crater number density (craters/km^2) on a surface because craters are packed tightly enough that old craters are destroyed by the creation of new ones. We need to know this information about a planetary body in order to find out more about the body’s history and how old it is today. The line of best fit in figure 2 should be fit to a different region of the graph, but I couldn’t get the code right. The line should be fixed on the region above 60 craters per 10km^2 and 300,000 years in order to clearly show that the slope was leveling off over time. Since my function for creating a best-fit line used the early data with the steeper slope, the average looks linear and positive but should in fact be logarithmic where the end slope is zero. The observation of a near-zero slope at the end of the plot demonstrates the effect of crater saturation equilibrium.


NASA

The following figure, fig. 3), is from a study by Hartmann, William K., and Robert W. Gaskell. Their simulation was somewhat more complex than my simulation, and used different starting conditions, but used roughly the same surface area (500 x 500 km). You can see that some new craters cover old craters, and some obliterate more than one small, older crater. The results of their study are similar to mine; I included this image from their report to have an interesting visual aid:


Fig. 3) Nine stages of primary crater accumulation for an imaginary surface, 522 x 522 km

I checked my work in Python by plugging in my numbers to Excel and the plot looked similar. This demonstrates that I printed out the time against the number of craters in a table and compared the Excel plot to those I made in Python 2.7. I have now confirmed my work!

Works Cited

Hartmann, William K., and Robert W. Gaskell. "Planetary Cratering 2: Studies of Saturation Equilibrium." Meteoritics & Planetary Science 32.1 (1997): 109-21. Web. 16 Nov. 2015.



Комментарии


bottom of page