Issues Running QLIMR Module

Greetings.

I am working on obtaining the neutron star mass and radius through the QLIMR module, and I am currently facing some issues and confusion from the documentation.

The first main issue I find is the input for the Equation of State “EoS” data. The documentation mentions two types of table inputs, one consisting with 10 columns, and the other with 2 columns for pressure and total energy only. Using the example data listed in the document, I am unable to obtain the output file using the 2 column table. While inputting the table with 10 columns I was able to obtain the output file (error output screenshot attached). Is there a way to only input the columns table only?

Secondly, I find some of the documentation a bit confusing on the requirements or with clarifications. I was not aware I needed a GitLab account to run the module (using the Docker container), causing a little confusion on what I needed to log in on. Then on the eos data naming, I was not sure whether the file should be called “eos” or “eos.csv”.

I understand these are small details, but have caused a some headache that I think some clarifications can help for new people attempting to install and utilize the module.

@carlosc7

Hi Jonathan,

Thank you for reaching out and for sharing your feedback — it’s much appreciated!

To clarify your first question: if you’re providing a 2-column Equation of State (EoS) table (total energy density \varepsilon and pressure p in MeV/fm^3), the file should be named eos_validated.csv and placed in the input folder. The QLIMR module assumes that any file with this name contains already validated data and will proceed accordingly without further checks.

If you’re using the MUSES format (with 10 columns), the expected filename is either eos.csv or eos.h5. Just make sure that if you’re using the .h5 option, the file is actually in HDF5 format — not just named with a .h5 extension — as the module expects a valid binary HDF5 structure. In this case, QLIMR handles the validation internally and extracts the necessary columns for the C++ backend to run.

Regarding the GitLab account: yes, an account is required if you’re pulling the container image from the GitLab container registry. This step is mentioned in the Detailed Running section of the documentation, though I understand how it could be missed — I’ll work on making that clearer in future updates.

I’ll also update the documentation to include these naming conventions and other details more explicitly, particularly in the example section, to help new users avoid similar confusion.

Thanks again for your feedback — it really helps improve the experience for everyone.

Best regards,
Carlos

I am another student from the same department, and was able to run the program using a directly downloaded MUSES-Porter that is indexed in $PYTHONPATH. However, the example EoS for QLIMR works only if it’s in CSV format.
As CSV:

% python3 qlimr.py --eos_name EoS

1) Validating input parameters provided

2) Preprocessing EoS input data file format

3) Executing QLIMR...


Warning: Final value of central energy density εc = inf is greater than the maximum value in energy density ε from the EoS table given.
Warning: Taking final value of energy density εc = 3785.83 [MeV/fm^3] equal to the maximum energy density data value ε from the EoS table.


**************************************************************************************** Observables Output ****************************************************************************************


εc [MeV/fm^3]	    R [km]		M [M☉]		    Ī [-]		λ̄ [-]		    Q̄ [-]		e/Ω [s]		    δReq/Ω² [km s²]	<δR>/Ω² [km s²]	    δM/Ω² [M☉ s²]

2.5000000000e+02    1.2390176380e+01    4.3550052863e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
2.5961023607e+02    1.2287175717e+01    4.6830606732e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
2.6922047214e+02    1.2205219419e+01    5.0176810142e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
2.7883070821e+02    1.2140050080e+01    5.3570844099e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
2.8844094428e+02    1.2088242717e+01    5.6993333245e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
2.9952888655e+02    1.2041289200e+01    6.0964130063e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.1061682881e+02    1.2004626001e+01    6.4969407399e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.2170477108e+02    1.1975906798e+01    6.8989007639e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.3279271335e+02    1.1953286846e+01    7.3000360360e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.4558557950e+02    1.1932812297e+01    7.7589453115e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.5837844565e+02    1.1916483088e+01    8.2143141086e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.7117131180e+02    1.1902941418e+01    8.6654493609e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.8396417795e+02    1.1891234219e+01    9.1098824115e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.9134415073e+02    1.1885016966e+01    9.3622934404e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
3.9872412352e+02    1.1879038910e+01    9.6113240762e-01    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
4.1348406909e+02    1.1867338000e+01    1.0101172548e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
4.2824401466e+02    1.1855495671e+01    1.0579140887e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
4.4300396023e+02    1.1843123852e+01    1.1043228895e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
4.5151870550e+02    1.1835640026e+01    1.1303934023e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
4.6003345078e+02    1.1827835112e+01    1.1559821582e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
4.7706294133e+02    1.1811113935e+01    1.2057976685e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
4.9409243188e+02    1.1792853115e+01    1.2536317307e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
5.1112192243e+02    1.1773062764e+01    1.2993224081e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
5.2094592710e+02    1.1760920819e+01    1.3247716219e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
5.3076993177e+02    1.1748243147e+01    1.3495862436e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
5.5041794111e+02    1.1721404807e+01    1.3972012179e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
5.7006595045e+02    1.1692833299e+01    1.4419811051e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
5.8971395979e+02    1.1662697971e+01    1.4840035275e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
6.1238312126e+02    1.1626037711e+01    1.5294128668e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
6.3505228273e+02    1.1587420655e+01    1.5718742359e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
6.5772144420e+02    1.1546902963e+01    1.6117349041e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
6.8039060567e+02    1.1505141225e+01    1.6487678663e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
7.0654546303e+02    1.1456335237e+01    1.6877220454e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
7.3270032039e+02    1.1406948620e+01    1.7231010865e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
7.5885517775e+02    1.1356787107e+01    1.7554866370e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
7.8501003511e+02    1.1305839201e+01    1.7852490853e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
8.1518656213e+02    1.1246630144e+01    1.8164442647e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
8.4536308915e+02    1.1187533126e+01    1.8444281202e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
9.0571614319e+02    1.1070251112e+01    1.8920953248e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
9.7534931077e+02    1.0937837925e+01    1.9355677553e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
1.0449824784e+03    1.0810676988e+01    1.9689030403e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
1.2056629313e+03    1.0538703607e+01    2.0182675411e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
1.3910502175e+03    1.0263881992e+01    2.0443725130e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 
1.6049433531e+03    9.9935029931e+00    2.0518368100e+00    nan                 nan                 nan                 nan                 nan                 nan                 nan                 


****************************************************************************************************************************************************************************************************


Rstart: 1.2390176380e+01 [km]
Mstart: 4.3550052863e-01 [M☉]

Rmin:   1.2390176380e+01 [km]
Mmin:   4.3550052863e-01 [M☉]
Rmax:   9.9935029931e+00 [km]
Mmax:   2.0518368100e+00 [M☉]


EXECUTION COMPLETED! 

4) Postprocessing output data file format

As HDF5:

% python3 qlimr.py --eos_name EoS

1) Validating input parameters provided

2) Preprocessing EoS input data file format

Traceback (most recent call last):
  File "/Users/gabefrohaug/qlimr/src/preprocess.py", line 86, in <module>
    main()
    ~~~~^^
  File "/Users/gabefrohaug/qlimr/src/preprocess.py", line 59, in main
    porter.import_table(
    ~~~~~~~~~~~~~~~~~~~^
    "../input/eos.h5",
    ^^^^^^^^^^^^^^^^^^
    ...<6 lines>...
    verbose=False,
    ^^^^^^^^^^^^^^
    )
    ^
  File "/Users/gabefrohaug/common-main/Porter/src/muses_porter/porter.py", line 580, in import_table
    self.import_HDF5(filename, group=group, dropna=dropna)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gabefrohaug/common-main/Porter/src/muses_porter/porter.py", line 295, in import_HDF5
    with h5py.File(filename, "r") as f:
         ~~~~~~~~~^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/native/lib/python3.13/site-packages/h5py/_hl/files.py", line 564, in __init__
    fid = make_fid(name, mode, userblock_size, fapl, fcpl, swmr=swmr)
  File "/opt/anaconda3/envs/native/lib/python3.13/site-packages/h5py/_hl/files.py", line 238, in make_fid
    fid = h5f.open(name, flags, fapl=fapl)
  File "h5py/_objects.pyx", line 56, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 57, in h5py._objects.with_phil.wrapper
  File "h5py/h5f.pyx", line 102, in h5py.h5f.open
OSError: Unable to synchronously open file (file signature not found)

If I run the test program for MUSES_Porter, I get a completely different error, but also involving h5py:

% python3 tests/TestPorter.py
...E................
======================================================================
ERROR: test_export_HDF5_string_content (__main__.TestPorterValidation.test_export_HDF5_string_content)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/gabefrohaug/common-main/Porter/tests/TestPorter.py", line 212, in test_export_HDF5_string_content
    self.porter.export_HDF5(filename, group='test')
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gabefrohaug/common-main/Porter/src/muses_porter/porter.py", line 342, in export_HDF5
    eos_group.create_dataset(col, data=self.data[col].values, dtype=dtype)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/native/lib/python3.13/site-packages/h5py/_hl/group.py", line 186, in create_dataset
    dsid = dataset.make_new_dset(group, shape, dtype, data, name, **kwds)
  File "/opt/anaconda3/envs/native/lib/python3.13/site-packages/h5py/_hl/dataset.py", line 88, in make_new_dset
    tid = h5t.py_create(dtype, logical=1)
  File "h5py/h5t.pyx", line 1680, in h5py.h5t.py_create
  File "h5py/h5t.pyx", line 1704, in h5py.h5t.py_create
  File "h5py/h5t.pyx", line 1777, in h5py.h5t.py_create
TypeError: No conversion path for dtype: dtype('<U')

----------------------------------------------------------------------
Ran 20 tests in 0.019s

FAILED (errors=1)
(native) gabefrohaug@Gabes-MacBook-Pro-3 Porter % python tests/TestPorter.py 
...E................
======================================================================
ERROR: test_export_HDF5_string_content (__main__.TestPorterValidation.test_export_HDF5_string_content)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/gabefrohaug/common-main/Porter/tests/TestPorter.py", line 212, in test_export_HDF5_string_content
    self.porter.export_HDF5(filename, group='test')
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gabefrohaug/common-main/Porter/src/muses_porter/porter.py", line 342, in export_HDF5
    eos_group.create_dataset(col, data=self.data[col].values, dtype=dtype)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/native/lib/python3.13/site-packages/h5py/_hl/group.py", line 186, in create_dataset
    dsid = dataset.make_new_dset(group, shape, dtype, data, name, **kwds)
  File "/opt/anaconda3/envs/native/lib/python3.13/site-packages/h5py/_hl/dataset.py", line 88, in make_new_dset
    tid = h5t.py_create(dtype, logical=1)
  File "h5py/h5t.pyx", line 1680, in h5py.h5t.py_create
  File "h5py/h5t.pyx", line 1704, in h5py.h5t.py_create
  File "h5py/h5t.pyx", line 1777, in h5py.h5t.py_create
TypeError: No conversion path for dtype: dtype('<U')

----------------------------------------------------------------------
Ran 20 tests in 0.025s

FAILED (errors=1)

It is apparently well-documented that h5Py can’t parse NumPy arrays of string datatype, but it should be being parsed as an array of double-precision floats.

Thanks for reporting this @gabriel.frohaug , and welcome to the MUSES forum :wave: Hopefully either @cnc6 or @carlosc7 will take ownership of this and respond. They will determine whether this warrants a new issue in the Porter source code repo so that if it is a bug it can be tracked until fixed.