Skip to content

Change Log

Changelog

November 10th, 2025

The WORM Portal and all of its Python tools have undergone a major update. This was done for several reasons. First, this update eliminates all dependency on the R programming language, which makes it much easier for users to install WORM Python tools on their own laptops, desktop computers, etc. Second, this update ensures that WORM Python package naming conventions follow PEP 8 guidelines as desired/required by major Python distribution services like Pypi (where pip-installable packages are hosted).

What is important to know about this update?

  • Most changes that affect the user are very minor, like needing to update package names during import in the first code cell of a notebook. The biggest changes happened behind the scene.

  • All tutorials in the WORM Library have been updated to work with this new update. Please check out relevant tutorial notebooks if you are unsure about how to do a calculation after the update.

  • Package names are now all lowercase! Instead of importing pyCHNOSZ and AqEquil, you'll want to import the packages using all lowercase letters.

For example, importing aqequil:

import aqequil
ae = aqequil.AqEquil()
Or importing pychnosz:
from pychnosz import *
_ = thermo("WORM")

  • The WORM thermodynamic database CSV now has a 'model' column to describe which model is used to calculate properties of chemical species beyond 298.15K and 1 bar.
    • aqueous species use HKF (revised Helgeson-Kirkham-Flowers model)
    • everything else uses CGL (crystal gas liquid heat capacity model)
    • allows for special instances where the model might use DEW (Deep Earth Water) or Berman (Berman minerals) or something else depending on how the code is set up.

Tip

You can continue to use custom databases without the 'model' column. The aqequil and pychnosz packages should automatically assign either HKF or CGL as the model depending on the phase of the species.

  • Mineral, gas, and liquid (CGL) heat capacity equation parameters in the WORM thermodynamic database CSV are no longer scaled. Previously, the following scaling factors were applied:
    • b * 10^3
    • c * 10^-5
    • e * 10^5

This is no longer the case. If you are using a custom thermodynamic database, Update your b, c, and e mineral, gas, and liquid heat capacity parameters. Aqueous species and their parameters are unaffected and should be kept the same as before.

  • pychnosz functions like subcrt(), water(), entropy(), and affinity() now give you Joule-based values instead of calorie-based values. For example, the G (Gibbs free energy of formation) values returned by subcrt() will be in J/mol instead of cal/mol. Ensure your custom codes using pychnosz functions account for this unit change.