Skip to main content

UCLCHEM anno 2025

Β· 7 min read
Gijs VermariΓ«n
UCLCHEM developer
tip

Want to receive updates on UCLCHEM and our modeling efforts? Sign up to our mailing list here and get some free UCLCHEM stickers!

It has been exactly 3 years since the last blog post on UCLCHEM; A lot has happened in UCLCHEM, in the meantime. In short: UCLCHEM has become 99% Python-first, with the legacy fortran interface now fully deprecated. We added support for the new UMIST22 and KIDA24 databases. Makerates was greatly improved to include more checks, and allow the user to more easily build their networks. Additionally, we greatly improved the ability to inspect reaction rates, allowing the user to understand which reactions are contributing the most. Lastly, we had to move to Meson as a build system, allowing us to continue supporting Python 3.12 and beyond.

I want to highlight a few interesting articles that have used UCLCHEM over the past years, showing that our astrochemical modeling (among other astrochemical codes) is essential to interpreting cutting edge ALMA, JWST and other observations.

In addition to these papers, there are currently a handful of papers in final stages of preparation and submission; They illustrate new modeling efforts by our group, connecting modeling and observations, as well as improving the chemical processes included, feedback from physical processes and new types of objects we model.

Entering the penultimate year of my PhD, there are still a lot of improvements that will be introduced, that will cumulate to a UCLCHEM 4.0 paper. This paper will outline the entire UCLCHEM simulation framework, providing insight to each of the mechanisms as they are currently implemented. Additions will include:

  • Many checks that help the user to make good modeling assumptions
  • Heating and cooling for consistently modeling gas at low and medium densities
  • Many technical improvements, some highlights are:
    • A consolidated programming interface
    • Python only (first) approach, allowing for seamless integration into pipelines, statistical samplers etc
    • Interaction with and visualisation of the underlying reaction networks
    • Easy inspection of underlying reaction rate (constants) to see which reactions matter most
    • Better insight into what the solver (DVODE) is doing
    • An improved storage format So stay tuned for this.

As of today we release v3.5.1, this will be the final planned release before v4.0.0.

To highlight everything that was introduced over the past 3 years, you can find a brief AI summary of the releases:

Releases:​

v3.5.1 (July 2025) - Photoreactions on ice, better kinetic modeling and grain-assisted recombination.​

link Improvements to both the ices and the grains:

  • πŸ“‘ Photons on Grains Enhanced modeling of photoreactions on the grains, very computationally expensive!
  • βš–οΈ Reduced Mass Implementation Improved kinetic modeling of the reduced mass calculations for reaction rate accuracy
  • πŸ”„ Grain-Assisted Recombination Introduced to more accurately model the ions + enforce conservation of charge

Primary Contributors:

  • @GijsVermarien (Photons on grains, grain-assisted recombination)
  • @TobiasDijkhuis (Photons on grains, reduced mass implementation)

v3.5.0 (July 2025) - Meson, Rate Analysis and KIDA 24​

link Major Quality of Life Improvements:

  • πŸ”§ New Meson Build System: Replaces previous build system to support Python 3.12 and beyond.
  • πŸ“Š Enhanced Rate Analysis: Major improvements to rate constants and reaction rates analysis with support for writing to disk and keeping data in memory.
  • πŸ“š KIDA 24 Database: Added as a new chemical reaction database option.
  • πŸ”¬ UMIST22 Improvements: Now supports extrapolation of rates beyond database range for more consistent rate calculations.
  • πŸ“– Tutorial Update: Notebook 4 completely rewritten to demonstrate new functionality.
  • ⚠️ Note: Some increased numerical stiffness - users should adjust abstol and reltol parameters.

Primary Contributors:

  • @GijsVermarien (Meson build system, overall release coordination)
  • @TobiasDijkhuis (Rate analysis improvements - first contribution)

v3.4.1 (June 2025) - Custom Desorption and Resorted Species​

link

  • πŸ§ͺ Custom Desorption Reactions: Users can now specify custom LHDES and ERDES reactions.
  • ⚑ Performance Boost: Species sorting reverted to phase-first, mass-second for better diagonal band structure and improved performance.
  • πŸ”§ Makerates Improvements: Automatic desorption generation skipped when custom reactions are specified.

Primary Contributors:

  • @GijsVermarien (Makerates improvements and performance optimizations)

v3.4.0 (October 2024) - Major Feature Release​

link

Major Features:

  • πŸ’Ύ In-Memory Mode: New capability to run UCLCHEM entirely in memory without CSV file dependencies.
  • πŸ”„ Postprocessing Mode: Similar to NEATH paper approach, enables more flexible modeling.
  • πŸ” Branching Ratio Validation: Automatic checking and normalization of branching ratios.
  • πŸ“Š UMIST22 Database: Upgraded to RATE22 as default database with species renaming.
  • πŸ“ Tutorial Reorganization: Moved to dedicated notebooks directory with revisions.
  • πŸ“ˆ Always-Present Columns: radfield and dustTemp now always included in output CSV files.
  • πŸ§ͺ Small Chemistry Network: Added for rapid testing and toy problems.

Technical Improvements:

  • 🌌 Magnetic Field Parameter: Added as configurable parameter for shock models.
  • πŸ“Š Improved Analysis: Gas phase analysis tools restored (grain analysis still has issues).
  • πŸ§ͺ UV Yield Update: Standard UV yield changed to 0.03.
  • πŸ”§ Better Test Coverage and Pre-commit Configuration.

Primary Contributors:

  • @GijsVermarien (Lead developer, postprocessing mode, branching ratio checks, UMIST22 migration)
  • @Marcus-Keil (Return array improvements)
  • @katarzynadutkowska (Magnetic parameter BM0 addition - first contribution)
  • @psharda (UI improvements - axes labels and grid - first contribution)

v3.3.3 (November 2023) - Python Requirement Update​

link

  • 🐍 Python β‰₯3.9: Updated minimum Python version requirement.
  • πŸ§ͺ Pytest Integration: Added as dependency for testing.

Primary Contributors:

  • @GijsVermarien (Python version update)

v3.3.2 (October 2023) - Fixes and Performance​

link

  • πŸ§ͺ Pytest Fixes: Resolved testing issues.
  • πŸ“ Path Fixes: Improved file path handling.
  • ⚑ Faster Installation: Optimized pip install process.

Primary Contributors:

  • @GijsVermarien (Bug fixes and installation improvements)

v3.3.1 (October 2023) - Makerates Fixes​

link

  • πŸ”§ Makerates Compare Scripts: Fixed comparison functionality.

Primary Contributors:

  • @GijsVermarien (Makerates comparison fixes)

v3.3.0 (September 2023) - New Installer​

link

  • πŸ”§ Modern Build System: Moved away from deprecated numpy distutils.
  • πŸ“¦ Editable Install Required: Now requires pip install -e . instead of pip install ..

Primary Contributors:

  • @GijsVermarien (New installer implementation)

v3.2.1 (April 2023) - Analysis Cleanup​

link

  • 🧹 Removed Legacy Code: Production and destruction printing removed from analysis (function being reimplemented).

Primary Contributors:

  • @GijsVermarien (Analysis code cleanup)

v3.2.0 (March 2023) - Makerates Refactoring​

link

Major Architectural Changes:

  • 🐍 Python Integration: Moved Makerates code into Python source for direct interaction.
  • πŸ—οΈ Object-Oriented Design: Network, Reaction, and Species classes with getter/setter methods.
  • πŸ“ Better Logging: Replaced print statements with logging module.
  • πŸ”§ Enhanced Configuration: Ability to specify custom configuration files via path.
  • πŸ§ͺ Chemical Consistency: Added reactions for HEH+ and H3+ freezeout to more sensible constituents.
  • πŸ“š Improved Documentation: Better __repr__ and __str__ methods for manipulation.

Primary Contributors:

  • @GijsVermarien (First contribution, complete Makerates refactoring - major architectural overhaul)

v3.1.0 (May 2022) - Excited Species and Bug Fixes​

link

  • ⚑ Excited Species: New treatment for grain surface species excited by cosmic rays.
  • πŸ› F2PY Fix: Resolved F2PY bug in analysis.py.
  • πŸ”§ Stability Improvements: Various bug fixes for more stable operation.

Primary Contributors:

  • @rossodonoghue92 (Excited species implementation)
  • @jonholdship (Shock model improvements and F2PY fixes)

v3.0.0 (May 2022) - Python-First Revolution​

link

Fundamental Architecture Change:

  • 🐍 Python-First Design: Complete transition to Python-first approach with pip installation.
  • πŸ“¦ Unified Physics Modules: All physics modules accessible from single install.
  • 🌌 Improved Cosmic Ray Treatment: Optional enhanced CRIR following Padovani et al. 2018.
  • πŸ’₯ Better H2 Dissociation: Improved CR dissociation of H2 following Padovani et al. 2018b.
  • ⚑ Performance Boost: Up to 50% faster execution times.
  • πŸ“š Comprehensive Documentation: Detailed tutorials, parameter lists, Python API documentation, and science background.
  • πŸ”§ Simplified Makerates: Much less user input required, automatic file management.

Primary Contributors:

  • @jonholdship (Lead architect of Python-first transition, core development)

UCLCHEM v3.0

Β· One min read
Jonathan Holdship
UCLCHEM developer

UCLCHEM has had a major update! The new version is v3.0 and has many changes. Here are some of the key updates:

  • UCLCHEM is now entirely python-centric and pip installable.
  • MakeRates is smarter than ever and does much more of the work of building a network for you.
  • Three phase chemistry is now the default and well bug tested.
  • You no longer have to recompile the code to change physics modules.

Check out our docs pages for all the updates and tutorials on how to use the new version.

The Cosmic-ray Ionization Rate in NGC 253

Β· 2 min read
Jonathan Holdship
UCLCHEM developer

NGC 253 is a nearby starburst galaxy which hosts several large clouds of gas in its central molecular zone. These clouds are similar to GMCs but orders of magnitude more massive and much hotter, where the star formation rate is very high. The temperature of this gas is important because the star formation efficiency will be determined by how much internal energy that gas has.

Many mechanisms could be heating this gas including mechanical heating due to turbulent shocks, UV photons, X-ray photons, and cosmic-rays. Whilst all are reasonable suspects in the CMZ of NGC 253, previous studies have shown 1 2 that the cosmic-ray ionization rate (CRIR) is likely to be very high.

In a recent piece of work we have used UCLCHEM to show that the ratio of SO and H_3O^+ is a powerful probe of the CRIR. We model ALMA observations of emission from these molecules using UCLCHEM and SpectralRadex to infer the CRIR. We find that regardless of the temperature of the gas, the CRIR is around 10^4 times larger than in the Milky Way.

HITs - History Independent Tracers

Β· 2 min read
Jonathan Holdship
UCLCHEM developer

Interpreting molecular observations through chemical and radiative transfer models is a common but complex practice. Whilst many uncertainties affect chemical models, one in particular is addressed in this work: the issue of time dependence. When modelling a molecular cloud or protostellar disk, how do we initialize the abundances? When is an appropriate time to compare our model to the observed object? Our paper on History Independent Tracers (HITs) side steps this issue by producing a list of molecules which are insensitive to the chemical history of the gas, essentially reaching steady state very quickly across a very wide range of gas conditions.

However, having a list of molecules that are easy to model is only first step towards making useful inferences. We then use our HITs to determine which observables are the most informative about various physical parameters. We do this by producing a large dataset of synthetic observations using UCLCHEM and RADEX to produce line intensities for every transition of every HIT under a wide range of physical conditions. We then calculate the mutual information between each molecular transition and each physical parameter and use these to rank the transitions. The information scores are all available on the HITs website which can be used to plan observations.

By choosing transitions of a HIT that have a high mutual information with your physical parameter of interest, you can obtain the best possible constraint on that parameter. Moreover, as a HIT, the chemical modelling of this species will not be subject to much uncertainty from the gas history.

First measurement of nitrogen fractionation in shocked clumps of the L1157 protostellar outflow. SOLIS XI

Β· 2 min read
Serena Viti
UCLCHEM PI

As part of the SOLIS observational programme, various isotopologues of HCN were observed towards L1157 in order to study the nitrogen fractionation in a protostellar outflow. The modelling work for this study was done using UCLCHEM. You can find the paper here and the abstract below.

The isotopic ratio of nitrogen presents a wide range of values in the Solar System and in star forming system whose origin is still unclear. Chemical reactions in the gas phase are one of the possible processes that could modify the 14 N/ 15 N ratio. We aim at investigating if and how the passage of a shock wave in the interstellar medium, can affect the relative fraction of nitrogen isotopes. The ideal place for such a study is the L1157 outflow, where several shocked clumps are present. We present the first measurement of the 14 N/ 15 N ratio in the two shocked clumps, B1 and B0, of the protostellar outflow L1157, derived from the interferomteric maps of the H 13 CN(1-0) and the HC 15 N(1-0) lines. In B1, we find that the H 13 CN(1-0) and HC 15 N(1-0) emission traces the front of the clump, with averaged column density of N (H 13 CN) ∼ 7 Γ— 10 12 cm βˆ’2 and N (HC 15 N) ∼ 2 Γ— 10 12 cm βˆ’2 . In this region the ratio H 13 CN(1-0)/HC 15 N(1-0) is quite uniform with an average value of ∼ 5 Β± 1. The same average value is also measured in the smaller clump B0e. Assuming the standard 12 C/ 13 C = 68, we obtain 14 N/ 15 N = 340 Β± 70, similar to those usually found in prestellar cores and protostars. We analysed the prediction of a chemical shock model for several shock conditions and we found that the nitrogen and carbon fractionations do not vary much for the first period after the shock. The observed H 13 CN/HC 15 N can be reproduced by a non-dissociative, C-type shock with parameters in agreement with previous modelling of L1157-B1. Both observations and chemical models indicate that the shock propagation does not affect the nitrogen isotopic ratio that remains similar to that measured in lower temperature gas in prestellar cores and in protostellar envelopes.

New Website

Β· One min read
Jonathan Holdship
UCLCHEM developer

We're replacing our old website! The old site was essentially just a poster for UCLCHEM with some github links. The new website has a similar landing page but importantly, we've moved all the documentation for UCLCHEM online. We'll keep that up to date and are open to comments from users as we're keen to make UCLCHEM as easy to use as possible.

We'll also keep this blog updated with any major updates to UCLCHEM. As a rule, we'll push minor tweaks, bug fixes and background changes that won't affect how the user interacts with the code regularly. However, major changes, feature improvements and changes that will change how you interact with the code will be published as a new version on github and come with an explanatory blog post. Come back if your latest git pull leaves you wondering what happened to UCLCHEM!

Tracing shock type with chemical diagnostics - an application to L1157

Β· One min read

The physical structure of a shock wave may take a form unique to its shock type, implying that the chemistry of each shock type is unique as well. In our recent paper, we investigate the different chemistries of J-type and C-type shocks using parameterised forms of their physical structures in order to identify unique molecular tracers of both shock types. We apply these diagnostics to the protostellar outflow L1157 to establish whether the B2 clump could host shocks exhibiting type-specific behaviour.

We find that a range of molecules including H2O and HCN have unique behaviour specific to a J-type shock, but that such differences in behaviour are only evident at low velocity and low density. We find that CH3OH is enhanced by shocks and is a reliable probe of the pre-shock gas density and is shock-type agnostic. Additionally, the fractional abundances within the B2 region are consistent with both C-type and J-type shock emission.

A chemical study of carbon fractionation in external galaxies

Β· One min read
Serena Viti
UCLCHEM PI

UCLCHEM has recently been used to study carbon fractionation in external galaxies. You can find the paper here and the abstract below.

In the interstellar medium carbon exists in the form of two stable isotopes 12C and 13C and their ratio is a good indicator of nucleosynthesis in galaxies. However, chemical fractionation can potentially significantly alter this ratio and in fact observations of carbon fractionation within the same galaxy has been found to vary from species to species. In this paper, we theoretically investigate the carbon fractionation for selected abundant carbon-bearing species in order to determine the conditions that may lead to a spread of the 12C/13C ratio in external galaxies. We find that carbon fractionation is sensitive to almost all the physical conditions we investigated, it strongly varies with time for all species but CO, and shows pronounced differences across species. Finally, we discuss our theoretical results in the context of the few observations of the 12C/13C in both local and higher redshift galaxies.

Ambipolar diffusion and the molecular abundances inprestellar cores

Β· 2 min read
Jonathan Holdship
UCLCHEM developer

Felix Priestley has used UCLCHEM in an investigation of the chemical differences caused by the magnetic fields in prestellar cores. You can find the paper here and the abstract below.

We investigate differences in the molecular abundances between magnetically super- and subcritical pre-stellar cores, performing three-dimensional non-ideal magnetohydrodynamical (MHD) simulations with varying densities and magnetic field strengths, and post-processing the results with a time-dependent gas-grain chemical code. Most molecular species show significantly more central depletion in subcritical models, due to the longer duration of collapse. However, the directly observable quantities - the molecule to hydrogen column density ratios - are generally too similar for observational data to discriminate between models. The profiles of N2H+ and HCO+ show qualitative differences between supercritical and subcritical models on scales of 0.01 pc, which may allow the two cases to be distinguished. However, this requires knowledge of the hydrogen column density, which is not directly measureable, and predicted line intensity profiles from radiative transfer modelling are similar for these molecules. Other commonly observed species, such as HCN and CH3OH, have line intensity profiles that differ more strongly between models, and so are more promising as tracers of the mechanism of cloud collapse.

Nitrogen fractionation in external galaxies

Β· One min read
Serena Viti
UCLCHEM PI

UCLCHEM has recently been used to study nitrogen fractionation in external galaxies. You can find the paper here and the abstract below.

In star-forming regions in our own Galaxy, the 14N/15N ratio is found to vary from ∼100 in meteorites, comets, and protoplanetary discs up to ∼1000 in pre-stellar and star-forming cores, while in external galaxies the very few single-dish large-scale measurements of this ratio lead to values of 100-450. The extent of the contribution of isotopic fractionation to these variations is, to date, unknown. In this paper, we present a theoretical chemical study of nitrogen fractionation in external galaxies in order to determine the physical conditions that may lead to a spread of the 14N/15N ratio from the solar value of ∼440 and hence evaluate the contribution of chemical reactions in the interstellar medium (ISM) to nitrogen fractionation. We find that the main cause of ISM enrichment of nitrogen fractionation is high gas densities, aided by high fluxes of cosmic rays.