diff --git a/bilby/core/sampler/pymultinest.py b/bilby/core/sampler/pymultinest.py index e33c6cf0d29fac9d143ad06c6670eac671d08716..28f9533fe7995c2a21b283cd578f168fe6c1a7c9 100644 --- a/bilby/core/sampler/pymultinest.py +++ b/bilby/core/sampler/pymultinest.py @@ -81,6 +81,10 @@ class Pymultinest(NestedSampler): .format(self.kwargs['outputfiles_basename'])) check_directory_exists_and_if_not_mkdir( self.kwargs['outputfiles_basename']) + + # for PyMultiNest >=2.9 the n_params kwarg cannot be None + if self.kwargs["n_params"] is None: + self.kwargs["n_params"] = self.ndim NestedSampler._verify_kwargs_against_default_kwargs(self) def _apply_multinest_boundaries(self): diff --git a/test/sampler_test.py b/test/sampler_test.py index 43d3c0ded5e62793330cfb9718676acfbf737b1a..7a80eac6fd8d838604b59aca2d873e7328db5120 100644 --- a/test/sampler_test.py +++ b/test/sampler_test.py @@ -481,7 +481,7 @@ class TestPymultinest(unittest.TestCase): expected = dict(importance_nested_sampling=False, resume=True, verbose=True, sampling_efficiency='parameter', outputfiles_basename='outdir/pm_label/', - n_live_points=500, n_params=None, + n_live_points=500, n_params=2, n_clustering_params=None, wrapped_params=None, multimodal=True, const_efficiency_mode=False, evidence_tolerance=0.5, @@ -497,7 +497,7 @@ class TestPymultinest(unittest.TestCase): expected = dict(importance_nested_sampling=False, resume=True, verbose=True, sampling_efficiency='parameter', outputfiles_basename='outdir/pm_label/', - n_live_points=123, n_params=None, + n_live_points=123, n_params=2, n_clustering_params=None, wrapped_params=None, multimodal=True, const_efficiency_mode=False, evidence_tolerance=0.5,