First run tutorial
This tutorial runs the runaway greenhouse example that ships with JANUS. By the end you will have a plot of outgoing longwave radiation (OLR) versus surface temperature for a pure steam atmosphere, validated against four published datasets.
Prerequisites
Complete the installation steps first. You will also need
the mors stellar evolution package and toml:
pip install -r examples/requirements.txt
1. What the example does
examples/demo_runaway_greenhouse.py increases the surface temperature of a
pure HβO atmosphere from 200 K to 2800 K in 20 steps, computing the OLR at
each step using the full JANUS pipeline (moist pseudoadiabat + SOCRATES
radiative transfer). The result is the classic runaway greenhouse curve,
plotted against reference data from Kopparapu+2013, Goldblatt+2013,
Hamano+2015, and Selsis+2023.
2. Run it
From the root of the JANUS repository:
python examples/demo_runaway_greenhouse.py
The run takes a few minutes, since each of the 20 temperature steps calls SOCRATES twice. You should see progress logged to the terminal:
INFO - Start
INFO - Running JANUS...
INFO - T_surf = 200 K
...
INFO - T_surf = 2800 K
INFO - Making plot
INFO - Done!
Output files are written to output/:
output/runaway_demo.pdf
output/runaway_demo.png
3. Understanding the output
The plot shows OLR as a function of surface temperature.
The plateau: OLR barely changes between ~350 K and ~1600 K, staying near 277 W mβ»Β². This is the SimpsonβNakajima radiation limit: the photosphere is trapped within the saturated water vapour region, so increasing the surface temperature does not increase the emitting temperature. Any planet receiving more stellar radiation than this limit cannot radiate fast enough and enters a runaway greenhouse; its oceans evaporate entirely.
The steep rise: above ~1800 K the deep atmosphere becomes supercritical (water has no condensed phase above 647 K). The condensing region disappears, the photosphere couples back to the surface, and OLR rises steeply into the post-runaway regime.
The JANUS curve should sit close to Hamano+2015 and Selsis+2023. Small differences between models come from different spectral line databases and lapse rate assumptions.
4. The other example
examples/demo_instellation.py increases the stellar instellation instead of
the surface temperature, showing how the energy balance changes with orbital
distance. Run it the same way:
python examples/demo_instellation.py
5. Next steps
- Modify
vol_mixingin the script to add a COβ or Nβ background gas and see how it shifts the radiation limit - Change
mean_distancein the config located at src/janus/data/tests/config_runaway to move the planet closer or further from its star - See the physical model overview for the equations behind the pseudoadiabat and radiative transfer