opened
NGillet
username_0
In each of the different likelihood modules already written, the verification of the provided linked core is different. 
Some of them are done in the setup, in others, the check is done directly in the compute_likelihood, or even in the reduce data. Also, because of this variety of methods, I do not understand how the required_core works. In most of them, I think it is not used.

It would be better to have one fix method to check for the needed cores and stick to it.
[Feature Req.] Clarification of CoreModule verification in LikelihoodModules
issue
created
steven-murray
username_1
Absolutely agree. I think I can fix this pretty easily -- hopefully tomorrow!
comment
created
steven-murray
username_1
OK, so it's been more than one day. I checked through, and I think the following is happening:

All `Core`s and `Likelihood`s are checking their `required_cores` during `setup()`. None of the `Core`s do anything else about checking cores. 

However some `Likelihood`s don't actually set their `required_cores` (so the check always works), but then raise errors elsewhere by, for example, checking the contents of `_cores`. The reason for this is that in those cases, the requirement is that the core by _either_ one or the other, which the default mechanism for checking cores doesn't recognize. So that is just a workaround. 

I guess it would be better to make the checking mechanism inherently handle this case, rather than using a workaround. I'll try to do that.
comment
closed
steven-murray
username_1
issue