A new THERMOCALC 3.50 for the solstice

Latest update 21 December 2020

We have updated THERMOCALC 3.50!

The scripts have changed a lot. A guide to the new scripts is bundled with the software download, and we have also updated all existing documentation and tutorials to reflect the changes. (Looking back, I see I previously claimed that scripts in tc350 were unlikely to change further – this proved to be as wrong as any other prediction about 2020.)

Progress represented in this update includes:

  • Scripts are now more concise and more self-explanatory, and THERMOCALC itself is now quite forceful in telling the user what it expects. We hope this will make the learning experience easier, and reduce the likelihood of mistakes.
  • Modebox calculations now work.
  • Previously, only pseudosection and P-T projection calculations were thoroughly scripted, with other calculation facilities being largely interactive. There is now comprehensive scripting for our other currently-operational calculation facilities:
  • There is now documentation for dogmin (G-minimisation at a P-T coordinate) – a thoughtful guide by RP on the safest way to use this rather dangerous facility.
  • Much more has happened behind the scenes in version 3.50, aimed at making the code easier to maintain. These changes are mentioned in the release notes bundled with the software.

The THERMOCALC 3.50 executable is still called “tc350beta”, reminding us that some facilities aren’t working yet: µ-µ diagrams, and calculations involving charged aqueous species, are still to come.

Download the new software here.

We wish all our users a safe and happy holiday period, and some relaxation at the end of an extraordinary year.

High-Ca opx again

Back in July, we released a new version of the igneous-set x-eos, which I claimed would prevent the appearance of a high-Ca opx in most-stable peridotitic assemblages. Soon afterwards, Ben Klein pointed out that, in fact, high-Ca opx was alive and well in his Perple_X calculations (thanks for letting me know, Ben!).

I believe we’ve now genuinely solved this. You can now download yet another set of igneous input files.

So what was wrong? Initially, Tim and I looked for the problem in the pyroxene quadrilateral, which is the heart of the opx and cpx x-eos calibration. For our previous release of files back in July, Tim removed a gremlin from the enstatite-diopside binary system (introduced by me – yikes), in which the solvus in cpx could be metastable with respect to the equivalent solvus in opx. When this didn’t eliminate high-Ca opx from the 10-component peridotite system, I flushed the same gremlin out from the rest of the pyroxene quadrilateral. But the high-Ca opx continued to mock us.

The final(?) piece of the problem related to the introduction of Ti into opx via the end-member obuf, MgAl(MgTi)0.5SiO6. Ben Klein alerted me to this by mentioning the relatively high Ti content of his high-Ca opx. The end-member properties of obuf itself are essentially unknown, so it doesn’t appear in the dataset. Instead we make an end-member with the right composition by combining Mg-tschermak’s pyroxene, periclase, rutile and corundum, and adding a ΔG term to represent the difference between their combined G(P,T) curves and the (unknown) true G(P,T) of obuf:

Gobuf = Gmgts + 1/2 (Gper + Gru – Gcor) + ΔGobuf

Since we know so little about obuf, and given that it’s only ever present in small proportions, we would not try to fit for both ΔGobuf and the mixing properties of obuf, which are also unknown. We face this problem with many end-members in the more complex x-eos. A common solution is to assign values to the mixing properties, based on the mixing properties of similar end-members, then just fit for the ΔG value, in this case ΔGobuf. However, obuf appears in such tiny proportions that in Holland et al (2018) it was simply treated as if it mixed ideally. Apparently, this wasn’t good enough, so I have given it some more realistic mixing properties, and adjusted ΔGobuf to compensate, doing something similar with obuf‘s monoclinic counterpart cbuf in the cpx x-eos. This destabilises high-Ca opx, at least in Ben’s example.

Has stable high-Ca opx really gone? Let us know if you discover further problems!

cpxwing log entry 003

This is Simon’s blog reporting on the development of a new single-clinopyroxene HPx-eos.

Lots has changed! Calibrating cpxwing turned out to be a quite difficult task, as there are complex interactions with other major phases, in particular with amphiboles at blueschist facies conditions. While fitting the models we discovered strong correlations between the end-member and mixing properties, which once established, helped us to control the interactions between amphiboles and clinopyroxene.

Using Eleanor’s omphacite model as reference we redefined several core W’s in cpxwing, allowing us to solve a recurring problem where clinopyroxene is calculated at conditions where glaucophane should be dominant. Previously this issue actually prevented us from calculating glaucophane-schists!

Currently we are working out some final tweaks of the new model, including some minor changes of the amphiboles. We are aiming to write-up in the coming months to finally unleash cpxwing into the petrological world!

Goodbye, Melbourne!

Simon’s short postdoc has (unfortunately) come to an end.

Time it was, and what a time! I had an amazing experience in this beautiful city – even though I spent more time at home than I would have hoped for.

I am extremely grateful for this dive into the wonderland of model development. Eleanor & Roger showed me a glimpse of how deep the rabbit hole goes – the bottom is not yet in sight! I am honored to be a part of this team and to have learned from these great people. Eleanor and myself will keep close contact and to work on cpxwing and many more exciting projects down the road.

Melbourne, I will miss your chatty lorikeets and amazing coffee. A year really is too short to get to know you.

Team news – October 2020

A quick round-up of news on team members and projects related to the HPx-eos and THERMOCALC:

Simon Schorn recently moved to Austria, where he has been awarded a grant to work at the University of Graz on fluid infiltration during metamorphism. Congratulations Simon! He had a strange year as Eleanor’s post-doc in Melbourne, spending two thirds of it in actual or effective lockdown, but we look forward to continued collaboration and a belated farewell dinner once international travel resumes. While in Melbourne, Simon did excellent work on cpx- and amphibole-bearing equilibria in subsolidus metabasite systems, making key insights that will help us with modelling the blueschist facies. His monstrous new cpx x-eos, cpx-wing, just needs its laser cannons added before it’s ready for take-off.

Springtime in Melbourne. I need to work on my eucalypt identification.

Corinne Frigo has just completed a marathon experimental programme at ANU, which has highlighted where we could improve the igneous x-eos in dry peridotite systems. We appreciate Corinne’s results all the more because she has persevered with her work through bushfires, a devastating hailstorm that put her lab out of action, and the pandemic. Well done Corinne!

John Mansour has done some magnificent work on TawnyCALC – and the delay in completing and releasing it is entirely my fault, sorry John! More news on this soon.

Katy Evans rightly pointed out that the set of hydrated ultramafic x-eos used in Evans & Powell (2015; J Metam Geol 33 649-670) should be on this site. She has been preparing the input files for this, and they should be ready to go shortly.

RP is focusing on updates to THERMOCALC 3.50. He has implemented a number of changes to the scripting, aimed at making it simpler, more transparent, and better at helping the user when things go wrong. He is currently restoring some functionality related to calculations with fluids that has been lost in recent versions. Once a new version of the program is ready for release, we will also be able to make Simon’s long-awaited pseudosection tutorial available, with up-to-date scripts.

Tim Holland continues to develop the dataset and igneous-set x-eos. In particular: an update for peridotite melting relations; updates for Ti in various phases (ru, ilm, melt); updating spinels with Eleanor; adding CO2 and S to melts, the last two in quite early but promising stages; working with RP on a simple ternary feldspar model that is continuous in composition (without the distinct C1/I1 phases); and on a nepheline model with Owen Weller.

Finally, in between battles with high-Ca opx and cpx-wing, Eleanor Green has been investigating some xenolith data from the Lesser Antilles volcanic arc, collected by Jon Blundy’s team at the University of Bristol. The xenoliths sample the upper part of the magmatic system that created each island, and their whole-rock chemistry and mineral assemblages contain insights into how this magmatic system varies along of the arc. These rocks are very high variance – they have many dimensions of significant compositional variability, but few phases – so forward modelling has proved too challenging for the current generation of x-eos. Fortunately, this is where the (S)COlP barometers come in useful.

Profiles of the team can be found here. We welcome questions and comments, via the comment form, or, even better, the Discussion Group.

Minor website updates

Melbourne’s magnificent Eureka Tower (right) vanishing into mist – a sorely missed view during this homeworking period.

Shocked to see that there was no blog post in August!

Some minor updates:

  • I have finally put up some benchmark calculations for the igneous, metabasite and metapelite sets of HPx-eos. Thanks to Simon for his help with the latter.
  • RP has fixed some bugs in DRAWPD 1.18. The updated software can be downloaded from the usual DRAWPD page.
  • Tim has provided a full pseudosection replacing Fig 5 (basalt RE46 composition) in Holland et al (2018). The original figure was only intended to show phase relations among the phases present at 1 bar, and how these extend to higher pressure. But as this was misinterpreted, the new figure shows the standard pseudosection.

Keep safe, everyone.

New tutorial: compatibility diagrams

Simon has kindly written a new tutorial on calculating compatibility diagrams in THERMOCALC. This tutorial is the second of a three-part series that highlights the relationship between P-T projections, compatibility diagrams and pseudosections. If you’d like to try calculating some compatibility diagrams, or you’re interested in understanding more deeply how phase equilibrium calculations can be applied to rocks, I’d recommend this excellent short tutorial.

New igneous x-eos: No more stable high-Ca opx

I’ve just issued an update to the igneous set of x-eos, involving tiny changes to the thermo of orthopyroxene (provided by Tim Holland). This should prevent high-Ca orthopyroxene from being stable, as has been seen in some calculations on peridotite. I’ll let Jamie Connolly know, so hopefully this change will shortly be implemented in Perple_X too.

Update Oct 2020: This did not solve the problem…. But hopefully the new update to the igneous set, dated 31-10-2020, will do.


As Melbourne goes back into lockdown, we reach the end of a bruising semester. Many apologies to those who have asked me questions recently and got no answer. Please ask again if your problem is still outstanding, as I have lost track of who you are.

Much appreciation to those of you who are, or soon will be, training the next generation of practical petrologists over the internet – and also to those budding petrologists who are being trained!

I hope all of you and your folks are safe and well,