Skip to main content

Running, analysing and plotting Chombo simulations

Project description

ChomboPy

This package contains tools for running, analysing, and plotting Chombo simulations.

Examples

Inputs

Chombo input files can be read and written using some utility functions

from chombopy.inputs import read_inputs, write_inputs
inputs = read_inputs('/path/to/inputs')

# inputs is a dictionary, with the key values converted to appropriate python objects:
print(inputs['main.num_cells']) # e.g. [16, 16, 16]
print(inputs['main.verbosity']) # e.g. 3
print(inputs['main.plt_prefix']) # e.g. 'plt'

# You can alter the values
inputs['main.verbosity'] = 0

# And write the file back out
write_inputs('/path/to/new_inputs', inputs)

Plot files

Chombo plot files can be read using the PltFile class:

from chombopy.plotting import PltFile
import matplotlib.pyplot as plt

pf = PltFile('/path/to/file.hdf5')
pf.load_data()

# Get data for the temperature variable on level 2
temperature = pf.get_level_data('Temperature', 2)

# temperature is an xarray.DataSet object, which can be plotted using matplotlib
x = temperature.coords['x']
y = temperature.coords['y']
plt.pcolormesh(x, y, temperature)

# Or you can do some analysis using the xarray/numpy functionality
print(temperature.mean())

Documentation

Further documentation can be found online. To compile the documentation locally, get the code and setup a virtual environment:

$ git clone https://github.com/jrgparkinson/chombopy.git
$ cd chombopy
$ python3 -m venv .venv
$ source .venv/bin/activate
$ python setup.py install

Then to build the documentation with Sphinx:

$ cd docs
$ make html

Testing

Unit tests can be run in a similar way to building the documentation. Having got a copy of the code and setup a virtual environment, from the root directory (i.e. /path/to/chombopy), simply run the following from your virtual environment

$ python setup.py install
$ py.test

Code coverage will be published to chombopy/docs/test/coverage.html, and test results to chombopy/docs/test/report.html.

Project details


Download files

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

Files for chombopy, version 0.1.5
Filename, size File type Python version Upload date Hashes
Filename, size chombopy-0.1.5-py3.7.egg (29.4 kB) File type Egg Python version 3.7 Upload date Hashes View
Filename, size chombopy-0.1.5-py3-none-any.whl (15.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size chombopy-0.1.5.tar.gz (14.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page