The write function

pesummary provides functionality to save samples in nearly all result file formats. This is done with the function. Below we show how the write function works.

Creating a result file

In order to first use PESummary, you need a result file which is compatible. The current allowed formats are hdf5/h5, JSON, dat and txt but if you would prefer to have a file format that is not one of these, raise an issue and we will add this feature!

First, let us generate some random samples:

>>> samples = {
...     "a": np.random.uniform(10, 1, 100),
...     "b": np.random.uniform(5, 2, 100),
... }

The function requires a list of parameters and a 2d list of samples, where the columns correspond to the samples for a given parameter. Therefore,

>>> parameters = list(samples.keys())
>>> samples_array = np.array([samples[param] for param in parameters]).T

We may now save the samples with the following,

>>> from import write
>>> write(parameters, samples_array, package="core", file_format="dat", filename="example.dat")

The contents of which is simply:

$ head -n 5 example.dat
a   b
7.456794389738383266e+00    2.875315515644248254e+00
9.666238149526694912e+00    4.035072370273886655e+00
2.297477206764988011e+00    4.091785657314235713e+00
3.419056390335218687e+00    3.289249670307629714e+00

Alternative file formats may be chosen by changing the file_format keyword argument.