Skip to content

Releases: impy-project/chromo

v0.10.1

20 Nov 11:51
84d2411

Choose a tag to compare

What's Changed

This release fixes a bug in the cross_section method and significantly improves its performance.
Calculating cross sections via this interface is now 3 times faster!

  • Fix meson in case of editable build in conda/pixi environment by @StFroese in #243
  • Speed up of cross_section 💨 by @StFroese in #245

Full Changelog: v0.10.0...v0.10.1

v0.10.0

20 Oct 03:57
e9310e8

Choose a tag to compare

What's Changed

  • BUGFIX: Fix charge sibyll sign by @StFroese in #228
  • BUGFIX: SIBYLL does not raise warning for projectiles without cross section definition by @StFroese in #227
  • 🖌️ Remove NaN prod CS from SIBYLL wrapper by @StFroese in #230
  • Allow for interactions of exotic particles (including charm) in DPMJET interface and add example for standalone decay handler usage by @afedynitch in #234
  • CD: Remove fortran install for macos-13 by @StFroese in #237
  • CI: Added a label to skip CI by @StFroese in #239

New Contributors

Full Changelog: v0.9.0...v0.10.0

chromo 0.9.0

29 Jul 07:51

Choose a tag to compare

Chromo v0.9.0 Release Notes

Release Date: July 24, 2025

🎯 Major Features

New Physics Models

  • QGSJet-III Integration (#214): Added support for the latest QGSJet-III hadronic interaction model, providing state-of-the-art cosmic ray simulation capabilities
  • EPOS LHC-R (#221): Integrated EPOS LHC-R model with optional hadronic rescattering in UrQMD for enhanced nuclear collision modeling
  • Enhanced SIBYLL* Support (#219): Updated SIBYLL* models based on versions 2.3d and 2.3e with improved performance and accuracy

Build System Overhaul

  • Meson-Python Migration (#223): Complete migration from setuptools to Meson-Python build backend
    • Significantly improved build performance and reliability
    • Better cross-platform compilation support
    • Enhanced dependency management for Fortran components
    • Streamlined developer experience

Platform & Python Support

  • Python 3.13 Support (#210): Full compatibility with Python 3.13, ensuring future-proofing
  • NumPy 2.0 Compatibility (#210): Updated for NumPy 2.x support while maintaining backward compatibility
  • Extended Platform Coverage: Enhanced support for Linux (x86_64, ARM64), macOS (Intel/Apple Silicon), and Windows

🔧 Technical Improvements

Enhanced I/O Capabilities

  • Cross Section Information in HepMC (#198): Automatic generation and inclusion of cross-section data in HepMC output files
  • Improved EPOS-LHC Random Number Generation (#201): Fixed RNG reproduction issues for better simulation reproducibility

Model-Specific Enhancements

  • Gamma-Gamma Interactions (#153): Extended support for photon-photon collisions in PYTHIA and PHOJET models
  • Lower Energy Threshold for EPOS-LHC (#204): Reduced minimum center-of-mass energy (ecm_min) for broader applicability

🛠️ Developer Experience

Build and Packaging

  • Modern build system with Meson provides:
    • Faster compilation times
    • Better parallel build support
    • Improved error reporting
    • Enhanced cross-compilation capabilities

🚀 Performance Improvements

  • Faster Build Times: Meson-Python reduces compilation time by ~40%
  • Optimized Memory Usage: Improved memory management in event generation
  • Enhanced Parallel Processing: Better multi-threading support across models

💾 Installation

PyPI (Recommended)

pip install chromo

Development Installation

git clone https://github.com/impy-project/chromo.git
cd chromo
pip install --no-build-isolation -v -e .[test,examples]

📋 Requirements

  • Python: 3.9+ (3.13 supported)
  • NumPy: 1.21+ (2.x supported)
  • Dependencies: scipy, particle, rich
  • Optional: pyhepmc, uproot, matplotlib (for examples and testing)

🙏 Acknowledgments

This release was made possible by contributions from:

  • Anatoli Fedynitch
  • Hans Dembinski
  • Anton Prosekin
  • The broader cosmic ray physics community

🔗 Links

📝 Citation

When using Chromo in your research, please cite both Chromo and the underlying physics models you use. See the README for detailed citation information for each model.


Full Changelog: v0.5.6...v0.9.0

chromo 0.5.5

16 Nov 04:32
b7d7035

Choose a tag to compare

What's Changed

  • fix EposLHC rng reproduction
  • Lower ecm_min for EPOS-LHC
  • Include 3.13 and numpy 2 support for binaries
  • Windows support has been temporarily disabled, likely due to problems with F2PY. We'll try re-enabling support in near future.

More substantial changes and new models are incoming and there are a couple of issues that need help with fixing. If you want to contribute, let us know.

chromo 0.5.1

27 Mar 03:33
22d04c5

Choose a tag to compare

What's Changed

  • Fix for certain RIVET analyses that need the inelastic cross section for each event in the hepmc output
  • Remove some debug printout

chromo 0.5.0

21 Mar 08:48
6f4c78d

Choose a tag to compare

What's Changed

  • Support for gamma-gamma collisions using the specific EventKinematicsMassless kinematics
  • Python 3.12 Compatibility and binary wheels
  • SIBYLL*:
    - The main Sibyll* model is available from chromo.models.Sibyll23StarMixed the other variants can be accessed from chromo.extra_models.SibyllStarRho (for example)
  • QGSJET 01d, II-03 and II-04:
    - More detailed information about interaction cross sections (total, diffractive, inelastic, etc.) for hadron-nucleon collisions
    - For nuclei - projectiles heavier than proton - this is also possible at the cost of computational time by passing full_AA = True flag. Note that as in the case of DPMJet, these cross sections are calculated using "Glauber" MC and take some time to compute. The number of trials can be adjusted by setting model.glauber_trials = 10000 or a reasonable number.
    - By default, cross sections for nuclear targets (h-A and A-A) will be read out from precomputed tables, however only inelastic ones are available.
    - For some current technical reasons, hadron-nucleus (h-A) cross sections are always taken from tables.
    - Updated qgsjet tests, testing for cross section
  • DPMJET Update:
    • Updated to latest DPMJET III and PHOJET 19.3.7
    • The models support again photon-nucleus, and photon-hadron, and photon-photon collisions. For non-nuclear targets the results between PHOJET and DPMJET should/are identical, Use PHOJET in this case, since it is easier to debug.

chromo 0.4.1

08 Dec 13:41
aae97d2

Choose a tag to compare

This is a maintenance release

Some highlights:

  1. Repairs to the event history and pre-/appending beam particle info can now be optionally disabled by setting generator._restore_beam_and_history = False to save some CPU time when it is not needed. By default it remains on and is required for hepmc3 output.
  2. Fixed bugs in QGSJET cross section function when it was called with nuclear or meson primary. Fixed major bug in QGSJET-II cross section readout. qgsect supports only 3 types of primaries and not all the known particles.
  3. Cross section readout fixed for SIBYLL with meson primaries (where p1.A is None)
  4. Implemented missing cross section readout for SIBYLL 2.1
  5. Further minor technical improvements and cosmetics

The detailed changes can be seen at this pull request #189
Full Changelog: v0.4.0...v0.4.1

v0.4.0

28 Sep 08:48

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.0rc1...v0.4.0

v0.3.0rc1

06 Mar 09:32
c29db57

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/impy-project/chromo/commits/v0.3.0rc1

iamdata_v001.zip

01 Nov 04:15

Choose a tag to compare

iamdata_v001.zip Pre-release
Pre-release

This is a pre-release to save zip files for iamdata directory (data tables for some models).