What’s New#
v2026.5.0-alpha#
Fixed GH128 PR129 by ensuring that the Scaling model gets assigned to the Morphology model, and that density can be passed as an argument to the new_projectile method. David Minton
v2026.4.4-alpha#
Fixed GH124 PR125 David Minton
Fixed a problem where the Simulation’s rng was not being passed to the Crater wrapper, so that the simulation.Crater was not producing repeatable results. PR125 David Minton
Removed “addopts = tests” option from the pytest.ini addopts so that individual tests can be run rather than always all of them. PR125 David Minton
v2026.4.3-alpha#
Fixed GH106 PR123 David Minton
Fixed format_large_units to handle negative values.
Added a colorbar and a minimum_plot_width option to the plot method of Surface. PR123 David Minton
v2026.4.2-alpha#
Improved the documentation with more thorough discussion of how Quasi Monte Carlo works and how its behavior can be modified in the production user guide. PR122 David Minton
Fixed a bug that was causing a failure when numpy>2.3. This was caused by sloppy conversions between 0-d Numpy arrays and floats. Conversions are now done explicitly for the affected root finding functions.
Fixed GH121 PR122 David Minton
Fixed a bug causing the Neukum production functions to revert to the Moon if version was specified but not target, which caused the plots to show only the Moon versions instead of the Moon and Mars. David Minton
v2026.4.1-alpha#
Fixed minor issues with documentation to ensure all elements are included in the build. David Minton
Fixed problem where the Neukum production function was creating too many basins by adjusting the power law exponent of the upper extrapolation to be steeper by -5.0. PR120 David Minton
v2026.4.0-alpha#
Fixed bug that was causing incorrect polar data files from being requested from the PDS for DataSurface PR112 David Minton Leo Minton
Fixed bug that was causing fill_value and dtype arguments to be ignored in add_data. PR114 David Minton Leo Minton
Created a new system to retrieve, merge, and apply data to surfaces PR118 Leo Minton
Added Quasi-Monte Carlo PR119 David Minton Austin Blevins`_
v2026.3.7-alpha#
Include new argument pass-throughs for the show3d methods to better control PyVista output. PR104 David Minton
Updated the README with better instructions. PR105 David Minton
v2026.3.6-alpha#
More updates to the documentation, including the return of the long-running DataSurface examples thanks to an upgrade in our ReadtheDocs time limit, and a fancy new animated gif of the Moon being bombarded for the visualization user guide. PR101 David Minton
v2026.3.5-alpha#
Gave the documentation pages a thorough makeover. PR99 David Minton
Updated the icons for the documentation pages to be more visually appealing and to better represent the content of each page.
Improved the formatting of the documentation pages to make them more readable and easier to navigate.
Added new sections to the user guide, including a new section on visualizing and exporting data.
v2026.3.4-alpha#
Fixed bug that was causing restarted runs to fail with the message “AttributeError: Crater has no attribute ‘measured_depth_to_diameter’.” PR96 David Minton
v2026.3.3-alpha#
Fixed bug that was causing cookie cutting to extend beyond the crater rim. PR93 David Minton
v2026.3.2-alpha#
Major refactoring, fixes to plotting tools, and improved installation documentation. PR91 David Minton
Refactored the names of components to remove the word “simple” when not referring to simple crater morphology to avoid terminology confusion. This is a major API-breaking change, so be forewarned. SimpleMoon is now BasicMoonMorphology. SimpleCount`is now `DepthCount. Du2025 is now RealisticMoonMorphology.
Global surface labels now have no line break by default and are placed above the main plot.
Turned off scalebar by default in the default Simulation save_action.
Placed the plt.close() call after both show and save have been called so that the plot is active until the end.
Restructured installation guide page to put dependency install instructions at the beginning.
v2026.3.1-alpha#
Improvements to tally calibration, core structure, and documentation. PR89 David Minton
Overhauled the crater tally system with a new set of function that correlate the measured crater depth-to-diameter with degradation state.
For long-running examples that use DataSurface, it will now just display a pre-rendered image instead of running the script so that the documentation can be built within the Readthdocs time limit.
Improved the way that components are imported in the top level of the project.
Improved the consistency of docstrings for class properties.
Added the missing Target API page.
Improved the organization of the API pages.
v2026.3.0-alpha#
Major improvements to documentation and recalibration of the degradation function. PR87 David Minton
Recalibrated the visibility and degradation functions based on how Cratermaker computes depth-to-diameter ratios, which is slightly different than how CTEM did it.
Added a new example showing how to use the degradation state function to estimate the degradation state of a crater based on its depth-to-diameter ratio and how it compares with applied diffusion.
Fixed issue causing cross references to not render as links in the documentation.
Fixed bug in
format_large_units()that would cause it to give the wrong units for volume. Also added an area formatting option.
v2026.2.10-alpha#
Added new function add_save_action() that will append a single item to a component’s save_actions list.
Fixed a number of issues with saving and plotting HiResLocal surfaces.
Added a new relative_location argument that can be used with the MorphologyCrater and its derivatives, and thus can be passed down via the emplace method. Updated the example that uses it to generate a spiral of craters.
Now both the Morphology and Counting models have a Crater attribute that can be used to instantiate specialty craters by their chosen Morphology type. When a Counting object is associated with a Morphology, its Crater attribute takes on the the class defined by its Morphology’s Crater attribute.
Added ask_overwrite flags to the export functions that can temporarily override the object’s set value during an export operation.
Changed measure_degradation_state to return the degradation state instead of a Crater. Dropped the number of faces down to for counting from 100 to 30 to capture 3 pix diameter craters. PR86 David Minton
v2026.2.9-alpha#
Improved a number of issues with tallying and configuration file saving. PR83 David Minton
Improved counting stability by increasing the number of faces required for a crater to be countable to 100.
the .tally() method in Counting now takes a measure_rim argument, which calls fit_rim(). Because of how expensive and unreliable rim fitting is currently, by default it is set to False.
Improved handling of config file saving and initializing simulations from config.
Fixed fixed problem that was causing neukum production functions to select the wrong version when the target body changed on a reload from config files.
v2026.2.8-alpha#
Added a new “save_actions” parameter that can be set by any component class and is used to invoke specific method calls on the component when its .save() method is called. This is useful to trigger specific postprocesing actions, like plotting or exporting, at the end of each interval of a Simulation run. PR82 David Minton
v2026.2.7-alpha#
Fixed bugs introduced due to hastily trying to get the last two releases out. David Minton
v2026.2.6-alpha#
Fixed minor issues with plotting and documentation. David Minton
v2026.2.5-alpha#
Fixed some issues with the tally system and added a new function for Surface that can compute the lon,lat location of a point given its distance and bearing from a known location, or the center of a local surface if called from one. This is useful to place a crater on a HiResLocalSurface at a specific location relative to the center without trying to figure out what lat,lon coordinates to use. David Minton
v2026.2.4-alpha#
Fixed a bug causing local grid files to be deleted on a Simulation reset. David Minton
v2026.2.3-alpha#
Increased performance by reducing the number of computations when forming craters and to hold off on sorting the tag layers on save and tally. This also improved memory usage by explicitly removing complex data from the crater lists after tallying is finished. PR77 David Minton
v2026.2.2-alpha#
Minor changes to improve the reliability of the export tools when exporting multi-interval runs. David Minton
v2026.2.1-alpha#
Fixed a bug that was causing craters on slopes to be “stuck” in the tally. This involved a substantial overhaul of the way that craters are processed, including a complete redesign of the system for computing the mean plane that craters are emplaced on. PR73: David Minton
Added new plotting tools for Counting and incorporated it into the Simulation with a “include_counting” option in .plot(). PR74: David Minton
v2026.2.0-alpha#
Subtantial API changes to the Simulation.run() and .populate(), as well as the Production.populate() methods. Time before present is now called “time” rather than “age.” Instead of specifying “age” and “age_end” you now specify “time_start” and “time_end” in units of My before present. The “age” argument is kept for backwards compatability, though it now has a specific meaning of “time_start=age” and “time_end=0”. This keeps the terminology consistent with the idea that time is counting down to the present rather than counting up from the past. David Minton
Added new export methods, including a Spatial Crater Count exporter that will export crater counts in Craterstats format. The default export method for Simulation is now “OpenCraterTool,” which will produce an SCC output of crater counts along with a geotiff file that can be loaded up easily into QGIS with the OpenCraterTool plugin. David Minton
Added a new “cleanup” function to clean out old simulation data. This is used in the examples to ensure that they can run without prompts about overwriting existing data. David Minton
Made a number of improvements to the Crater object so that craters are more efficiently processed for emplacement. David Minton
v2025.12.2-alpha#
Improved the camera focusing in the show method of Surface and HighResLocalSurface to better center on the specified location. David Minton
Fixed the formatting of the documentation so that the grid icons are clickable and also can resize properly on small screens. David Minton
v2025.12.1-alpha#
Added new DataSurface type that can initialize surface topography from DEM files. PR68 David Minton
Added new Counting class for crater counting and rim fitting. PR68 David Minton
v2025.11.3-alpha#
Ensure that the Simulation is saved before the components are exported.
v2025.11.2-alpha#
Added export methods to Surface, LocalSurface, and Simulation. Surface data can now be exported to VTK, GeoPackage, ESRI Shapefile, and more. PR67 David Minton
v2025.11.1-alpha#
Minor fix that allows example scripts to show interactive output in the Sphinx Gallery.
v2025.11.0-alpha#
Major updates to documentation and GIS exporting tools. PR66 David Minton
v2025.10.1-alpha#
Minor updates to exporting tools.
v2025.10.0-alpha#
Added crater user guide by PR55 Dennise Valadez
v2025.4.1-alpha#
Bug Fixes#
Fixed broken dependencies in environment definitions.
Contributors#
v2025.4.0-alpha#
What’s Changed#
Wheels built for Linux and Mac are now deployed to PyPI.
Restructure code to remove the strict dependency on the conda only packages by David Minton PR16
Contributors#
v2024.11.0-alpha#
Updated the requirements to use newer versions of xarray and uxarray. It should be compatible with Numpy 2 now.
UxArray changed the face_area calculation to use the true dimensions rather than assuming a unit sphere. Changed it so that the area of faces is correct and added a new test.`
Contributors#
v2024.8.0-alpha#
Prerelease for development and testing.