Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

bout runners


lint status test status docker build status language grade: python codecov percentage documentation status

pypi package number supported python versions licence fossa status

security status code standard checked with mypy

Manage your BOUT++ runs through python

Overview

BOUT Runners is a package to manage and orchestrate your BOUT++ runs. More specifically it’s a tool:

  • That automatically makes your project

  • Where you can override default parameters, and parameters found in BOUT.inp

  • Where you can submit a single run, or even a chain of runs either locally, or to a cluster

  • That automatically stores parameters and other metadata in a database (inspired by sacred)

  • Logs the entire process

Read the full documentation at ReadTheDocs

Getting Started

The simplest way to use BOUT Runners is by executing the following script in the root of your project directory (usually where your Makefile resides). In this example we are using BOUT-dev/examples/conduction as the root

from bout_runners.runner.bout_runner import BoutRunner
BoutRunner().run()

The metadata from all the runs from this project can be found by executing

from bout_runners.metadata.status_checker import StatusChecker
status_checker = StatusChecker()
status_checker.check_and_update_status()
from bout_runners.metadata.metadata_reader import MetadataReader
metadata_reader = MetadataReader()
metadata = metadata_reader.get_all_metadata()

The metadata variable is a DataFrame, and contains the following table

run.id

run.latest_status

run.name

run.start_time

run.stop_time

run.submitted_time

all_boundaries.evolve_bndry

conduction.chi

file_modification.bout_git_sha

file_modification.bout_lib_modified

file_modification.project_executable_modified

file_modification.project_git_sha

file_modification.project_makefile_modified

global.append

global.async_send

global.datadir

global.dump_format

global.dump_on_restart

global.incintshear

global.mxg

global.myg

global.non_uniform

global.nout

global.optionfile

global.periodicx

global.restart

global.restart_format

global.settingsfile

global.stopcheck

global.timestep

global.twistshift

global.wall_limit

global.zmax

global.zmin

input.transform_from_field_aligned

mesh.calcparallelslices_on_communicate

mesh.dy

mesh.extrapolate_x

mesh.extrapolate_y

mesh.ixseps1

mesh.ixseps2

mesh.maxregionblocksize

mesh.nx

mesh.ny

mesh.nz

mesh.paralleltransform

mesh.staggergrids

mesh.symmetricglobalx

mesh.symmetricglobaly

mesh.type

mesh_ddz.fft_filter

output.enabled

output.floats

output.flush

output.flushfrequency

output.guards

output.init_missing

output.openclose

output.parallel

output.shiftinput

output.shiftoutput

restart.enabled

restart.floats

restart.flush

restart.flushfrequency

restart.guards

restart.init_missing

restart.openclose

restart.parallel

restart.shiftinput

restart.shiftoutput

solver.adams_moulton

solver.atol

solver.cvode_max_order

solver.cvode_stability_limit_detection

solver.diagnose

solver.func_iter

solver.is_nonsplit_model_diffusive

solver.max_timestep

solver.maxl

solver.min_timestep

solver.mms

solver.mms_initialise

solver.monitor_timestep

solver.mxorder

solver.mxstep

solver.nout

solver.output_step

solver.rtol

solver.start_timestep

solver.type

solver.use_jacobian

solver.use_precon

solver.use_vector_abstol

split.number_of_nodes

split.number_of_processors

split.processors_per_node

system_info.machine

system_info.node

system_info.processor

system_info.release

system_info.system

system_info.version

t.bndry_all

t.evolve_bndry

t.function

t.scale

0

1

complete

2020-06-09_07-14-39_981268

2020-06-09 07:14:53

2020-06-09 07:14:56

2020-06-09 07:14:52.943486

0

1.0

22c888152e49003c34723a2638504aabc25d87ba

2020-02-03 20:03:02.000000

2020-06-09 07:14:39.631118

22c888152e49003c34723a2638504aabc25d87ba

2020-02-03 19:48:41.000000

0

0

/root/bout-dev/examples/conduction/settings_run

nc

1

0

0

2

1

0

bout.inp

0

0

nc

bout.settings

0

0.1

0

-1

1

0

1

1

0.2

0

0

-1

-1

64

1

100

1

identity

0

1

1

bout

0

1

0

1

1

1

0

1

0

0

0

1

0

1

1

1

0

1

0

0

0

0

1e-12

-1

0

0

0

1

-1

5

-1

0

0

0

-1

500

0

0.1

1e-05

-1

cvode

0

0

0

1

1

1

x86_64

0f17950a0dcc

4.19.76-linuxkit

Linux

#1 SMP Tue May 26 11:42:35 UTC 2020

dirichlet_o4(0.0)

0

gauss(y-pi, 0.2)

1.0

Prerequisites

Installing

The package can be installed from pip

pip install bout-runners

Or from source

python setup.py install

After installation you can optionally call

bout_runners_config

in order to setup the path to your BOUT++ installation and to configure other parameters like logging.

Running the tests

The test suite can be executed through pytest or through codecov pytest-cov. Installation through

pip install pytest

or

pip install codecov pytest-cov

and run with

pytest

or

pytest --cov=./

respectively

Contributing

Please read CONTRIBUTING.rst for details about how to contribute.

Authors

  • Michael Løiten - Initial work

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU LESSER GENERAL PUBLIC LICENSE - see the LICENSE file for details

licence status

Acknowledgments

Metadata

Release files for bout-runners 2.0.0b0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bout-runners 2.0.0b0
File Size Uploaded
bout_runners-2.0.0b0.tar.gz 103.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bout-runners 2.0.0b0
File Interpreter ABI Platform
bout_runners-2.0.0b0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 255.1 kB

Release files / bout_runners-2.0.0b0.tar.gz

Download URL bout_runners-2.0.0b0.tar.gz
Size 103.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2790585813a341dbd5467b42c2388ee1858225725add6a98bdb84fffca044761
BLAKE2b-256 checksum
How to use checksums
080c9d4e865c2b2c6bf05ba5494d034b86a31d923233837913a10cc963b7bae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.0

Release files / bout_runners-2.0.0b0-py2.py3-none-any.whl

Download URL bout_runners-2.0.0b0-py2.py3-none-any.whl
Size 151.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
38833eba65238b140cfd7084152b782e162a9a16a144ab6ede2dacc9c3519688
BLAKE2b-256 checksum
How to use checksums
86177659959d2ba79b2880efb2fdcd919d556ce93b162a8fc43665cbae154639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page