MORS
MORS (Model for Rotation of Stars) is the stellar-evolution module of the PROTEUS coupled atmosphere-interior evolution framework. It models the rotational spin-down and high-energy (X-ray, EUV, Lyman-α) emission of low-mass stars over their lifetimes, following the rotation-activity model of Johnstone, Bartel & Güdel (2021).
Given a stellar mass and an initial rotation rate, or an observed rotation percentile, MORS returns the time evolution of the rotation period, the X-ray, EUV and Lyman-α luminosities, and the bolometric luminosity, radius and effective temperature interpolated from stellar-structure tracks. Within PROTEUS it supplies the stellar XUV history that drives atmospheric escape and photochemistry.
Model
MORS evolves the surface rotation of a low-mass star (0.1-1.25 Msun) with a wind-braking spin-down law calibrated to the rotation distributions of open clusters, then maps rotation to activity through the Rossby-number rotation-activity relation: X-ray luminosity first, then EUV and Lyman-α from empirical band scalings. Structural quantities (bolometric luminosity, radius, effective temperature) are interpolated from Spada et al. (2013) evolutionary tracks by default; Baraffe et al. (2015) tracks (0.01-1.40 Msun, no rotation model) are available as an alternative.
Documentation
Full documentation is at proteus-framework.org/MORS, including:
- Getting started: installation and a quick path to a first run.
- Tutorial: a first stellar-evolution run and how to read its output.
- How-to guides: install, evolve a star, read tracks and activity quantities, compute habitable-zone boundaries, run the tests.
- Explanations: rotation model, X-ray and EUV activity, stellar structure, spectral synthesis, and coupling to PROTEUS.
- API reference and validation anchors: every public function with NumPy-style docstrings, plus the per-source reference-pinned test inventory.
Installation
pip install fwl-mors
Or, for development:
git clone https://github.com/FormingWorlds/MORS.git
cd MORS
pip install -e .[develop,docs]
The docs extra pulls in Zensical so you can build this documentation locally with zensical serve.
Stellar evolution data
MORS ships without the stellar-evolution tracks, which live in the OSF repository. Set the FWL_DATA environment variable to the directory where the data should live, then download the tracks:
export FWL_DATA=/your/local/path/FWL_DATA # add to ~/.bashrc to persist
mors download all
Quick start
import mors
star = mors.Star(Mstar=1.0, Prot=2.7) # 1 Msun, initial rotation period at 1 Myr
print(star.Lx(150.0)) # X-ray luminosity at 150 Myr [erg s-1]
See the first-run tutorial for the full walkthrough.
Citation
If you use MORS in published work, please cite:
- Johnstone, Bartel & Güdel (2021), A&A, 649, A96 (rotation and XUV evolution model)
- Spada et al. (2013), ApJ, 776, 87 (stellar evolution tracks)
If you use the model cluster distribution or percentiles, also cite the rotation-measurement sources in Table 1 of Johnstone et al. (2021).
License
MIT License. MORS is part of the PROTEUS framework.
Release files for fwl-mors 26.7.23
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fwl_mors-26.7.23.tar.gz | 612.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fwl_mors-26.7.23-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 688.1 kB
Release files / fwl_mors-26.7.23.tar.gz
| Download URL | fwl_mors-26.7.23.tar.gz |
|---|---|
| Size | 612.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
305e39052c9d03386b9dfb209510e1e5c439421cf4f84a79b9c884993dbe9d11
|
|
BLAKE2b-256 checksum How to use checksums |
7bd9afd992a0e752afcd39045a914e98bfb7336d99f3286b2bae48e7fb7fb630
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.
Transparency logRelease files / fwl_mors-26.7.23-py3-none-any.whl
| Download URL | fwl_mors-26.7.23-py3-none-any.whl |
|---|---|
| Size | 75.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
95fa79c3a373c302c86a77786047880bf85853d24f5ecaaec59471cb6fcdc004
|
|
BLAKE2b-256 checksum How to use checksums |
92652aaff254fb3526185396046ba82840250438a43a02c8994ea3011d9aa7d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 23, 2026.
Transparency log