<p>I agree with @uhoh that you don't have to an <em>expert</em>, 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.</p>

<p>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.</p>

<h3>Software</h3>

<p>You ask about what software is used: Some of the more popular if you're working with observational data are <a href="https://en.wikipedia.org/wiki/IRAF" rel="nofollow noreferrer">IRAF</a> for reducing and analyzing the data and <a href="http://ds9.si.edu/site/Home.html" rel="nofollow noreferrer">SAOImage/ds9</a> for visualizing. A long list of astronomical software can be found <a href="http://tdc-www.harvard.edu/astro.software.html" rel="nofollow noreferrer">here</a>.</p>

<p>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 <a href="http://www.stsci.edu/science/starburst99/docs/default.htm" rel="nofollow noreferrer">STARBURST99</a>, semi-analytical galaxy formation models such as <a href="http://ascl.net/1510.005" rel="nofollow noreferrer">GALFORM</a>, or radiative transfer codes such as <a href="https://www.nublado.org" rel="nofollow noreferrer">Cloudy</a>.</p>

<h3>Coding</h3>

<p>For coding, if you <em>are</em> 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.</p>

<p>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 <em>pipeline</em> 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.</p>

<h3>Supercomputing</h3>

<p>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.</p>

CC BY-SA 4.0
2020-01-24T11:21:21.553Z
2020-01-24T14:18:26.743Z
2020-01-24T14:18:26.743Z
pela
<p>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. </p>

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

CC BY-SA 4.0
2020-01-24T04:46:50.517Z
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.
uhoh
CC BY-SA 4.0
2020-01-24T04:48:40.583Z
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.
uhoh
<observational-astronomy><astrophysics><stellar-astrophysics><n-body-simulations>
Simulation and its necessity in astronomical research
Pranay
# Simulation and its necessity in astronomical research

(Asked by: username_0 on 2020-01-24)

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?

**Tags:** observational-astronomy, astrophysics, stellar-astrophysics, n-body-simulations
> **Comments:**
> **username_1**: 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.  
> **username_1**: 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.  

---

## 1 answers

### Answer by username_2 on 2020-01-24. Score: 5 | Accepted answer

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.

### Software

You ask about what software is used: Some of the more popular if you're working with observational data are [IRAF](https://en.wikipedia.org/wiki/IRAF) for reducing and analyzing the data and [SAOImage/ds9](http://ds9.si.edu/site/Home.html) for visualizing. A long list of astronomical software can be found [here](http://tdc-www.harvard.edu/astro.software.html).

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](http://www.stsci.edu/science/starburst99/docs/default.htm), semi-analytical galaxy formation models such as [GALFORM](http://ascl.net/1510.005), or radiative transfer codes such as [Cloudy](https://www.nublado.org).

### Coding

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.

### Supercomputing

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.


---

