There aren’t many third party IDL books: David Fanning has one, Liam Gumley has one, and Ronn Kling has three. Now Ken Bowman, a professor at Texas A&M University in the Department of Atmospheric Sciences, enters the fray with An Introduction to Programming with IDL. This book is geared towards a new user of IDL without programming experience. It covers the necessary topics to get started in IDL basic variable concepts, analysis, file input/output, and direct graphics visualizations including many exercises for these topics. It makes it a good fit for the academics market. From the Preface:
This book is intended to be used in an introductory computer programming course for science and engineering students at either the undergraduate or graduate level.
I think it achieves this goal very well, but don’t look here if you want to take your programming beyond basic analysis and visualization.
A major strength of the book are the downloadable example programs with their documentation, data files, and output. To try the examples, make sure to run
@startup first to setup your IDL session.
The book takes the reader through a sequence of chapters learning basic concepts about IDL variables, dealing with file input/output, programming concepts, visualization and analysis. The chapters of the book are:
- IDL Manuals and Books
- Interactive IDL
- IDL Scripts (Batch Jobs)
- Integer Constants and Variables
- Floating-Point Constants and Variables
- Using Arrays
- Searching and Sorting
- Printing Text
- Reading Text
- Writing and Reading Binary Files
- Reading NetCDF Files
- Writing NetCDF Files
- Procedures and Functions
- Program Control
- Line Graphs
- Contour and Surface Plots
- Printing Graphics
- Color and Image Display
- Statistics and Pseudorandom Numbers
- Fourier Analysis
- Appendix A: An IDL Style Guide
- Appendix B: Example Procedures, Functions, Scripts, and Data Files
The detailed table of contents lists the sections within each chapter.
Pros: No prerequisites required. Exercises for most topics. Many example programs. Style guide appendix. Coverage of file input/output with NetCDF files. Clearly written with a nice layout. Color plates for some of the graphics examples.
Cons: No intermediate topics like widgets, object graphics, or object-oriented programming are covered. No use of the iTools.
If you’re teaching a first course in programming for scientists, I would recommend this book for your class.