I was wondering if mainly everything in Astronomical and Astrophysical was dependent on Simulations then what are the educational requirements are necessary to qualify as the Simulation Expert.

What softwares are needed globally? Are all simulations run on a Supercomputer? Do astrophysicist require coding experience? And, is Knowledge of Programming a must?

  • 1
    $\begingroup$ These days research is often done in research groups and so not every astronomer needs to do simulations themselves. Simulation software can also be standardized programs in some cases and so you might only need enough expertise to run it and not to write it. The Python scripting language also blurs the lines between writing and running software; you might only need to write a few dozen easy-to-understand lines that access a software package that inside contains tens of thousands of lines that you'll never see. These days even laptops can do gigaflops so a supercomputer is not always needed. $\endgroup$
    – uhoh
    Commented Jan 24, 2020 at 4:46
  • 1
    $\begingroup$ So no, one absolutely does not need to be a "simulation expert" to be an Astronomer. If you need to do a simulation or interpret the results, you should have a good understanding of the process being simulated and how the simulating software works, but you might never need to write any yourself. $\endgroup$
    – uhoh
    Commented Jan 24, 2020 at 4:48

1 Answer 1


I agree with @uhoh that you don't have to an expert, but above-average knowledge of coding is definitely useful, bordering on "a must". Not for writing huge programs with 1000s of lines, but for writing smaller pieces of code that help you in everyday tasks.

As uhoh says, you can very well find your place in a group where other people are in charge of numerical modeling, and focus instead on, for instance, interpretation of observational results, physical modeling, or even the technical aspects of telescope operation.


You ask about what software is used: Some of the more popular if you're working with observational data are IRAF for reducing and analyzing the data and SAOImage/ds9 for visualizing. A long list of astronomical software can be found here.

On the other hand, if you're modeling galaxies or the interstellar medium you may want to familiarize yourself with stellar population synthesis codes such as STARBURST99, semi-analytical galaxy formation models such as GALFORM, or radiative transfer codes such as Cloudy.


For coding, if you are constructing large codes that require many hours of computation — possibly on a supercomputer — you will probably want your code to be fast. Then languages like FORTRAN and C are often used. For programs that don't necessarily need to be fast, comprehensive languages such as Python are very popular. For smaller tasks, shell-scripting can be very useful.

Even if you don't run simulations, you will most likely eventually need to automatize your work. For instance, rather than reducing 100 images one by one, you create a pipeline that does all the biasing, flat-fielding, cosmic-ray-removing, etc. in one go. And rather than going through a catalogue of a million galaxies one by one to look for those that match your preferred criteria, you create filtering software that finds them for you.


Not all simulations are run a supercomputer. Huge cosmological simulations, galaxy formation simulations, etc. usually are, because you can usually start a simulation and then let it run for three months without interfering. But if your simulations are smaller, and possibly require that you check the process all the time, it's often sufficient/easier to run it on your local computer.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .