SC/13.1

Starlink Project
Starlink Cookbook 13.1

Norman Gray

10 March 2003

Copyright © 1999, 2001–2003, Central Laboratories for the Research Councils


Theory and Modelling Resources Cookbook

2.5

 



Abstract

This cookbook is intended to assemble references to resources likely to be of interest to theorists and modellers. It’s not a collection of standard recipes, but instead a repository of brief introductions to facilities. It includes references to sources of authoritative information, including those Starlink documents most likely to be of interest to theorists.

Although the topics are chosen for their relevance to theoretical work, a good proportion of the information should be of interest to all of the astronomical computing community.

Contents

1 Introduction
 1.1 Call for contributions
2 Computing
 2.1 Unix guides
 2.2 Editors
 2.3 Numerical analysis
  2.3.1 Numerical Recipes
  2.3.2 Floating point representation
   2.3.2.1 Endianness of floating-point numbers
   2.3.2.2 Accuracy
   2.3.2.3 Other floating-point topics
 2.4 Programming languages
  2.4.1 Fortran 77
  2.4.2 Fortran 90/95
  2.4.3 C
  2.4.4 C++ and object orientation
  2.4.5 Java
  2.4.6 Other languages
   2.4.6.1 awk and sed
   2.4.6.2 Perl
 2.5 Code topics
  2.5.1 Profiling
  2.5.2 Optimization
   2.5.2.1 Avoid using the register keyword in C
   2.5.2.2 Walk through arrays in the correct order
   2.5.2.3 I/O
   2.5.2.4 Use NaN and Infinity
   2.5.2.5 Remove debugging options
   2.5.2.6 Choose a fast compiler
   2.5.2.7 Further reading
  2.5.3 Debugging
  2.5.4 Intermixing Fortran and C
   2.5.4.1 Arrays
   2.5.4.2 Strings
   2.5.4.3 Compiling and linking
  2.5.5 Compilers, and other stray remarks on code
 2.6 Link farms
  2.6.1 Unix documentation and standards
3 Theory support
 3.1 Computer algebra
 3.2 Data visualisation
  3.2.1 gnuplot
  3.2.2 IDL
  3.2.3 DX
  3.2.4 PGPLOT
 3.3 Producing images
4 Astrophysical and other libraries
 4.1 Astrophysical modelling codes
 4.2 General-purpose and numerical libraries
  4.2.1 Reading and writing data
 4.3 Link farms
5 Paper production
 5.1 TeX and LaTeX
 5.2 The LANL archive
6 General astronomical and astrophysical resources
 6.1 Observations
7 Acknowledgements
A Example programs
 A.1 islittlendian.c
 A.2 fpp.c
 A.3 fpdemo.c
 A.4 Profiling
  A.4.1 p1.f
  A.4.2 p2.f
  A.4.3 p3.f
 A.5 crash.c
 A.6 Mixed language programming
  A.6.1 mixed-c.c
  A.6.2 mixed-f.f
 A.7 maple.ms
 A.8 idl-functions.pro
B References: Starlink documents
C Release notes
 C.1 Release 2.5 (10-Mar-2003)
 C.2 Release 2.4 (22-Jul-2002)
 C.3 Release 2.3 (16-Jul-2002)
 C.4 Release 2.2 (01-Dec-2001)
 C.5 Release 2.1 (04-Dec-2001)
 C.6 Version 2 (02-Dec-2001)
 C.7 Release 1.2
 C.8 Release 1.1 (20-Jun-2000)
D Bibliography