The most effective analysis and software tools are reused and shared often. Physics software, libraries, and analysis pipelines are no exception. Indeed, this book is intentionally titled Effective Computation in Physics. Effective computational physicists streamline repetitive work and liberate themselves from the mundane. They are also able to build upon the work of others by installing and using external libraries. This chapter will cover both strategies, since they are intricately related by an emphasis on automation and by a versatile tool called make.
By the end of this chapter, you should be able to get started with the following tasks:
Automating complex workflows and analysis pipelines
Configuring and installing external libraries
Creating build systems for your own software
By automating the tedious steps, you are much more likely to encourage colleagues to extend your work and to, therefore, positively impact the future of your field. This chapter will help you to assist your peers in building, installing, and reproducing your analysis pipeline by automating the various steps of building that pipeline and your software:
The first step, configuration, detects platform-dependent variables and user-specified options. It then uses those to customize later steps in the process. For example, an analysis pipeline might run a Python program on a data file to create a ...