diff --git a/bilby/core/utils.py b/bilby/core/utils.py index 6797fe821a96081db920daba9697c5daebbe83ce..d4704ae5f92e3cfdd34d0adc45501d437260ae5b 100644 --- a/bilby/core/utils.py +++ b/bilby/core/utils.py @@ -1236,6 +1236,13 @@ def kish_log_effective_sample_size(ln_weights): return log_n_eff +def get_function_path(func): + if hasattr(func, "__module__") and hasattr(func, "__name__"): + return "{}.{}".format(func.__module__, func.__name__) + else: + return func + + class IllegalDurationAndSamplingFrequencyException(Exception): pass diff --git a/bilby/gw/likelihood.py b/bilby/gw/likelihood.py index 25d0c37ee3883d364f82c6fc7016ecedfd95cd8a..f32917775fa05c415dd8368ff54fcabc1fd94bce 100644 --- a/bilby/gw/likelihood.py +++ b/bilby/gw/likelihood.py @@ -196,7 +196,7 @@ class GravitationalWaveTransient(Likelihood): "The waveform_generator {} is None. Setting from the " "provided interferometers.".format(attr)) elif wfg_attr != ifo_attr: - logger.warning( + logger.debug( "The waveform_generator {} is not equal to that of the " "provided interferometers. Overwriting the " "waveform_generator.".format(attr)) diff --git a/bilby/gw/waveform_generator.py b/bilby/gw/waveform_generator.py index ace0703537afbe525e9abaee9fbd3cb997b7b0ce..89432314bfddaa588329c9ebf9384b07ad5bae95 100644 --- a/bilby/gw/waveform_generator.py +++ b/bilby/gw/waveform_generator.py @@ -3,6 +3,7 @@ import numpy as np from ..core import utils from ..core.series import CoupledTimeAndFrequencySeries from .utils import PropertyAccessor +from .conversion import convert_to_lal_binary_black_hole_parameters class WaveformGenerator(object): @@ -57,7 +58,7 @@ class WaveformGenerator(object): self.time_domain_source_model = time_domain_source_model self.source_parameter_keys = self.__parameters_from_source_model() if parameter_conversion is None: - self.parameter_conversion = _default_parameter_conversion + self.parameter_conversion = convert_to_lal_binary_black_hole_parameters else: self.parameter_conversion = parameter_conversion if waveform_arguments is not None: @@ -67,6 +68,15 @@ class WaveformGenerator(object): if isinstance(parameters, dict): self.parameters = parameters self._cache = dict(parameters=None, waveform=None, model=None) + utils.logger.info( + "Waveform generator initiated with\n" + " frequency_domain_source_model: {}\n" + " frequency_domain_source_model: {}\n" + " parameter_conversion: {}" + .format(utils.get_function_path(self.frequency_domain_source_model), + utils.get_function_path(self.time_domain_source_model), + utils.get_function_path(self.parameter_conversion)) + ) def __repr__(self): if self.frequency_domain_source_model is not None: @@ -77,7 +87,7 @@ class WaveformGenerator(object): tdsm_name = self.time_domain_source_model.__name__ else: tdsm_name = None - if self.parameter_conversion.__name__ == '_default_parameter_conversion': + if self.parameter_conversion is None: param_conv_name = None else: param_conv_name = self.parameter_conversion.__name__ @@ -237,7 +247,3 @@ class WaveformGenerator(object): raise AttributeError('Either time or frequency domain source ' 'model must be provided.') return set(utils.infer_parameters_from_function(model)) - - -def _default_parameter_conversion(parmeters): - return parmeters, list() diff --git a/test/waveform_generator_test.py b/test/waveform_generator_test.py index 69e3112c07ea995492689fdca5ee40c83a64a0f1..d759c2f9367f7644cdf457b27050aba4a671747f 100644 --- a/test/waveform_generator_test.py +++ b/test/waveform_generator_test.py @@ -73,7 +73,7 @@ class TestWaveformGeneratorInstantiationWithoutOptionalParameters(unittest.TestC self.waveform_generator.start_time, self.waveform_generator.frequency_domain_source_model.__name__, self.waveform_generator.time_domain_source_model, - None, + bilby.gw.conversion.convert_to_lal_binary_black_hole_parameters.__name__, self.waveform_generator.waveform_arguments, ) ) @@ -92,7 +92,7 @@ class TestWaveformGeneratorInstantiationWithoutOptionalParameters(unittest.TestC self.waveform_generator.start_time, self.waveform_generator.frequency_domain_source_model, self.waveform_generator.time_domain_source_model.__name__, - None, + bilby.gw.conversion.convert_to_lal_binary_black_hole_parameters.__name__, self.waveform_generator.waveform_arguments, ) )