brute -- supernova spectrum synthesis

Welcome. This is alpha software. Again.

Q: What does "alpha" mean?

A: It still makes people laugh.

Q: Why would I want this?

A: If you like supernovae, and if you like to observe them and take their spectra, and then understand the physics of supernovae from those spectra, then you may want this.

You might already know about a little code called SYNOW. SYNOW is a nice code, and good at what it does -- identify lines in the face of massive line blending that characterizes supernova spectra. This project, brute, is a set of C++ header files that make a code like SYNOW, but also makes other codes -- including something that can fit supernova spectra with much less supervision than SYNOW (provided you have the processing power).

Warning -- The above paragraph is text that has come back from the future in a time machine.

Q: How do I download this?

A: Go here. Then use the mouse device thing to move around and click on the thing you want.

Q: Is there atomic data to use with it?

A: Yes, get it from here here. Watch out, it is 423,896,792 bytes long. Put that tarball into a directory, and set the environment variable BRUTE to the directory where you put the tarball. Don't forget to "tar zxf" the tarball once you've got it.

Q: Are there any other dependencies?

1. CFITSIO

You will need the CFITSIO library installed, in particular to read the atomic data files. Maybe that sounds funny, but (a) most users are astronomers and have CFITSIO installed already and (b) it is an extremely flexible format to use and easy to set up. It's also plenty fast and makes me not worry about byte rotation.

2. Lua

This is not really a dependency, but it should be documented here anyway. Lua is a powerful, fast, light-weight, embeddable scripting language (more about Lua). Specifically, brute makes use of the Lua API library, and its source code is included along with the brute source code. NOTE FOR NON-LINUX USERS: you must edit the PLAT variable in the Lua makefile to reflect what platform you are using (i.e., change "linux" to "aix" if that is what you are building on).

Many brute executables use Lua scripts for their configuration -- this gives the user quite a bit of flexibility while also keeping me from having to write a complicated parser for dealing with structured input. Since Lua is distributed under the MIT license, and is thus compatible with the GPL, I distribute Lua with the brute source rather than ask people to install it. I can also control what version of Lua brute builds against, which reduces compatibility issues. Note that none of the Lua API library, compiler, or interpreter will be installed on your system -- the API is only used to compile.

Q: Why "brute?"

A: What is with all these questions?
Wed Sep 19 22:29:52 UTC 2007
SourceForge Logo