The Xgear Project

Xgear started life as the desire for a wrapper programme written in C that could collect parameters for running astrochemical models using derivatives of the HMC (hot molecular core) NEWGEAR Fortran code initially developed by Tom Millar and collaborators in the early 1980s, and as further developed by Helen Roberts from 1998. The HMC code utilises DLSODE: the Double precision Livermore Solver for Ordinary Differential Equations (Hindmarsh 1983; Radhakrishnan and Hindmarsh 1993).

The goal of the Xgear Project is to enable astrochemical models to be run easily and consistently, with full user control over the many parameters that must be specified to run a model. These parameters can be defined on the command line and/or in a plain text configuration file.

Initially, the code for Xgear will be made publicly available under the terms of the GNU General Public License. We expect the code to compile successfully under Linux, Unix and OS X, for both 32- and 64-bit platforms.

However, in the longer term we intend to build a PHP-MySQL front-end to Xgear, so that models can also be setup and run using a client web interface to a (remote) Xgear application server or cluster. The results from running sets of models covering various parts of parameter space could then be stored in a database for subsequent querying. Other enhancements could include alternative model engines to HMC and the inclusion of additional processes such as gas-grain interactions.

Chemical reaction rates can be taken from UDFA 2006: the new UMIST database for astrochemistry (Woodall, Agundez, Markwick and Millar 2006), which replaced Rate99: The UMIST database for astrochemistry (Le Teuff, Millar and Markwick 2000).

The Xgear project collaboration team includes Paul Ruffle (JBCA/QUB), Andrew Markwick (JBCA), Paul Woods (JBCA), Helen Roberts (QUB) and Tom Millar (QUB).

Project Status

11 Mar 2010

The Xgear C wrapper can now successfully call the Fortran function FRED() and load the rate and species files into memory. Working out the correct way to call a Fortran function from C proved to be non-trivial, as although there is some documentation out on the web, it is neither clear or free of contradictions (I will document what worked shortly). I am using the latest versions of gcc and gfortran for compilation and linking under OS X Snow Leopard (I will test with gcc/gfortran under Linux soon). We are presenting a poster (The Xgear Project - A New Era for Astrochemical Modelling?) at the RAS National Astronomy Meeting at the University of Glasgow on 12-16 April 2010.

Sample output from Xgear

Sample output from Xgear showing that rate and species files have loaded into memory successfully.

16 Dec 2009

The basic wrapper has been completed and tested. It processes command line arguments and/or loads parameters from an external configuration file. Parameter arguments and values are tested for consistency. Default parameter values as well as sensible minimum and maximum values are defined in xgear.h. Sample configuration and help files have also been created.

The next tasks are: loading the rate and species files by calling the function FRED() from the Xgear wrapper; removing all hard coded parameters from the function HMC() and modifying it to accept the 13 parameter variables each time it is called; creating nested for loops in the Xgear wrapper so that each model is run by passing its set of parameter values to HMC().

Xgear Copyright © 2010 Paul Ruffle. All Rights Reserved.