Tikiwiki AssistantThank you for installing Tikiwiki!
|
GettingStartedAn astronomical project generally proceeds in several steps:
For the beginning astronomer, one may be working with an adviser that has already taken care of steps 1 or 2. For an undergraduate, it might only be expected that they will complete steps 3-4. Graduate students are expected to carry out all steps between 2-7, but will only be considered successful if they complete the whole cycle. The tools that are needed depend on where the astronomer is in her career, and on the complexity of the project. Undergraduates generally need only a basic familiarity with computing. Knowing the UNIX environment (e.g., Linux, SunOS, the Mac OS X command line) is very helpful, because most tools that astronomers use are written by astronomers to work in the UNIX environment. Of course, you need to know some specific software that is used to analyze (reduce and measure) the data (see, e.g., a list at the ATNF
Knowing only the above tools, one can reduce individual observations. If you can pick interesting, compelling individual targets and build a career out of them, this is all you need to know. However, by learning some more computing, one can tackle progressively larger and more complex data sets. In order to interpret observations, it is useful to have a package that handles statistics and plotting. You could write your own using any number of libraries (pgplot If a large amount of data is to be analyzed, it is a good idea to learn a scripting language. UNIX shells (bash, tcsh) are good for looping over large numbers of files and running command-line programs (such as the HEASOFT tools) on. For simple tasks, I use tcsh, and call grep, awk, sed, and cut to run programs and to perform simple manipulations of file names. A scripting language like Perl or Python is used when you also want to perform more complication actions: parsing file names to identify those take with specific data modes, obtaining information from log files created by command-line programs, and automatically creating tables of data from poorly-formatted output. If you are just starting with scripting, I would recommend Python, because its syntax results in programs that are easier to read at a later date, and it can be used to automate IRAF Serious programming with C++, C, or FORTRAN is needed if speed is important. I have used C when writing programs to perform Fourier transforms, because the memory handling of Perl and IDL are horrible (Python and Matlab might be better, but I haven't checked). I wrote in FORTRAN for a ray-tracing code that was going to be many, many times, because IDL would have been prohibitively slow. Complicated data pipelines and and modeling software for very large data sets (such as the CMB data from WMAP) are also best written in a proper programming language, for speed and efficiency. In all of astronomy, if you are going to write your own software, you should learn to use programs the read and manipulate the raw FITS data. For programming languages, FITSIO
|
Login |