OpenModel is freely available mathematical modelling software for Windows.

There are numerous such systems available, generally trading off the sophistication of potential applications with ease of use. OpenModel is arguably in the middle of this range. It uses simple scripts to define the model formulation which is integrated with model evaluation and visualisation. A notable feature of OpenModel is its integration of model parameterisation, i.e. adjusting the parameter values within numerical models to fit observations.

The name OpenModel derives from the aspiration that the underlying model formulation should be ‘open’ for the user to be able to see, rather than a black box of computer coding. You can judge for yourself whether that aspiration has been met.

**Background and Motivation**

As a young newly appointed University teacher in the late 1980s-early 1990 I found myself having to teach mathematical modelling to biologically minded students. To my surprise I found that they were quite open to key concepts such as rate equations, iteration and optimisation. At least they were once I presented ideas in an applied context. Kind of sneaked stuff up on them rather! However we needed to be able to do some practical exercises to really make progress.

In those days spreadsheets were in their infancy and the modelling related research projects I worked on involved writing computer code (FORTRAN77), input and output files, batch access to computers and endless debugging. Really endless debugging. My students had little programming background and the level of programming experience required before they could do any useful model example was a big obstacle. In a roundabout way this led to the development of a windows package called ModelMaker. The idea was to build the model was as a diagram and the user (i.e. my students) merely had to enter their equations into the various diagram components. The model was solved in the software and, most importantly, the calculated results were readily available for visualisation as graphs and tables. I believed that the ability to easily look at any of the calculated values was vital (I still do). My experience with the FORTRAN-77 style models was that most of the time was spent investigating problems with the predictions, each of which depended on other calculated values in the model, none of which were in the output. We therefore had to edit the code to create more output files. Then we would read the outputs into graphing packages. More often than not after a bit of interpretation one would realise the problem was even further back in the calculation, so more model outputs were needed, and so on and so on. It was slow work. I wanted to run the model and immediately have everything available for inspection. I certainly thought student users needed that kind of instant feedback in their practical work. After all, my course was optional. In those days you didn’t get fired if your courses had no students but you did get laughed at. This led to ModelMaker, early versions of which we tried out on the students with quite good success.

In due course ModelMaker evolved in to a very usable package. Together with my colleague Andrew Walker we won a prize and it was commercialised for a while. Amazingly we still use ModelMaker for undergraduate practical classes but even from the early days I found that for any kind of research work it was quite limited. The diagram approach was inflexible for sophisticated models and not as readily developed and maintained as clear lines of code. Nevertheless the typical research students I worked with still had very limited programming skills and ModelMaker’s ability to quickly view the results and couple methods such as model fitting was a real benefit. Gradually this led to OpenModel, the models specified as code or script but coupled to graphing and the various numerical methods.

In the early 2000s I had several projects on automated model reduction (or simplification). For this work it was helpful to develop the methods with a range of different models within a consistent overall framework. Working with my colleague Davide Tarsitano this led to a big expansion of OpenModel and it emerged in something like its current form. In due course it became convenient to share it with a small number of collaborators via a University website, and inconvenient to mess about with pass words and so on. After all, who else would want to use it?! I certainly knew from the ModelMaker days that there is no make money in mathematical modelling software. Nevertheless a few hardy souls did find it and use it and from time to time, very politely, ask if we could fix the worst of OpenModel’s bad behaviour. So gradually it has developed, and probably, through various small iterations, become useful to a small number of people. At least I hope so, and anyway it has certainly been quite good fun for me.

So if you use OpenModel and find it useful I will be quietly pleased. If you use it to do some great science I will be delighted.