Target#
The Target class contains basic information about a celestial body on which craters are emplaced. It contains information about the body’s size, material properties, and surface gravity. To create a standalone target body, you use the Target.maker() method.
In [1]: from cratermaker import Target
In [2]: target = Target.maker("Mars")
In [3]: print(target)
<Target: Mars>
Material: Soft Rock
Diameter: 6779.8 km
Mass: 6.42e+23 kg
Surface density: 2250.0 kg/m³
Transition Type: silicate
Escape Velocity: 5.027 km/s
Gravity: 3.727 m/s²
Examples#
Below are examples of how to use the Target class to explore planetary properties.
Example 1: Defining the Moon as a target using the built-in catalogue
In [4]: from cratermaker import Target
In [5]: moon = Target.maker("Moon")
In [6]: print(moon)
<Target: Moon>
Material: Soft Rock
Diameter: 3475.1 km
Mass: 7.35e+22 kg
Surface density: 2250.0 kg/m³
Transition Type: silicate
Escape Velocity: 2.376 km/s
Gravity: 1.624 m/s²
Example 2: Viewing the Target catalogue
In [7]: from cratermaker import Target
# Access the target catalogue options
In [8]: catalogue = Target.maker().catalogue
# Print available targets
In [9]: print(f"Available targets:\n{catalogue}")
Available targets:
name |radius |mass |material |transition_scale_type
---------------------------------------------------------------------
Mercury |2439.4 km |3.30e+23 kg|Soft Rock |silicate
Venus |6051.8 km |4.87e+24 kg|Hard Rock |silicate
Earth |6371.0 km |5.97e+24 kg|Wet Soil |silicate
Moon |1737.5 km |7.35e+22 kg|Soft Rock |silicate
Mars |3389.9 km |6.42e+23 kg|Soft Rock |silicate
Phobos |11.17 km |1.08e+16 kg|Soft Rock |silicate
Deimos |6.300 km |1.80e+15 kg|Soft Rock |silicate
Ceres |469.7 km |9.38e+20 kg|Soft Rock |ice
Vesta |262.7 km |2.59e+20 kg|Soft Rock |silicate
Io |1821.5 km |8.93e+22 kg|Hard Rock |silicate
Europa |1560.8 km |4.80e+22 kg|Ice |ice
Ganymede |2631.2 km |1.48e+23 kg|Ice |ice
Callisto |2410.3 km |1.08e+23 kg|Ice |ice
Titan |2575.5 km |1.35e+23 kg|Ice |ice
Rhea |764.5 km |2.31e+21 kg|Ice |ice
Dione |562.5 km |1.10e+21 kg|Ice |ice
Tethys |536.3 km |6.17e+20 kg|Ice |ice
Enceladus |252.3 km |1.08e+20 kg|Ice |ice
Mimas |198.8 km |3.75e+19 kg|Ice |ice
Ariel |578.9 km |1.25e+21 kg|Ice |ice
Umbriel |584.7 km |1.28e+21 kg|Ice |ice
Titania |788.9 km |3.34e+21 kg|Ice |ice
Oberon |761.4 km |3.08e+21 kg|Ice |ice
Miranda |235.7 km |6.44e+19 kg|Ice |ice
Triton |1352.6 km |2.14e+22 kg|Ice |ice
Charon |606.0 km |1.59e+21 kg|Ice |ice
Pluto |1188.3 km |1.30e+22 kg|Ice |ice
Arrokoth |9.130 km |7.48e+14 kg|Ice |ice
Example 3: Defining a body not in the catalogue (Eris)
In [10]: from cratermaker import Target
# Define Eris
In [11]: eris = Target(
....: name="Eris",
....: diameter=2326e3, # in meters
....: mass=1.66e22, # in kg
....: material="Ice",
....: transition_scale_type="ice"
....: )
....:
In [12]: print(eris)
<Target: Eris>
Material: Ice
Diameter: 2326.0 km
Mass: 1.66e+22 kg
Surface density: 900.0 kg/m³
Transition Type: ice
Escape Velocity: 1.380 km/s
Gravity: 0.819 m/s²