Skip to main content

The virtual planet simulator

Project description

VPLanet: The Virtual Planet Simulator




ascl:1811.017

The Third VPLanet Workshop will take place 29-30 Aug 2023. The workshop will be virtual and is open to everyone. Register here.

Overview

VPLanet is software to simulate planetary system evolution, with a focus on habitability. Physical models, typically consisting of ordinary differential equations, are coupled together to simulate evolution, from planetary cores to passing stars, for the age of a system. We strive for full transparency and reproducibility in our software, and this repository contains 1) the source code, 2) extensive documentation, 3) scripts and files to generate published figures and perform parameter sweeps, and 4) scripts to validate the current release. We can't claim we found life beyond the Earth with closed-source or unreliable software!

To get started, ensure you have clang/gcc installed and follow the Installation Guide. To stay up to date on this repository, follow it on twitter.

Modules

VPLanet currently consists of 13 functioning "modules," each containing a set of equations that simulates a specifc physical process:

AtmEsc: Roche lobe overflow and thermal escape (energy-limited and radiation-recombination-limited) of an atmosphere, including water photolyzation, hydrogen escape, oxygen escape, and oxygen build-up.

Binary: Orbital evolution of a single circumbinary planet.

DistOrb: 2nd and 4th order semi-analytic models of orbital evolution outside of resonance.

DistRot: Evolution of a world's rotational axis due to orbital evolution and the stellar torque.

EqTide: Tidal evolution in the equilibrium tide framework.

Flare: Flare frequency distribution and flare XUV luminosity evolution in low-mass stars.

GalHabit: Evolution of a wide orbit due to the galactic tide and impulses from passing stars (including radial migration).

MagmOc: Thermal and geochemical evolution of a magma ocean.

POISE: Energy balance climate model including dynamic ice sheets and lithospheric compression/rebound.

RadHeat: Radiogenic heating in a world's core, mantle, and crust.

SpiNBody: N-body integrator for the evolution of a system of massive particles.

Stellar: Evolution of a star's bolometeric and XUV luminosity, temperature, radius, and mass concentration. Also includes magnetic braking and stellar wind spin-down.

ThermInt: Thermal interior evolution, including magnetic fields, for planets undergoing plate tectonics or stagnant lid evolution.

Many of these modules can be combined together to simulate numerous phenomena and feedback loops in planetary systems.

Resources

The examples/ directory contains input files and scripts for generating the figures in Barnes et al. (2020) and subsequent publications. The "examples" badge shows if all the examples can be built with the most recent version. The Manual/ directory contains the pdf of Barnes et al. (2020), which describes the physics of the first 11 modules, validates the software against observations and/or past results, and uses figures from the examples/ directory.

An ecosystem of support software is also publicly available. VPLot is both a command line tool to quickly plot the evolution of a single integration, and also includes matplotlib functions to generate publication-worthy figures. The VSPACE script generates input files for a parameter space sweep, which can then be performed on an arbitrary number of cores with MultiPlanet. For large parameter sweeps, an enormous amount of data can be generated, which can slow analyses. To overcome this barrier, the BigPlanet code can both compress datasets into HDF5 format, including statistics of an integration, and tools to faciliate plotting. These three scripts can be executed from he command line to seamlessly perform parameter sweeps. These Python scripts are optimized for anaconda distributions versions 3.5-3.9. The "wheels" badge indicates if you can download and install the executables with pip for these Python distributions.

Code Integrity

Behind the scenes, the VPLanet team maintains code integrity through via various automatic checks at every merge into the main branch. You can see the status of these checks via the "badges" the GitHub logo above. Currently we perform 5 checks: documentation ("docs"), units tests ("tests"), memory checks via valgrind ("memcheck"), confirmation that all examples are working ("examples"), and that the code is pip-installable on Linux, Mac, and Windows machines ("pip-install") for the Python distributions listed. The "coverage" badge shows the percentage of the code (by line number) that is currently tested by Codecov at every commit. We are committed to maintaining a stable tool for scientists to analyze any planetary system.

Community

VPLanet is a community project. We're happy to take pull requests; if you want to create one, please issue it to the dev branch. The documentation includes tutorials on adding new features and modules. It's a platform for planetary science that can grow exponentially, either by adding new physics or by adding competing models for clean comparisons.

A list of additional GitHub repositories with VPLanet examples can be found here.

If you believe you have encountered a bug, please raise an issue using the Issues tab at the top of this page.

If you'd like to stay up to date on VPLanet by joining the e-mail list, please send a request to Rory Barnes, rory@astro.washington.edu. You can also follow VPLanet on twitter: @VPLanetCode.

Acknowledgments

If you use this code to generate results used in any publication or conference contribution, please cite Barnes, R. et al. (2020), PASP, 132, 24502.

VPLanet development has been supported by NASA grants NNA13AA93A, NNX15AN35G, 80NSSC17K048, 13-13NAI7_0024, and 80NSSC20K0229. We also acknowledge support from the University of Washington and the Carnegie Institute for Science.

Enjoy!

© 2018-2023 The VPLanet Team.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vplanet-2.3.43.tar.gz (369.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vplanet-2.3.43-cp39-cp39-win_amd64.whl (783.3 kB view details)

Uploaded CPython 3.9Windows x86-64

vplanet-2.3.43-cp39-cp39-musllinux_1_1_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

vplanet-2.3.43-cp39-cp39-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

vplanet-2.3.43-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

vplanet-2.3.43-cp39-cp39-macosx_10_9_x86_64.whl (872.5 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vplanet-2.3.43-cp38-cp38-win_amd64.whl (783.3 kB view details)

Uploaded CPython 3.8Windows x86-64

vplanet-2.3.43-cp38-cp38-musllinux_1_1_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

vplanet-2.3.43-cp38-cp38-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

vplanet-2.3.43-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

vplanet-2.3.43-cp38-cp38-macosx_10_9_x86_64.whl (872.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

vplanet-2.3.43-cp37-cp37m-win_amd64.whl (783.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

vplanet-2.3.43-cp37-cp37m-musllinux_1_1_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

vplanet-2.3.43-cp37-cp37m-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

vplanet-2.3.43-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

vplanet-2.3.43-cp37-cp37m-macosx_10_9_x86_64.whl (872.5 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

vplanet-2.3.43-cp36-cp36m-win_amd64.whl (833.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

vplanet-2.3.43-cp36-cp36m-musllinux_1_1_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

vplanet-2.3.43-cp36-cp36m-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ i686

vplanet-2.3.43-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

vplanet-2.3.43-cp36-cp36m-macosx_10_9_x86_64.whl (872.8 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file vplanet-2.3.43.tar.gz.

File metadata

  • Download URL: vplanet-2.3.43.tar.gz
  • Upload date:
  • Size: 369.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for vplanet-2.3.43.tar.gz
Algorithm Hash digest
SHA256 b1f8a7915f2549daab3667c3ba6bc1aac4e10af5a9e099a1111706e211665e75
MD5 534cb0153d24045b2cab13bca7b43b50
BLAKE2b-256 1f0e31f25a128e2173cf4ec3321b8f527484db7f64729d3ce561f6a5b3e10e55

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: vplanet-2.3.43-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 783.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for vplanet-2.3.43-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b81233bb24e2e55afb48f57dbbed8746b4d8dbb9b072935b0670ef9a63abfd13
MD5 0502cfc82c08d48ac36149b19774ea3c
BLAKE2b-256 e73dfa34b32b37aa8c4fe7941c799decc0159f6ce28c28eab83a468e77cc2fb2

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b6a26b2a45a439a00de099ca4fa58ce1f8cc9dd53d93a1fd39f89c20eae0d145
MD5 82b304a68e964c3d4840cd2aca4a049a
BLAKE2b-256 6b837be2dc7fda7bc3d8098345d35413a34b7e16c22831d18ed404c660e1cc1a

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 bd74fcf56d2f9489559f8314644d1b205e6b86aa62f66d18b36332d347fe54bb
MD5 e9fa72eafb246acde2a49c87dc15d368
BLAKE2b-256 9394e26016b8e7a1e79b080bf974721b4575d1282da4b496959b43e661696dc5

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92d1f63186bb915e03db2b15c7db18d2e880ffaff71e978b62525d318e63cbc9
MD5 9db02ec8169cb5649f153a82d16b5a88
BLAKE2b-256 c77b18e0bb9984d86b13a39d2ebe3007fa68521525d73c46bfe95e363b1af5eb

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8bb55469c0429ccc4f4b88f51356f1c6f28c7e9663ba529a72d043732c24b9dc
MD5 0791baba28ca3b46c5c7abebd6d1253e
BLAKE2b-256 38f4d62821c2f792e294ff3aa5645905f8eb3bebb2ca180b56c28af2aa2560e0

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: vplanet-2.3.43-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 783.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for vplanet-2.3.43-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 90424dfeae5dba26c6a9494a7a4c2f586ba35a01baca462d8c6f1d7d7fb380c3
MD5 138aad5ec60ddb5a796bc70b05383738
BLAKE2b-256 5ab2fb420a43ab720145ff4c96c837d27135b34daae2eaa5b4d85a46d7048c07

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f3812fe699bea85e6e354392ac5590e5c8593f654f468126a0cfeb77e6db0dad
MD5 90019ddc94f81bd6df1f5fb9eea87cda
BLAKE2b-256 699db9ba1fd1f7e0c32bd52cda485c64632c1e71c4676c01aace485fcf75f15f

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 4b318c3f430e36376323870debfe1be03f534ad5205548bedae8d09aa57eecd9
MD5 c04b0a1841da996375d7109b51069710
BLAKE2b-256 0d8f93a1fc26af671cd259eddb9544303ddcaefb20e7bb922a468f05e6c2a3ec

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b33659174d2a2142284a0f702fbdf38a30fd2d70b1681d63062ce796a47cb906
MD5 6c0fe8ee503f9f6794e12a0e58e17805
BLAKE2b-256 a3f642a88f1a8535fc2506653d77e3a4c507d61b4078fef367e832c8ca6fbef7

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8c061cf9813fce945b8194e721ed6b056795166990742196569e0e7440cda041
MD5 b8f2362d1a09056cd4640563331d7ab8
BLAKE2b-256 836191175393a42a0f3fc3f9bdb9fab0f0fe4a03148714efcddadc8b8a399fea

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: vplanet-2.3.43-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 783.3 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for vplanet-2.3.43-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0e0535c3993eeb2aa81afbccb8220dd30a6ac2346189faf437ac002f568add94
MD5 7a7b1434587c9007da559a09307a6b9d
BLAKE2b-256 03a27e722b0fb75b91b695d474f46ebd94f97f9d7291059320268872be9d38fb

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7dbdaf81e55129f5b85133839ded493d64e781c30443c6a7d0e0f2cdfee13a74
MD5 554929e9ef3b51f7f80caa92762cd536
BLAKE2b-256 0cc1b7537c5ce36a4f7ddab58262e24320a16ef1bb274326431f0099ba1f3c28

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ac69410b6eb17313817f26387977a86df75421bd426f38e0c9b8a236252f1aef
MD5 5fdd653ed6798063974b19b06754d153
BLAKE2b-256 b5ace2d5e4bf56f5dc71b89f1b095716c727cd88abbd878ee31b5d2ef790f5dd

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44ce52782807c0af73ff30cd77c005c656e74e8eeb873d01e56141d7a38a999e
MD5 e678e24e58d69ba602fd96ef2d3c3915
BLAKE2b-256 061f6d5b0f7b0a381e9b526faae5be5b76ea544d6c262cf10f582e18685d4b48

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f765f29fd2207ac733ea2fb25e1f0ff9ee718f43ca040ff449d8a088dee6031d
MD5 6589ff1609764c2e12d9b7cceee70789
BLAKE2b-256 8c571446ab956424531638a4dbe53cb25f189accd5a81fabdaeb6e5af14a88a8

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: vplanet-2.3.43-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 833.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for vplanet-2.3.43-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 9dec773af2078a61feb71699d6661f1e8c686fe538ecf4f07696f623eb792abf
MD5 13bd48d64164d2c100187f0401374500
BLAKE2b-256 25bf87b1b4aa24cba396b785165c6acc33a7f699ccc713ade400f3e511e39109

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d141165aaa40e49cd79d765b05e0ebafe74dd76706c52a7240bc0831a6e0eeb5
MD5 07b89fd805974d9f7f2c57b15bd8916c
BLAKE2b-256 6c34c10cf7ef7220bfdf4daedf627646f2d044a03aa45086e4186ead578ddb12

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b59c5b927af3e7c442fc38f459d1872545cdfdbde65f03c6a64a624eafac80e6
MD5 75dddd8879c6746d544f359d64b991cb
BLAKE2b-256 c480e40a959b39ed1422284f71835e6c344d55c7d888a842a216b153aced8fd3

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05223fec3e20baf7e6e3812416a7b1ad92f4a5ecc83eda7d5d61b87fe7cea093
MD5 51b02da6408d0e3c68d8fa0280813b1a
BLAKE2b-256 27dc2ff34e107dd26ebeef54371f2facababc09376d6672a98998a5fa144e9d5

See more details on using hashes here.

File details

Details for the file vplanet-2.3.43-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vplanet-2.3.43-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fc77df2bca6ad2770d4583041ea2513dbf2e7a6c92989ef3dde3c57fb7c19a14
MD5 d7f28114dbba50281424cac58ac6a980
BLAKE2b-256 96e9dcb7830b648d15237f06e271748b480aeaab510daa847248711ada904504

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page