HESMA file format reader and writer
Project description
Hesmapy
HESMA Python - Tools for reading HESMA models
Documentation
Full documentation can be found here.
Installation
Currently, the package is only available through pip
.
pip install hesmapy
In case you want to build the documentation, you'll need to install the optional dependencies as well.
See pyproject.toml
for a list of needed packages (mostly sphinx
related packages)
Contents
hesmapy
contains three main modules, one for each of the main HESMA categories (Hydro, RT, Tracer).
It provides utilties to read and write files in the standardised HESMA file formats, as well as
some utilities such as plotting. These utilities are mostly intended for use by HESMA itself and
might be rather limited in their functionality.
Hydro
Hydro1D
This module contains the tools for one-dimensional hydro models. See below for some basic usage examples.
Loading models:
import hesmapy.base as hp
model = hp.load_hydro_1d("examples/hydro/hydro_1d.json")
Get the data from a model as a pd.DataFrame
:
df = model.get_data()
Plot a model:
model.plot(show_plot=True)
Model files can be written by providing either a pd.DataFrame
, dict
or several np.ndarray
.
See the documentation for more details.
RT
Lightcurves
This module contains the tools for lightcurves and data derived from them. See below for some basic usage examples.
Loading models:
import hesmapy.base as hp
model = hp.load_rt_lightcurve("examples/rt/rt_lightcurve.json")
Get the data from a model as a pd.DataFrame
:
df = model.get_data()
Plot a model:
model.plot(show_plot=True)
Spectra
This module contains the tools for spectra(l timeseries). See below for some basic usage examples.
Loading models:
import hesmapy.base as hp
model = hp.load_rt_spectrum("examples/rt/rt_spectrum.json")
Get the data from a model as a list of pd.DataFrame
(one for each timestep):
dfs = model.get_data()
Plot a model:
model.plot(show_plot=True)``````
Model files can be written by providing either a ``pd.DataFrame``, ``dict`` or several ``np.ndarray``.
See the documentation for more details.
### Tracer
*(Not yet implemented)*