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.

Source Distribution

chombopy-0.2.0.tar.gz (14.9 kB view hashes)

Uploaded Source

Built Distributions

chombopy-0.2.0-py3.7.egg (29.5 kB view hashes)

Uploaded Source

chombopy-0.2.0-py3-none-any.whl (15.2 kB view hashes)

Uploaded Python 3

Supported by

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