Skip to content

VincentVanlaer/StORM

Repository files navigation

StORM logo

StORM (which stands for Stellar Oscillations with Rotation and Magnetism) computes the frequencies and mode properties of a stellar model.

  • Significantly improved performance (>10x) compared to existing open source codes (e.g. GYRE)
  • Support for the HDF5 GYRE stellar model format (GSM), which can be generated by MESA
  • Inclusion of higher order rotational terms: Coriolis force, toroidal modes, and stellar deformation
  • A modern CLI, which serves as a batch interface as well

Installation

Pre-compiled executables can be found on (https://storm.stellar-oscillations.org). To compile StORM for source, you will need the following prerequisites:

If you are familiar with nix, you can also run nix-shell in this repository to get all the necessary dependencies, or nix-build to directly build the StORM binaries.

After the necessary dependencies are installed, you can compile StORM by running cargo build --release or run it directly with cargo run --release --bin storm.

How to use StORM?

After installation, you will be greeted with the following prompt when running StORM: [storm] >. To let StORM actually do its job, you will have to enter commands to read in a stellar model (the input command), search for oscillation modes (scan), compute properties of the modes (post-process), and write the results to a file (output).

StORM comes with a built-in help command, so if you get stuck, you can run help to see which commands are available, and help some-command to get detailed information on the command. For example, by running help scan, we see that scan requires the following arguments: Usage: scan [OPTIONS] <ELL> <M> <LOWER> <UPPER> <STEPS>, which are the degree of the modes to scan for, the azimuthal order, the lower and upper limits in frequency of the scan, and the number of steps to take between those two limits. The help provides a lot more information (the scan command has various options).

A walkthrough can be found on the documentation website.

License

Except for files in the vendor folder, which carry their own licenses, all files in this repository are licensed under the GNU General Public License version 3. You may find a copy of this license in the LICENSE file.