Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
4efa7c1
update for zensical
stuitje May 4, 2026
f291b4a
add proteus style css
stuitje May 4, 2026
9800367
move community pages
stuitje May 4, 2026
971fc31
update homepage, getting started and proteus framework page
stuitje May 4, 2026
419ee1f
ignore zensical site
stuitje May 4, 2026
63e4b7f
add footer
stuitje May 4, 2026
d6eec4e
small typo fix and icon change
stuitje May 4, 2026
b3dc30a
add slightly more info to homepage
stuitje May 5, 2026
a5a34f6
redesign installation page
stuitje May 5, 2026
139e781
add troubleshooting page
stuitje May 5, 2026
bc73a85
add rotational model explanation from paper and code
stuitje May 5, 2026
7a96429
add footnotes for citations
stuitje May 5, 2026
1fcb385
add activity page
stuitje May 5, 2026
d85d005
add habitable zone info
stuitje May 5, 2026
26f7bae
myr -> gyr
stuitje May 5, 2026
e62949f
add landing page for model overview
stuitje May 5, 2026
f7c7869
add model parameters
stuitje May 5, 2026
2ccd3f3
move parameters to reference
stuitje May 5, 2026
86a2ed2
update navigation
stuitje May 5, 2026
c6f4171
small style update
stuitje May 5, 2026
b4edf64
small style update
stuitje May 5, 2026
0f5c227
footnotes for model overview
stuitje May 5, 2026
2d93517
add to parameter reference
stuitje May 5, 2026
6deef57
add spectral synthesis page
stuitje May 6, 2026
df9fac6
solve zensical issues
stuitje May 6, 2026
d4f5614
simplify codeblock
stuitje May 6, 2026
1e4df44
start with api overview including landing page
stuitje May 6, 2026
823d98f
add api reference page for each module
stuitje May 7, 2026
d7fd830
fix docstrings for mkdocstrings
stuitje May 7, 2026
05c87c9
add appropriate page titles
stuitje May 7, 2026
57654c7
fix docstring
stuitje May 7, 2026
64edb2b
fix breaking docstring issues for mkdocstrings
stuitje May 7, 2026
f12ecc6
add constants table
stuitje May 7, 2026
c7f4732
update getting started page with more quicklinks
stuitje May 7, 2026
aaf97fe
refer to parameters reference
stuitje May 7, 2026
6f97604
docstring fixes for mkdocstrings
stuitje May 7, 2026
596a429
add api reference and fix SOCRATES link
stuitje May 7, 2026
78e5ed3
add summary table ot api reference overview
stuitje May 7, 2026
ef51bcc
add subheaders
stuitje May 7, 2026
c4fc84c
add proteus coupling page
stuitje May 7, 2026
96269ad
update quicklinks
stuitje May 7, 2026
ca6c164
use proteus main version of schematic
stuitje May 7, 2026
c633288
fix image link
stuitje May 7, 2026
faee038
add coupling to proteus
stuitje May 7, 2026
0d85e89
small fixes and formatting changes to how-tos
stuitje May 7, 2026
6fe4e59
fix constants formatting
stuitje May 8, 2026
7fe0809
update tutorial
stuitje May 8, 2026
86c087d
add subheaders for how-to guides
stuitje May 8, 2026
945b26e
update docs dependencies
stuitje May 8, 2026
d989592
mkdocs -> zensical in docs guide
stuitje May 8, 2026
609ff88
update docs workflow for zensical
stuitje May 8, 2026
7b8a7c7
add links to proteus-mors coupling
stuitje May 8, 2026
6573d75
fix parentheses
stuitje May 8, 2026
dcb25ed
add whitespace
stuitje May 8, 2026
f1d4d3c
fix paths to contributing and code of conduct
stuitje May 8, 2026
ad3dd4e
fix licence link
stuitje May 8, 2026
f3c01ec
fix ActivityLifetime method with 'sat' threshold comment
stuitje May 8, 2026
b6fe9a7
add trailing newlines
stuitje May 8, 2026
c2b9cfc
rename to MORS CI Test Suite for badge consistency
stuitje May 8, 2026
53c232d
update README
stuitje May 8, 2026
cf8e693
add license badge
stuitje May 8, 2026
680399b
fix license badge and add coverage
stuitje May 8, 2026
2973304
remove redundant numpy style
stuitje May 8, 2026
d038ad7
add build documentation how-to
stuitje May 8, 2026
05bd312
add building tests guide, so far without worked example
stuitje May 8, 2026
852545b
add cov dependency and declare test markers
stuitje May 8, 2026
2227c7d
remove unused image
stuitje May 8, 2026
b35bd6a
make mass clipping comment a warning
stuitje May 8, 2026
4b651ef
add default agemin comment
stuitje May 8, 2026
138651a
fix typo
stuitje May 8, 2026
fd050c2
add running_tests guide based on current test suite, and update build…
stuitje May 9, 2026
96ace69
update navigation in how-to's
stuitje May 9, 2026
c0fdfa6
fix nav
stuitje May 9, 2026
0b9bdfc
update coverage badge colours
stuitje May 9, 2026
2acdf88
add note about what is covered
stuitje May 9, 2026
7a225a9
update nav
stuitje May 9, 2026
e3ff6aa
small grammar fix
stuitje May 9, 2026
872e352
slightly lower mincolor for coverage badge
stuitje May 9, 2026
12aae32
remove test building guide for now, will be added after test suite up…
stuitje May 9, 2026
bb2f988
remove old readme
stuitje May 9, 2026
ca5b5c9
remove test markers (for now) and add Karen to authors. Update Harris…
stuitje May 10, 2026
a710744
fix syntax error missing comma
stuitje May 10, 2026
5a4bdad
update units note
stuitje May 11, 2026
be8448a
fix deprecation issue; and use 'fwl' as logger name in setup_logger
stuitje May 11, 2026
80dcbe6
add tim to authors
stuitje May 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
name: Documentation
name: Documentation
on:
push:
branches:
- master
- main
permissions:
contents: write
contents: read
pages: write
id-token: write
jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/configure-pages@v5
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
python-version: "3.12"
- run: pip install -e '.[docs]'
- run: zensical build --clean
- uses: actions/upload-pages-artifact@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: ~/.cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material markdown-include pymdown-extensions mkdocstrings mkdocstrings-python
- run: mkdocs gh-deploy --force --clean
path: site
- uses: actions/deploy-pages@v4
id: deployment
6 changes: 3 additions & 3 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Tests for MORS
name: MORS CI Test Suite

on:
push:
Expand Down Expand Up @@ -66,6 +66,6 @@ jobs:
filename: covbadge.svg
label: Coverage
message: ${{ env.total }}%
minColorRange: 10
maxColorRange: 90
minColorRange: 40
maxColorRange: 100
valColorRange: ${{ env.total }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,6 @@ fs255_grid*
# Debug
#*.png
nogit*

#zensical site
site/
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

### Building the documentation

The documentation is written in [markdown](https://www.markdownguide.org/basic-syntax/), and uses [mkdocs](https://www.mkdocs.org/) to generate the pages.
The documentation is written in [markdown](https://www.markdownguide.org/basic-syntax/), and uses [Zensical](https://www.zensical.org/) to generate the pages.

To build the documentation for yourself:

```console
pip install -e .[docs]
mkdocs serve
zensical serve
```

You can find the documentation source in the [docs](https://github.com/FormingWorlds/MORS/tree/main/docs) directory.
Expand Down
53 changes: 14 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,35 @@
# MODEL FOR ROTATION OF STARS (MORS)

MORS is a Python package (distributed as `fwl-mors`) used in the [PROTEUS framework](https://github.com/FormingWorlds/PROTEUS) to model **stellar rotation** and **high-energy emission (X-ray, EUV, Ly-α)** evolution.
It implements the model of **Johnstone et al. (2021)** and provides stellar evolution quantities based on **Spada et al. (2013)** (plus optional Baraffe tracks).
[![MORS CI Test Suite](https://github.com/FormingWorlds/MORS/actions/workflows/tests.yaml/badge.svg)](https://github.com/FormingWorlds/MORS/actions)
![Coverage](https://gist.githubusercontent.com/lsoucasse/a25c37a328839edd00bb32d8527aec30/raw/covbadge.svg)
[![License](https://img.shields.io/github/license/FormingWorlds/MORS?label=License)](https://github.com/FormingWorlds/MORS/blob/main/LICENSE.md)
[![PyPI](https://img.shields.io/pypi/v/fwl-mors?label=PyPI)](https://pypi.org/project/fwl-mors/)

> **Note:** This version includes the fix for the EUV1 → EUV2 conversion.
MORS is a Python package for modelling the rotational spin-down and high-energy (X-ray, EUV, Ly-α) emission evolution of low-mass stars. It implements the model of [Johnstone, Bartel & Güdel (2021)](https://www.aanda.org/articles/aa/abs/2021/05/aa38407-20/aa38407-20.html) and is the stellar evolution model integrated into the [PROTEUS](https://proteus-framework.org/PROTEUS) framework.

**Documentation:** https://proteus-framework.org/MORS/

## Install

```bash
pip install fwl-mors
```

### Required data: stellar evolution tracks
Download the stellar evolution tracks (stored on OSF):

```bash
mors download all
mors env
```

By default, data follow the XDG base directory convention. You can override the data root with:

```bash
export FWL_DATA=/path/to/data
```

Or set a per-script directory:

```python
import mors
star_evo = mors.StarEvo(starEvoDir="path/to/evolution-tracks")
```

## Quickstart

```python
import mors
import matplotlib.pyplot as plt

star = mors.Star(Mstar=1.0, Prot=2.7) # 1 Msun star, initial rotation period in days (at age ~1 Myr)
print(star.Lx(150.0)) # X-ray luminosity at 150 Myr

plt.plot(star.AgeTrack, star.LxTrack)
plt.xlabel(f"Age [{star.Units['Age']}]")
plt.ylabel(f"Lx [{star.Units['Lx']}]")
plt.show()
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]
```

## Documentation

You can find the complete documentation [here](https://proteus-framework.org/MORS/).

## Citation

When publishing results computed with MORS, please cite:
- **Johnstone et al. (2021)** for the rotation/XUV evolution model
- **Spada et al. (2013)** for the stellar evolution tracks used for stellar properties
If you use MORS in published work, please cite:

- [Johnstone, Bartel & Güdel (2021)](https://www.aanda.org/articles/aa/abs/2021/05/aa38407-20/aa38407-20.html), *A&A*, 649, A96 (rotation and XUV evolution model)
- [Spada et al. (2013)](https://iopscience.iop.org/article/10.1088/0004-637X/776/2/87/meta), *ApJ*, 776, 87 (stellar evolution tracks)

If you use the model cluster distribution/percentiles, also cite the rotation-measurement sources referenced in **Johnstone et al. (2020)** (Table 1, ~150 Myr bin).
If you use the model cluster distribution or percentiles, also cite the rotation-measurement sources in Table 1 of Johnstone et al. (2021).
Loading
Loading