From 574b8a1a1dd9a6ffdf18cc2e500a4de1a834ff21 Mon Sep 17 00:00:00 2001 From: radek_poleski Date: Mon, 20 Jun 2022 20:07:57 +0200 Subject: [PATCH] ex16: _get_example_parameters() - moving fixed parameters to begin in order to prepare future commits --- examples/example_16/TO_DO.md | 1 + examples/example_16/ulens_model_fit.py | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/examples/example_16/TO_DO.md b/examples/example_16/TO_DO.md index c03ebc04..839e311b 100644 --- a/examples/example_16/TO_DO.md +++ b/examples/example_16/TO_DO.md @@ -12,6 +12,7 @@ - posterior files - print model - example with add_2450000: False +- yaml output in README.md # NOW - plot trajectory: - test if works in ulens_model_plot.py diff --git a/examples/example_16/ulens_model_fit.py b/examples/example_16/ulens_model_fit.py index 4a571ba9..e545fbd4 100644 --- a/examples/example_16/ulens_model_fit.py +++ b/examples/example_16/ulens_model_fit.py @@ -38,7 +38,7 @@ except Exception: raise ImportError('\nYou have to install MulensModel first!\n') -__version__ = '0.30.0' +__version__ = '0.30.1' class UlensModelFit(object): @@ -1498,19 +1498,24 @@ def _get_example_parameters(self): Generate parameters *dict* according to provided starting and fixed parameters. """ + if self._fixed_parameters is None: + parameters = dict() + else: + parameters = {**self._fixed_parameters} + if self._task == 'plot': - parameters = dict(zip( + parameters.update(dict(zip( self._model_parameters['parameters'], - self._model_parameters['values'])) + self._model_parameters['values']))) # XXX this is some kind of a hack: self._best_model_theta = [] self._fit_parameters = [] elif self._task == 'fit': if self._fit_method == 'EMCEE': - parameters = self._get_example_parameters_EMCEE() + parameters.update(self._get_example_parameters_EMCEE()) elif self._fit_method == 'MultiNest': means = 0.5 * (self._max_values + self._min_values) - parameters = dict(zip(self._fit_parameters, means)) + parameters.update(dict(zip(self._fit_parameters, means))) if "x_caustic_in" in self._fit_parameters: index = self._fit_parameters.index("x_caustic_in") parameters["x_caustic_in"] = ( @@ -1521,10 +1526,6 @@ def _get_example_parameters(self): else: raise ValueError('internal value') - if self._fixed_parameters is not None: - for (key, value) in self._fixed_parameters.items(): - parameters[key] = value - return parameters def _get_example_parameters_EMCEE(self):