This repository contains source code and data to accompany a manuscript submitted to JGR-Planets:
Meteoroid Fragmentation in the Martian Atmosphere and the Formation of Crater Clusters by G. S. Collins, E. L. Newland, D. Schwarz, M. Coleman, S. McMullan, I. J. Daubar, Katarina Miljkovi'c, Tanja Neidhart, Eleanor Sansom
The contents of the repository is as follows:
PaperFigures.ipynbA Jupyter (Python 3.7) notebook documenting how all the figures in the paper were produced.mars_clusters.pyThe Python implementation of the Monte Carlo model used to generate all the synthetic crater clusters described and presented in the paper. Note that this script imports and calls the fragment-cloud package, which must be downloaded and installed separately (see below).gtoolsA Python module with supplementary functions used in bothmars_clusters.pyandPaperFigures.ipynb.obs-dataThe observational data of new impact craters and clusters on Mars from Neidhart et al. (submitted) and Daubar et al. (submitted) used in this work to compare with model results.model-dataSynthetic crater cluster output data used to generate the figures in the paper. The model input parameters of specific models are documented inrecord.csvthe summary statistics of each model is documented instatistics.csv. Output from individual Monte Carlo simulations are included asoutput-<model_number>.csv.frag_summary-198.csvis a file containing information about all surviving fragments for model 198.crater-dataModel output for model 198 including individual locations of all crater in every cluster.
To run the Monte Carlo simulation you will need to download and install the fragment-cloud package. Brief installation instructions for that package are provided here for ease.
You need to have the following packages installed:
python3v. 3.7 or later withnumpyand the python development headersC++17compiler, e.g.g++orclangcmakev. 3.12 or laterboostv. 1.70 or later, including thepython3,numpy, andunit_test_frameworkcomponents.
- Open command line and navigate to the
fragment-cloud/folder. - Inside the
fragment-cloud/folder, create a new folder calleddebug/orrelease/andcdinto it. - Run the following command:
cmake ..This will check all dependencies and create a file calledsetup.pyinside thefragment-cloud/folder. - Navigate to the
fragment-cloud/folder.
For the final step, please install the fcm software like a pip package: python3 setup.py install. Then the fcm package will be available in your default python path.
mars_clusters.py takes a number of command-line options to specify model input parameters and options.
Output files will be written to the current directory. A record of input parameters is appended to record.csv. The outcome of each impact scenario is stored in output-<id>.csv. A summary of the statistics of the Monte Carlo run is appended to statistics.csv.
To run a test saved with model ID "test" for just 10 scenarios:
>python3 mars_clusters --id test -i 10
For more informtion on input parameters and model options:
>python3 mars_clusters.py --help
Program for simulating distribution of small clusters/craters on Mars
optional arguments:
-h, --help show this help message and exit
--id MODEL_ID, -I MODEL_ID
--restart, -R
--verbose, -V
--craters, -C
--scaling CSCALING, -S CSCALING
--lift LIFT_COEF, -L LIFT_COEF
--fragments, -F
--velocity VELOCITY, -v VELOCITY
--angle ANGLE, -t ANGLE
--atmos ATMOS, -A ATMOS
--break BREAKM, -B BREAKM
--alpha ALPHA, -a ALPHA
--minmass MINMASS, -m MINMASS
--dlo DLO, -l DLO
--dup DUP, -u DUP
--med_strength MED_STRENGTH, -s MED_STRENGTH
--width WIDTH, -w WIDTH
--minrad CRAT_MIN, -c CRAT_MIN
--ablation CAB, -e CAB
--drag CD, -d CD
--ss_disp SS_DISP, -x SS_DISP
--fm_disp FM_DISP, -y FM_DISP
--fvcmin FVC_MIN, -f FVC_MIN
--fvcmax FVC_MAX, -g FVC_MAX
--semin SE_MIN, -j SE_MIN
--semax SE_MAX, -k SE_MAX
--impacts IMPACTS, -i IMPACTS
--numc NUMC, -n NUMC