PyMOCAT-MC: A Python Implementation of the MIT Orbital Capacity Assessment Toolbox Monte Carlo Module
Abstract
This research presents a comprehensive conversion of the MIT Orbital Capacity Assessment Toolbox - Monte Carlo (MOCAT-MC) from MATLAB to Python, maintaining full functional compatibility while leveraging modern Python scientific computing ecosystems. The conversion encompasses over 150 core algorithms and supporting functions, including orbital propagation, collision probability calculations, fragmentation modeling, and atmospheric density modeling. The Python implementation preserves the original MATLAB architecture while introducing vectorized operations, improved memory management, and enhanced modularity through object-oriented design. Key conversion challenges addressed include: (1) Indexing system transformation from MATLAB's 1-based to Python's 0-based indexing across all matrix operations, (2) Complex orbital mechanics algorithms requiring precise numerical accuracy preservation, (3) Large-scale Monte Carlo simulations with memory-efficient vectorization, and (4) Integration with Python scientific computing libraries (NumPy, SciPy, Astropy) while maintaining computational performance. The converted codebase includes complete example scenarios with output validation within 0.9% of the original MATLAB implementation. Performance benchmarks demonstrate faster execution times while providing enhanced accessibility through open-source Python dependencies. The conversion enables broader adoption in the space situational awareness community, supporting orbital capacity assessment, agent-based modeling for satellites, and megaconstellation impact analysis through a more accessible and extensible platform.
Published
Issue
Section
License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.