This PR changes the cluster number counts likelihood workflow to support potentially more complex integrands.
Removed the Kernel abstract class and concept of a shared interface between components of the integrand.
The abstraction that this introduces doesn't fit well with the use case of kernels that may take an arbitrary number of arguments.
This includes removing the automated integrand building code from ClusterAbundance. The responsibility of assembling the integrand for the cluster number counts is now placed on the user in the form of ClusterRecipe
Added cluster_recipe module. This is where users can assemble a cluster number counts integrand using the pieces in firecrown.models.cluster
Updated the statistic to accept a cluster recipe.
Each cluster recipe defines (1) the statically typed method which computes a prediction for the number of clusters in redshift, richness bin and (2) the mapping from the numerical integrator to the statically typed integrand.
Added a pylint_plugins top level directory that enables ignoring of specific warnings on specific classes. Included an example to ignore the duplicate code warning (we agreed this should not apply to ClusterRecipe).
Removed old unused code
Added new tests.
Disabled the duplicate-code warning in tests, and too-few-public-methods in firecrown.
This PR changes the cluster number counts likelihood workflow to support potentially more complex integrands.
Kernel
abstract class and concept of a shared interface between components of the integrand.ClusterAbundance
. The responsibility of assembling the integrand for the cluster number counts is now placed on the user in the form ofClusterRecipe
cluster_recipe
module. This is where users can assemble a cluster number counts integrand using the pieces in firecrown.models.clusterpylint_plugins
top level directory that enables ignoring of specific warnings on specific classes. Included an example to ignore the duplicate code warning (we agreed this should not apply toClusterRecipe
).