## Chapter 1Introduction

Theory work, unlike observational work, does not have a clear set of requirements for applications programs. There is no instrument data to reduce, no observations to plan, and all the observational fuss of calibration, flat-fielding, dark frames, image centroids can be avoided. All we need is a fast machine, and a compiler we can trust.

Well, not quite all. This cookbook is intended to be useful at and after the point when you start to wrestle with the computing details of your scientific problem. It’s not a collection of standard recipes, but instead a repository of brief introductions to facilities you may not know existed, or didn’t know how to get started on. It includes references to sources of authoritative information, including those Starlink documents most likely to be of interest to theorists. It doesn’t try to teach you all of anything, but aims to give you enough information to decide if the topic is useful, and if the included references are worth pursuing.

Although the topics are chosen for their relevance to theoretical work (and for the purposes of this text, I’m taking the term to include all who develop their own modelling codes), a good proportion of the information should be of interest to all of the astronomical computing community.

### 1.1 Call for contributions

For such a wide ranging project, I cannot hope to have given an ideally just account of every topic. Please send comments, corrections, and expansions either to me at norman@astro.gla.ac.uk or to the Starlink software librarian at starlink@jiscmail.ac.uk. Updates to the cookbook and its example programs can be found there.

I am particularly interested in comments on the following topics:

• I’d like to include a section on Monte Carlo simulations, but don’t feel qualified to comment myself. Can anyone give any pointers?
• The cookbook is reasonably well-stocked with material on computation, but rather thin on more detailed astrophysical topics (4). It does have a section on Stellar Atmosphere models (4.1); what else should be here?
• Do I need a section on parallelization, beyond the very brief (indeed evasive!) mention in 2.5.2?