For astronomers, what software/languages do you use to handle data?

Click For Summary

Discussion Overview

The discussion centers around the preferred programming languages and software used by astronomers and astrophysicists for handling large datasets. It explores various methods, tools, and experiences related to data management in astronomy projects.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • Some participants note that Python is a popular choice for data handling in astronomy, although one contributor mentions they are not a professional astronomer.
  • One participant shares their experience with a project unrelated to astronomy, highlighting the use of various programming languages and platforms, including older technologies like FORTRAN and newer ones like C/C++. They emphasize the historical and cost constraints that influence software choices.
  • Another participant describes their astronomy project, stating that most code is written in Python, with performance-critical components implemented in C or C++. They mention that users typically interact with the Python interface, which simplifies the process of data analysis using Jupyter notebooks.

Areas of Agreement / Disagreement

Participants express differing views on the complexity of the question regarding software and languages used in astronomy. While there is a consensus on the popularity of Python, the discussion reveals a lack of agreement on the best practices and the variety of languages and tools employed in different contexts.

Contextual Notes

Participants reference a mix of old and new programming languages and tools, indicating that the choice of software is often influenced by legacy systems and the need for efficiency in data handling.

Who May Find This Useful

Astronomers, astrophysicists, and data scientists interested in data management practices and software tools used in the field of astronomy may find this discussion relevant.

astroman707
Messages
61
Reaction score
5
For all the astronomers and astrophysicists out there, what are your preferred methods of dealing with large swaths of data? What are your go to programming languages, and software?
 
Astronomy news on Phys.org
Python seems to be popular but I am not a professional astronomer .
Regards Andrew.
 
You have asked this question twice. It is not a simple as you would like.

So this is an example a project I worked on. It is not astronomy. But see the last paragraph.

We developed what power engineers call a state estimator. This is the net for a company's part of the power grid. It let's power companies do things like determine how much wheeling has gone on or through their system. (tracking power that belongs to another company)

Large projects are constrained by history and cost. Just as in most areas of engineering and science. If you have something software/hardware wise that works well you do not rewrite it. You keep using it. You do not want to debug an extra 30,000 lines of new FORTRAN.

Languages and databases involved, note that some are very old:
Code:
Old SCADA - DCL (shell),  DEC FORTRAN, Userbase, DEC BASIC

HPUX - FORTRAN90, LAPACK (linear algebra), ksh88 (shell), Oracle, Pro-COBOL, Pro-C (C for Oracle), Assembler code, Stat Pak, Perl

Windows - Oracle Forms, Perl, Visual Studio C++, VB 6

This same hodge podge happens lots of places because it is more efficient in terms of cost and time to use something someone else wrote way back when, than to roll you own. I chatted with a tech guy down at the VLA radio astronomy center. Guess what? They had the same mish mash of languages and platforms plus analog FFT boxes. Way cool.

So your answer is: several languages and platforms
 
  • Like
Likes   Reactions: davenn, berkeman, russ_watters and 1 other person
astroman707 said:
For all the astronomers and astrophysicists out there, what are your preferred methods of dealing with large swaths of data? What are your go to programming languages, and software?
I work on an astronomy project that generates huge amounts of data. Most code is written in Python, and the parts of the code that handle large amounts of data or are very compute intensive are written in C or C++. However, for most users, the C/C++ part is hidden, since they are just calling python routines. More and more, the Python code is being written with Jupyter notebooks. It's really quite amazing. You can write a Jupyter notebook and with a few lines of code pull in and analyze very large amounts of data in a short time.
 
  • Like
Likes   Reactions: davenn, lomidrevo, berkeman and 1 other person

Similar threads

Replies
86
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 21 ·
Replies
21
Views
4K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 22 ·
Replies
22
Views
4K
  • · Replies 11 ·
Replies
11
Views
3K