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 continuous integration, in which numerous scientific and numerical tests are validated at every commit. Check the "build" badge above for the current status. See the tests/ directory for the validation checks that the current build passes. The "coverage" badge shows the percentage of the code (by line number) that is currently tested by Codecov at every commit. Additionally, we use valgrind and addresssanitizer to periodically search for memory issues like use of uninitialized memory, accessing memory beyond array bounds, etc. The "memcheck" badge shows the current status of the main branch, either clean (no errors) or dirty. If dirty, check the Issues for more information about the current status -- most errors are not serious. 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-2021 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.42.tar.gz (369.9 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.42-cp39-cp39-win_amd64.whl (783.4 kB view details)

Uploaded CPython 3.9Windows x86-64

vplanet-2.3.42-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.42-cp39-cp39-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

vplanet-2.3.42-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.42-cp39-cp39-macosx_10_9_x86_64.whl (872.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vplanet-2.3.42-cp38-cp38-win_amd64.whl (783.4 kB view details)

Uploaded CPython 3.8Windows x86-64

vplanet-2.3.42-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.42-cp38-cp38-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

vplanet-2.3.42-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.42-cp38-cp38-macosx_10_9_x86_64.whl (872.6 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

vplanet-2.3.42-cp37-cp37m-win_amd64.whl (783.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

vplanet-2.3.42-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.42-cp37-cp37m-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

vplanet-2.3.42-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.42-cp37-cp37m-macosx_10_9_x86_64.whl (872.6 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

vplanet-2.3.42-cp36-cp36m-win_amd64.whl (833.9 kB view details)

Uploaded CPython 3.6mWindows x86-64

vplanet-2.3.42-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.42-cp36-cp36m-musllinux_1_1_i686.whl (11.1 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ i686

vplanet-2.3.42-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.42-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.42.tar.gz.

File metadata

  • Download URL: vplanet-2.3.42.tar.gz
  • Upload date:
  • Size: 369.9 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.42.tar.gz
Algorithm Hash digest
SHA256 0a257b49e15f8c0f161f914e5ea73ec403251fcc44aa660bfe8ecee55f3904c2
MD5 c0f815351c1725e5b0a47e9b0357bfcc
BLAKE2b-256 abf362924c07e7eb573dea8ec108e55b4e1fbc58c3aa613c132a98c604734344

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vplanet-2.3.42-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 783.4 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.42-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0b69b2b71f7a502a51701380bf1fd55b1bc8056f7ab14fd39ac3baff8aa0a5b8
MD5 cf1f619d34348c279bc09295931b4f7a
BLAKE2b-256 ab7807728d53d0b4725ff6570dd313638d4243066faae8a0cc7ca3097b02ea46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d35a2cbc6f3ce1c39d74245b5ed514679bf1b63376a0f721d3944e16caed71e2
MD5 25e3e32632ae63c048a7e3b8fcc30771
BLAKE2b-256 a8cc964eb436f5b7094d9fc4f62d8136ae850880f7c9600fb9b36d8e3f9f327b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 975bc8aad0b371d5dc278d9f2494ccbe0ae13ee0fe62d29f0da973846d3b767f
MD5 2f2557f8d19fc5383294486d25c085b7
BLAKE2b-256 ce041571ce1c212c336f4cdf8671528935c4053f5f8f0cf12d8fea02af3900cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85bf5199470dccf80f0a7c6a16a7fc33a4c67ca552d4a8bd2e30980999c5cb50
MD5 d7b7e6267716970db6f2d48321f8f4a5
BLAKE2b-256 e3d19a07f55b7c9827bc642499ab29e00a639711b0c90c86c3554f188461fda2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e478f36251ac8970abaaee2d5cf5571d099db80b999dba936cc9ed4840675474
MD5 3aa1efa1ab7159efe56983f6195d6c12
BLAKE2b-256 5a3939c851862234b06376cffa575c0e90335ec586388d654f0ff7eb575c152b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vplanet-2.3.42-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 783.4 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.42-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a6f9ef358b0f1e809ee568502c714e42cd4b9940051b5edf2aeafdba70948dc3
MD5 b7585263b886e08ae9a923ddd91a8b1c
BLAKE2b-256 c26f38d8d24e30b50bc03ec3548e89967d5d219262d2ed11eb783abebbccb421

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b1e3c95ba652434be41c403c2257d5e691187dbfff6badb41938c71b14039c0b
MD5 b506e5a39430fd4db64e72af80bd0ae0
BLAKE2b-256 05effe27be0d8d147cd269f67e6209ea6dba102f7889d76380b6475b1ec6a453

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f9a14d77a141d720fd8d14937d7058f9a96224b079186f93dee647c9680a046e
MD5 9be6a1f2ee82024d16811bd46a135c28
BLAKE2b-256 c1334e40318758392e194328848e4ea646967785645a36975012c9e6344ad63a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6fc67b4ad8538477edb8c275801ca57da4e022e4a40ee6cbd9ff4a5a2bd31b66
MD5 54dee09684ff8a3c7599d44454ada1e9
BLAKE2b-256 dc3c268614a45839463e4d4cb14cc76038eae6c68c189c12521a30ba635e39b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ec98547cf170d0fadcf02da9e7858adfc78c7c17332bc6642263138c1d585bb1
MD5 a33f8ba67633de1ac8c302c680faa2e4
BLAKE2b-256 520c825ff684a85b9dd71ecda806887aa01b5b11ce20acdd723c47988f49a209

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vplanet-2.3.42-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 783.4 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.42-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a352a0cfca441fc85e523d3c594bcb28fa5bb928c1787c9ad67d0b6a80b48c86
MD5 25df95af58cdb3b7c44c1e3467cc8861
BLAKE2b-256 ebac41a8b6142ddbaf45b70abd6a0a4cd4d8fe9f64ea36e763fd9158622c0a18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 dbf87c99c1ee710de92c25689d175ca1e5f9e786173f5cbef00e6f8f12175258
MD5 9c183b04b427dd1cc713ba23ded33633
BLAKE2b-256 a83682b438a5506c7f3488185fd8136b525c32bb687958d60bce1166f7b49e40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 96e3302023785f531ee57d38b5fa4773cf76bf01a303b888e9f410e460030c46
MD5 2e240fef8a0cc214bf03b04c94457719
BLAKE2b-256 d7518a88536639467f24975157a952a617e13b76b3dd1a6ce1ebce9b5ea5f3ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d287748f339b81d1dc3a26127e339810147909a4fa5afa475e36b8b2ae0dfd0c
MD5 f634aa2fdf24cc6aa20ec88315285475
BLAKE2b-256 0c96fd3521263b395dfa931cee061eacf66d723cefeb10a94b37f9d33c673dfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f31158af88c3fb05b2eae4be62e936c4660dc9852d91810036cacef084e08c6e
MD5 65793973bf6a949924c2179152cbef10
BLAKE2b-256 06e01c3d3fc9c76585392aeaf90526e140358ab4e278cebb0724df84498fb34d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vplanet-2.3.42-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 833.9 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.42-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 a0ae86154ba454fe611d98b2e8afcced167bf066a084574a1e8ab472b344d952
MD5 b455abe6c65b0e9ff688321332c182b0
BLAKE2b-256 dac3c9315c7b5ca57d95ff2362e15c60819306385b2df3dcaa61a64f6ca92fd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4d35cc27be304fded5ce1fce1b7518d609529025e4698031418ee5adbaa99e42
MD5 6dcbc5fd7e5ad6be70497345270e760a
BLAKE2b-256 f97dea682d017953f1920533e39ffcb6104568617c5387818811877098d01c32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 36fa6c0c7cfe88c79149b69657cc00412ffdad29f65088333603738811d6774d
MD5 bc10594782b170599621af4ae24b4bea
BLAKE2b-256 3d6b91fbc99999a1a33c9484fa3dcd73ceba9030e959e2507952c481fe4d033d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7c919e07688401212ad87a5e43fe50114033df80aadbf310a90736d4c6582f1
MD5 e4af5126d5dff97a0ad69c9f595606f8
BLAKE2b-256 0f1916ca7a8d59171fc4cdae3469ba39de81456fb2ea9bc8a6c97250d8b70eba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vplanet-2.3.42-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d1a1fd6dfb02b67b368ceb92b5ef14482885d59ae6e288cd0e784521f33330ce
MD5 1e398e6ee3a4118a2e0f5d5bfaba7b25
BLAKE2b-256 8a2a49474330b29ee76c5d3b7dd2d9309488783488e301711040b4ee4aff8815

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