Morphology Morphology

Morphology#

The Morphology component is used to alter the topography of a Surface object using a Crater object. The available morphology models (currently only “basicmoon”) determine how crater geometry and ejecta are emplaced. Like other components, a Morphology model is generated using the Morphology.maker() method:

In [1]: from cratermaker import Morphology

In [2]: morphology = Morphology.maker("basicmoon")
Creating a new grid
Generating a mesh with icosphere level 8.

In [3]: print(morphology)
<BasicMoonMorphology>
Counting : <depthcount>
Do slope collapse: True
Do subpixel degradation: True
Production: <neukum>
Ejecta Truncation: Off
Ejecta Rays: False

Crater Emplacement#

The main purpose of a Morphology model is to emplace craters on a surface. This can now be done using the queue-aware emplace() method, which automatically handles crater preparation, overlap resolution, and surface modification. If you do not provide a surface object, the method will create a default one for you (see Surface for more details).

In [4]: from cratermaker import Crater

In [5]: crater = Crater.maker(diameter=25e3)

In [6]: morphology.emplace(crater)
Out[6]: [<cratermaker.components.morphology.basicmoon.BasicMoonCrater at 0x70fa5b1774d0>]

Internally, a morphology model maintains a queue of craters that can be processed in parallel batches, provided they do not affect overlapping regions of the surface mesh. This allows for physically plausible yet efficient crater emplacement across geologic timescales.

Batch Emplacement#

You can enqueue multiple craters using emplace(). Craters are emplaced in chronological order in batches of non-overlapping ejecta.

In [7]: craters = [Crater.maker(diameter=d) for d in (5e3, 10e3, 15e3)]

In [8]: morphology.emplace(craters)
Out[8]: 
[<cratermaker.components.morphology.basicmoon.BasicMoonCrater at 0x70fa595683b0>,
 <cratermaker.components.morphology.basicmoon.BasicMoonCrater at 0x70fa5952d150>,
 <cratermaker.components.morphology.basicmoon.BasicMoonCrater at 0x70fa54dd9220>]

More Morphology Examples#

See more advanced usage examples in the gallery: Topography