DOI: 10.5281/zenodo.18040631
title: Degradation mechanisms and efficiency of heavily cratered regions on Ceres: Supplementary Materials

description: Summary

This repository contains Python code and supporting data for analyzing crater size-frequency distributions (CSFDs) on Ceres. The package combines crater count data derived from mapped imagery with analytical production and equilibrium models to estimate surface ages and characterize equilibrium states.

 

The main analysis script is `csfd-ceres.py`, which processes multiple counting regions defined in an Excel parameter table.

Code

Code Overview

The main analysis script (`csfd-ceres.py`) performs the following steps for each counting region listed in `parameters.xlsx`:

1. Reads crater diameter data or an existing CSFD file for the region

2. Computes the observed CSFD normalized by map area

3. Calculates the cumulative crater density at 1 km diameter, N(>1km)

4. Computes Lunar-Derived (LDM) and Asteroid-Derived (ADM) production curves

5. Visually aligns the production curves with the observed CSFD over the production-dominated diameter range

6. Estimates best-fit surface ages from the LDM and ADM chronology functions

7. Computes an analytical equilibrium CSFD curve parameterized by β and ρ

8. Generates and saves a log-log CSFD plot and prints a summary of the parameters

 

The code is written in a modular format, with each function performing a single step in the CSFD analysis pipeline.

Parameter estimation

In addition to the main analysis pipeline, this repository includes a parameter estimation script (`parameters.py`) used to derive CSFD parameters prior to running the full CSFD analysis.

 

This script reads region data from `parameters.xlsx`, constructs cumulative CSFDs from crater CSV files, and applies piecewise log–log fits across a specified break diameter. The production normalization (ξ) and equilibrium slope parameter (β) are estimated for each region, while the production slope is fixed at η = 3.2.

 

The resulting parameters are provided as fixed inputs to the main CSFD analysis script. This calibration code is intended for parameter derivation and validation only and is not executed as part of the final production workflow.

 

Definitions and notation for the CSFD parameters (η, ξ, β, ρ) follow El Ghazal et al. (in review) and Hirabayashi et al. (2024).

Code Input

The primary inputs to the code are:

- `parameters.xlsx`

- Crater CSV files containing diameters for each region

 

Details on these inputs are described in the Data section below. 

Code output

For each counting region, the code produces:

- A log–log CSFD plot showing:

  - The observed cumulative CSFD derived from crater counting

  - The best-fit LDM production curve

  - The best-fit ADM production curve

  - The analytical equilibrium CSFD curve

 

All figures are saved as PNG files in the same directory as the corresponding input files. After all regions are processed, a summary of fitted parameters is printed to the terminal.

Example outputs can be found in the repository.

Data

The crater data used by this package consists of crater diameters measured from mapped imagery of Ceres using QGIS. Craters are manually identified and measured within defined counting regions.

Target locations

Crater counts were performed in five countng regions located in the Ac-2, Ac-6, Ac-8, and Ac-12 qudrangles on Ceres. These regions were selected to represent heavily crater terrains with minimal evidence of recent resurfacing. A map showing the locations of the counting regions can be found in this repository (El Ghazal et al., in review).

What this data compiles 

Each dataset compiles individual crater identifications into region-based crater populations suitable for crater size–frequency distribution (CSFD) analysis. These crater populations are used to derive cumulative CSFDs normalized by map area, which serve as inputs for production and equilibrium modeling.

Data format:

Crater CSV files

- One file per counting region

- One row per crater

- Required column: `Diam_km` (crater diameter in kilometers)

 

These files are produced from manual crater counting in QGIS and represent the raw crater measurements used by the analysis.

Parameter table (`parameters.xlsx`)

- One row per counting region

- Required columns:

- 'quadrangle'

- 'ref'

- 'file name'

- 'area (km2)'

- 'break diameter'

- 'eta' 

- 'beta'

- 'rho'

 

Additional columns may be present but are ignored by the code.

How the data is used

For each row in `parameters.xlsx`, the code locates the corresponding crater CSV file using the `file name` field. The script automatically converts each CSV file into a `.txt` file if one does not already exist. These files contain two columns: Crater diameter (km) and CSFD (km\^-2\) 

The resulting CSFDs are used to fit production curves, estimate surface ages, and compute the analytical equilibrium CSFD for each counting region.

How to Use

1. Place `csfd-ceres.py` and `parameters.xlsx` in the same directory

2. Place crater CSV files (`*.csv`) in the same directory or update the data path in the script

3. Run the script using Python

 

References:

Hirabayashi, M. et al. (2024), "Crater Equilibrium State Characterization given Crater Production from a Single Power Law," PSJ, 5, 250, doi:10.3847/PSJ/ad8883

El Ghazal, R. et al. (in review), "Degradation mechanisms and efficiency of heavily cratered regions on Ceres"

 

(in code)

Hiesinger, H. et al. (2016), "Cratering on Ceres: Implications for its crust and evolution," Science, 353(6303)  doi.org/10.1126/science.aaf4759

Neukum, G. et al. (2001), "Cratering Records in the Inner Solar System in Relation to the Lunar Reference System," doi.org/10.1007/978-94-017-1035-0_3