LSSTDESC / CCL

DESC Core Cosmology Library: cosmology routines with validated numerical accuracy
BSD 3-Clause "New" or "Revised" License
144 stars 64 forks source link

Some tests failing on Mac #735

Closed elisachisari closed 4 years ago

elisachisari commented 4 years ago

I'm using CCL on macOS Mojave 10.14.6 and running into some benchmark test failures. Here is the indicated platform at the beginning of the test run: platform darwin -- Python 3.7.5, pytest-5.3.2, py-1.8.0, pluggy-0.13.1 -- /usr/local/opt/python/bin/python3.7 Further details: my python is 3.7.5, camb is 1.0.12 and classy is 2.8.2. The following ones are not passing: benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_de[kwargs0] FAILED benchmarks/test_power_nu.py::test_power_nu[0] FAILED benchmarks/test_power_nu.py::test_power_nu[1] FAILED benchmarks/test_power_nu.py::test_power_nu[2] FAILED Full report attached log.txt Essentially, tolerances are exceeded. This is probably the same reason that some of the benchmark plots in PR #705 are above tolerance.

elisachisari commented 4 years ago

I had a similar situation with a different Mac system (Sierra 10.12.6): platform darwin -- Python 3.6.8, pytest-5.2.1, py-1.8.0, pluggy-0.13.0 -- /Users/elisa/anaconda/envs/ipykernel_py3/bin/python where now three of the new FAST-PT tests are failing to meet the desired accuracy. Log attached. log.txt

rmjarvis commented 4 years ago

Welcome to the fun world of portability testing. :)

There are lots of things that can cause tests to fail on one system when they pass on other (even lots of other) systems.

  1. Versions of dependencies. E.g. numpy, gsl, etc. They may have fixed a bug, changed some subtle aspect of the API, etc., which causes the code to fail for one version but not others. This is the first thing I check when I run across portability issues is check the versions of everything and see if any are potential culprits.
  2. System architecture. Different architectures do slightly different things numerically. So you cannot guarantee things to reproduce at the 1.e-16 level from one system to the next. Usually this per se isn't a problem (we rarely test things at that kind of accuracy), but that difference can cause results to switch from one bin to the next, or cascade into larger errors when nearly singular matrices are involved, etc. These kinds of issues are harder to track down. I often add print statement to write out the intermediate calculations along the way on two systems and look for the first difference. Sometimes this can find it. If this is the problem, you usually need to redesign your test to be robust to this kind of numerical difference.
  3. Compiler (or version thereof). These are really ugly to track down, so hopefully it's not this. But I have come across bugs in compilers where they would produce wrong code for a particular code pattern. In my experience gcc will never respond substantively to a bug report (other than confirming that they can reproduce the error), but some years later they will find that the latest gcc doesn't have the bug any more (magic!) and they close the issue. The solution if this turns out to be the problem is to rewrite the code to avoid the bug. Like I said, hopefully this isn't it!
elisachisari commented 4 years ago

Another report of failed tests like the first message in this thread, provided by @mishakb:

ishak@mishak-latitude:~/DEV/CCL$ pytest -vv benchmarks/
======================================= test session starts ========================================
platform linux -- Python 3.7.3, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /home/mishak/DEV/CCL
collected 325 items  
elisachisari commented 4 years ago

Trying different numpy versions allowed me to rule out numpy as the source of this problems so far.

jablazek commented 4 years ago

@elisachisari : do you have a log from after the merge of PT?

elisachisari commented 4 years ago

Yes, here it is: log2.txt

rmjarvis commented 4 years ago

After working on this a bit with @mishakb, we think the CLASS version may be the culprit. I tried all versions of class from 2.7.2 (the one Travis uses) through the latest, 2.9.3. The failures only happen for 2.8.0 through 2.9.0, all with the same failures:

============================================= FAILURES =============================================
______________________________ test_camb_class_consistent_de[kwargs0] ______________________________

kwargs = {'w0': -0.9, 'wa': 0.0}

    @pytest.mark.parametrize('kwargs', [
        dict(w0=-0.9, wa=0.0),
        dict(w0=-0.9, wa=-0.1)])
    def test_camb_class_consistent_de(kwargs):
>       test_camb_class_consistent_smoke(kwargs=kwargs, pkerr=1e-3)

benchmarks/test_camb_class_consistent.py:54: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

kwargs = {'w0': -0.9, 'wa': 0.0}, pkerr = 0.001

    def test_camb_class_consistent_smoke(kwargs=None, pkerr=1e-3):
        kwargs = kwargs or {}
        print('kwargs:', kwargs)

        c_camb = ccl.Cosmology(
            Omega_c=0.25, Omega_b=0.05, h=0.7, n_s=0.95, A_s=2e-9,
            transfer_function='boltzmann_camb', **kwargs)

        c_class = ccl.Cosmology(
            Omega_c=0.25, Omega_b=0.05, h=0.7, n_s=0.95, A_s=2e-9,
            transfer_function='boltzmann_class', **kwargs)

        print('ccl.sigma8(c_camb) = ',ccl.sigma8(c_camb))
        print('ccl.sigma8(c_class) = ',ccl.sigma8(c_class))
        rel_sigma8 = np.abs(ccl.sigma8(c_camb) / ccl.sigma8(c_class) - 1)

        a = 0.845
        k = np.logspace(-3, 1, 100)
        print('c_camb = ',repr(c_camb))
        print('k = ',repr(k))
        print('a = ',repr(a))
        print('c_class = ',repr(c_class))
        pk_camb = ccl.linear_matter_power(c_camb, k, a)
        print('pk_camb = ',repr(pk_camb))
        pk_class = ccl.linear_matter_power(c_class, k, a)
        print('pk_class = ',repr(pk_class))
        rel_pk = np.max(np.abs(pk_camb / pk_class - 1))

        print('rel err pk:', rel_pk)
        print('rel err sigma8:', rel_sigma8)

        assert rel_sigma8 < 3e-3
>       assert rel_pk < pkerr
E       assert 0.0010143044080013208 < 0.001

benchmarks/test_camb_class_consistent.py:39: AssertionError
--------------------------------------- Captured stdout call ---------------------------------------
kwargs: {'w0': -0.9, 'wa': 0.0}
rel err pk: 0.0010143044080013208
rel err sigma8: 8.5347734384289e-05
_________________________________________ test_power_nu[0] _________________________________________

model = 0

    @pytest.mark.parametrize('model', [0, 1, 2])
    def test_power_nu(model):
        mnu = [[0.04, 0., 0.],
               [0.05, 0.01, 0.],
               [0.03, 0.02, 0.04]]
        w_0 = [-1.0, -0.9, -0.9]
        w_a = [0.0, 0.0, 0.1]

        cosmo = ccl.Cosmology(
            Omega_c=0.25,
            Omega_b=0.05,
            h=0.7,
            A_s=2.1e-9,
            n_s=0.96,
            Neff=3.046,
            Omega_k=0,
            w0=w_0[model],
            wa=w_a[model],
            m_nu=mnu[model],
            m_nu_type='list',
            transfer_function='boltzmann_class')

        a = 1

        data_lin = np.loadtxt("./benchmarks/data/model%d_pk_nu.txt" % (model+1))
        k_lin = data_lin[:, 0] * cosmo['h']
        pk_lin = data_lin[:, 1] / (cosmo['h']**3)
        pk_lin_ccl = ccl.linear_matter_power(cosmo, k_lin, a)
        err = np.abs(pk_lin_ccl/pk_lin - 1)
>       assert np.allclose(err, 0, rtol=0, atol=POWER_NU_TOL)
E       assert False
E        +  where False = <function allclose at 0x10d35d0e0>(array([5.03197767e-05, 3.62518323e-05, 2.29830713e-05, 1.12004949e-05,\n       1.64469731e-06, 4.94886288e-09, 2.190930...7.01011003e-08, 1.63967303e-06, 4.97148338e-06, 9.33409700e-07,\n       3.38913561e-07, 3.13580314e-07, 2.90682023e-02]), 0, rtol=0, atol=0.001)
E        +    where <function allclose at 0x10d35d0e0> = np.allclose

benchmarks/test_power_nu.py:38: AssertionError
_________________________________________ test_power_nu[1] _________________________________________

model = 1

    @pytest.mark.parametrize('model', [0, 1, 2])
    def test_power_nu(model):
        mnu = [[0.04, 0., 0.],
               [0.05, 0.01, 0.],
               [0.03, 0.02, 0.04]]
        w_0 = [-1.0, -0.9, -0.9]
        w_a = [0.0, 0.0, 0.1]

        cosmo = ccl.Cosmology(
            Omega_c=0.25,
            Omega_b=0.05,
            h=0.7,
            A_s=2.1e-9,
            n_s=0.96,
            Neff=3.046,
            Omega_k=0,
            w0=w_0[model],
            wa=w_a[model],
            m_nu=mnu[model],
            m_nu_type='list',
            transfer_function='boltzmann_class')

        a = 1

        data_lin = np.loadtxt("./benchmarks/data/model%d_pk_nu.txt" % (model+1))
        k_lin = data_lin[:, 0] * cosmo['h']
        pk_lin = data_lin[:, 1] / (cosmo['h']**3)
        pk_lin_ccl = ccl.linear_matter_power(cosmo, k_lin, a)
        err = np.abs(pk_lin_ccl/pk_lin - 1)
>       assert np.allclose(err, 0, rtol=0, atol=POWER_NU_TOL)
E       assert False
E        +  where False = <function allclose at 0x10d35d0e0>(array([1.14375877e-04, 6.87584059e-05, 2.96891168e-05, 7.51271738e-07,\n       1.20723600e-05, 1.20952248e-05, 1.200781...2.30592907e-06, 2.24025674e-07, 1.36163022e-06, 9.10969946e-06,\n       1.28376935e-06, 8.36540784e-08, 2.92282705e-02]), 0, rtol=0, atol=0.001)
E        +    where <function allclose at 0x10d35d0e0> = np.allclose

benchmarks/test_power_nu.py:38: AssertionError
_________________________________________ test_power_nu[2] _________________________________________

model = 2

    @pytest.mark.parametrize('model', [0, 1, 2])
    def test_power_nu(model):
        mnu = [[0.04, 0., 0.],
               [0.05, 0.01, 0.],
               [0.03, 0.02, 0.04]]
        w_0 = [-1.0, -0.9, -0.9]
        w_a = [0.0, 0.0, 0.1]

        cosmo = ccl.Cosmology(
            Omega_c=0.25,
            Omega_b=0.05,
            h=0.7,
            A_s=2.1e-9,
            n_s=0.96,
            Neff=3.046,
            Omega_k=0,
            w0=w_0[model],
            wa=w_a[model],
            m_nu=mnu[model],
            m_nu_type='list',
            transfer_function='boltzmann_class')

        a = 1

        data_lin = np.loadtxt("./benchmarks/data/model%d_pk_nu.txt" % (model+1))
        k_lin = data_lin[:, 0] * cosmo['h']
        pk_lin = data_lin[:, 1] / (cosmo['h']**3)
        pk_lin_ccl = ccl.linear_matter_power(cosmo, k_lin, a)
        err = np.abs(pk_lin_ccl/pk_lin - 1)
>       assert np.allclose(err, 0, rtol=0, atol=POWER_NU_TOL)
E       assert False
E        +  where False = <function allclose at 0x10d35d0e0>(array([1.69176353e-04, 1.03262628e-04, 4.62915428e-05, 3.64763900e-06,\n       1.65211885e-05, 1.68951034e-05, 1.680013...3.45068260e-06, 3.40620905e-06, 1.13832915e-06, 6.82980624e-06,\n       4.77347905e-06, 2.75716050e-09, 2.91801210e-02]), 0, rtol=0, atol=0.001)
E        +    where <function allclose at 0x10d35d0e0> = np.allclose

benchmarks/test_power_nu.py:38: AssertionError

2.7.2 passes. And 2.9.1 -- 2.9.3 pass.

It's above my pay grade to determine if this was really a bug in CLASS that got fixed, but that's what it smells like to me.

c-d-leonard commented 4 years ago

@rmjarvis @mishakb Thanks so much for tracking this down, great work. @elisachisari - could you possibly check the version of class on the computer where you are seeing failures? I think if you find you have one of the failing versions, and changes to a passing version resolves the issue on your system, we an call it a day.

mishakb commented 4 years ago

Hi @c-d-leonard @elisachisari @rmjarvis: I think we may be able to celebrate!!! (if Elisa confirms as well). I had class 2.9.0 when 4 tests failed. I updated to class 2.9.3 and all 360 tests pass now!

mishakb commented 4 years ago

Here is the output file:

============================= test session starts ============================== platform linux -- Python 3.7.3, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /home/mishak/DEV/CCL collecting ... collected 360 items

benchmarks/test_bbks.py::test_bbks[1--1.0-0.0] PASSED [ 0%] benchmarks/test_bbks.py::test_bbks[2--0.9-0.0] PASSED [ 0%] benchmarks/test_bbks.py::test_bbks[3--0.9-0.1] PASSED [ 0%] benchmarks/test_bcm.py::test_bcm PASSED [ 1%] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_smoke PASSED [ 1%] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_nu[kwargs0] PASSED [ 1%] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_nu[kwargs1] PASSED [ 1%] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_nu[kwargs2] PASSED [ 2%] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_de[kwargs0] PASSED [ 2%] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_de[kwargs1] PASSED [ 2%] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_de_nu[kwargs0] PASSED [ 3%] benchmarks/test_cls.py::test_cls[analytic-g1-g1-dd_11-dd_11-dd_11-dd_11-dd_11-fl_one] PASSED [ 3%] benchmarks/test_cls.py::test_cls[analytic-g1-g2-dd_12-dd_11-dd_12-dd_12-dd_22-fl_one] PASSED [ 3%] benchmarks/test_cls.py::test_cls[analytic-g2-g2-dd_22-dd_22-dd_22-dd_22-dd_22-fl_one] PASSED [ 3%] benchmarks/test_cls.py::test_cls[analytic-g1-l1-dl_11-dd_11-dl_11-dl_11-ll_11-fl_dl] PASSED [ 4%] benchmarks/test_cls.py::test_cls[analytic-g1-l2-dl_12-dd_11-dl_12-dl_12-ll_22-fl_dl] PASSED [ 4%] benchmarks/test_cls.py::test_cls[analytic-g2-l1-dl_21-dd_22-dl_21-dl_21-ll_22-fl_dl] PASSED [ 4%] benchmarks/test_cls.py::test_cls[analytic-g2-l2-dl_22-dd_22-dl_22-dl_22-ii_22-fl_dl] PASSED [ 5%] benchmarks/test_cls.py::test_cls[analytic-g1-i1-di_11-dd_11-di_11-di_11-ii_11-fl_dl] PASSED [ 5%] benchmarks/test_cls.py::test_cls[analytic-g1-i2-di_12-dd_11-di_12-di_12-ii_22-fl_dl] PASSED [ 5%] benchmarks/test_cls.py::test_cls[analytic-g2-i1-di_21-dd_22-di_21-di_21-ii_22-fl_dl] PASSED [ 5%] benchmarks/test_cls.py::test_cls[analytic-g2-i2-di_22-dd_22-di_22-di_22-ii_22-fl_dl] PASSED [ 6%] benchmarks/test_cls.py::test_cls[analytic-g1-ct-dc_1-dd_11-dc_1-dc_1-cc-fl_one] PASSED [ 6%] benchmarks/test_cls.py::test_cls[analytic-g2-ct-dc_2-dd_22-dc_2-dc_2-cc-fl_one] PASSED [ 6%] benchmarks/test_cls.py::test_cls[analytic-l1-l1-ll_11-ll_11-ll_11-ll_11-ll_11-fl_ll] PASSED [ 6%] benchmarks/test_cls.py::test_cls[analytic-l1-l2-ll_12-ll_11-ll_12-ll_12-ll_22-fl_ll] PASSED [ 7%] benchmarks/test_cls.py::test_cls[analytic-l2-l2-ll_22-ll_22-ll_22-ll_22-ll_22-fl_ll] PASSED [ 7%] benchmarks/test_cls.py::test_cls[analytic-l1-i1-li_11-ii_11-li_11-li_11-ll_11-fl_li] PASSED [ 7%] benchmarks/test_cls.py::test_cls[analytic-l2-i2-li_22-ii_22-li_22-li_22-ll_22-fl_li] PASSED [ 8%] benchmarks/test_cls.py::test_cls[analytic-l1-ct-lc_1-ll_11-lc_1-lc_1-cc-fl_lc] PASSED [ 8%] benchmarks/test_cls.py::test_cls[analytic-l2-ct-lc_2-ll_22-lc_2-lc_2-cc-fl_lc] PASSED [ 8%] benchmarks/test_cls.py::test_cls[analytic-i1-i1-ii_11-ll_11-ll_11-ll_11-ll_11-fl_ll] PASSED [ 8%] benchmarks/test_cls.py::test_cls[analytic-i1-i2-ii_12-ll_11-ll_12-ll_12-ll_22-fl_ll] PASSED [ 9%] benchmarks/test_cls.py::test_cls[analytic-i2-i2-ii_22-ll_22-ll_22-ll_22-ll_22-fl_ll] PASSED [ 9%] benchmarks/test_cls.py::test_cls_spline[analytic-g1-g1-dd_11-dd_11-dd_11-dd_11-dd_11-fl_one] PASSED [ 9%] benchmarks/test_cls.py::test_cls_spline[analytic-g1-g2-dd_12-dd_11-dd_12-dd_12-dd_22-fl_one] PASSED [ 10%] benchmarks/test_cls.py::test_cls_spline[analytic-l2-l2-ll_22-ll_22-ll_22-ll_22-ll_22-fl_ll] PASSED [ 10%] benchmarks/test_cls.py::test_cls[histo-g1-g1-dd_11-dd_11-dd_11-dd_11-dd_11-fl_one] PASSED [ 10%] benchmarks/test_cls.py::test_cls[histo-g1-g2-dd_12-dd_11-dd_12-dd_12-dd_22-fl_one] PASSED [ 10%] benchmarks/test_cls.py::test_cls[histo-g2-g2-dd_22-dd_22-dd_22-dd_22-dd_22-fl_one] PASSED [ 11%] benchmarks/test_cls.py::test_cls[histo-g1-l1-dl_11-dd_11-dl_11-dl_11-ll_11-fl_dl] PASSED [ 11%] benchmarks/test_cls.py::test_cls[histo-g1-l2-dl_12-dd_11-dl_12-dl_12-ll_22-fl_dl] PASSED [ 11%] benchmarks/test_cls.py::test_cls[histo-g2-l1-dl_21-dd_22-dl_21-dl_21-ll_22-fl_dl] PASSED [ 11%] benchmarks/test_cls.py::test_cls[histo-g2-l2-dl_22-dd_22-dl_22-dl_22-ii_22-fl_dl] PASSED [ 12%] benchmarks/test_cls.py::test_cls[histo-g1-i1-di_11-dd_11-di_11-di_11-ii_11-fl_dl] PASSED [ 12%] benchmarks/test_cls.py::test_cls[histo-g1-i2-di_12-dd_11-di_12-di_12-ii_22-fl_dl] PASSED [ 12%] benchmarks/test_cls.py::test_cls[histo-g2-i1-di_21-dd_22-di_21-di_21-ii_22-fl_dl] PASSED [ 13%] benchmarks/test_cls.py::test_cls[histo-g2-i2-di_22-dd_22-di_22-di_22-ii_22-fl_dl] PASSED [ 13%] benchmarks/test_cls.py::test_cls[histo-g1-ct-dc_1-dd_11-dc_1-dc_1-cc-fl_one] PASSED [ 13%] benchmarks/test_cls.py::test_cls[histo-g2-ct-dc_2-dd_22-dc_2-dc_2-cc-fl_one] PASSED [ 13%] benchmarks/test_cls.py::test_cls[histo-l1-l1-ll_11-ll_11-ll_11-ll_11-ll_11-fl_ll] PASSED [ 14%] benchmarks/test_cls.py::test_cls[histo-l1-l2-ll_12-ll_11-ll_12-ll_12-ll_22-fl_ll] PASSED [ 14%] benchmarks/test_cls.py::test_cls[histo-l2-l2-ll_22-ll_22-ll_22-ll_22-ll_22-fl_ll] PASSED [ 14%] benchmarks/test_cls.py::test_cls[histo-l1-i1-li_11-ii_11-li_11-li_11-ll_11-fl_li] PASSED [ 15%] benchmarks/test_cls.py::test_cls[histo-l2-i2-li_22-ii_22-li_22-li_22-ll_22-fl_li] PASSED [ 15%] benchmarks/test_cls.py::test_cls[histo-l1-ct-lc_1-ll_11-lc_1-lc_1-cc-fl_lc] PASSED [ 15%] benchmarks/test_cls.py::test_cls[histo-l2-ct-lc_2-ll_22-lc_2-lc_2-cc-fl_lc] PASSED [ 15%] benchmarks/test_cls.py::test_cls[histo-i1-i1-ii_11-ll_11-ll_11-ll_11-ll_11-fl_ll] PASSED [ 16%] benchmarks/test_cls.py::test_cls[histo-i1-i2-ii_12-ll_11-ll_12-ll_12-ll_22-fl_ll] PASSED [ 16%] benchmarks/test_cls.py::test_cls[histo-i2-i2-ii_22-ll_22-ll_22-ll_22-ll_22-fl_ll] PASSED [ 16%] benchmarks/test_cls.py::test_cls_spline[histo-g1-g1-dd_11-dd_11-dd_11-dd_11-dd_11-fl_one] PASSED [ 16%] benchmarks/test_cls.py::test_cls_spline[histo-g1-g2-dd_12-dd_11-dd_12-dd_12-dd_22-fl_one] PASSED [ 17%] benchmarks/test_cls.py::test_cls_spline[histo-l2-l2-ll_22-ll_22-ll_22-ll_22-ll_22-fl_ll] PASSED [ 17%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g1-g1-dd_11-dd_11-NN-1] PASSED [ 17%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g2-g2-dd_22-dd_22-NN-1] PASSED [ 18%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g1-l1-dl_11-dl_11-NG-1] PASSED [ 18%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g1-l2-dl_12-dl_12-NG-1] PASSED [ 18%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g2-l1-dl_21-dl_21-NG-1] PASSED [ 18%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g2-l2-dl_22-dl_22-NG-1] PASSED [ 19%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g1-i1-di_11-dl_11-NG-1] PASSED [ 19%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g1-i2-di_12-dl_12-NG-1] PASSED [ 19%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g2-i1-di_21-dl_21-NG-1] PASSED [ 20%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-g2-i2-di_22-dl_22-NG-1] PASSED [ 20%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-l1-l1-ll_11_p-ll_11_p-GG+-1] PASSED [ 20%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-l1-l2-ll_12_p-ll_12_p-GG+-1] PASSED [ 20%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-l2-l2-ll_22_p-ll_22_p-GG+-1] PASSED [ 21%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-l1-l1-ll_11_m-ll_11_m-GG--1] PASSED [ 21%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-l1-l2-ll_12_m-ll_12_m-GG--1] PASSED [ 21%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-l2-l2-ll_22_m-ll_22_m-GG--1] PASSED [ 21%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i1-l1-li_11_p-ll_11_p-GG+-2] PASSED [ 22%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i1-l2-li_12_p-ll_11_p-GG+-1] PASSED [ 22%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i2-l2-li_22_p-ll_22_p-GG+-2] PASSED [ 22%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i1-l1-li_11_m-ll_11_m-GG--2] PASSED [ 23%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i1-l2-li_12_m-ll_11_m-GG--1] PASSED [ 23%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i2-l2-li_22_m-ll_22_m-GG--2] PASSED [ 23%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i1-i1-ii_11_p-ll_11_p-GG+-1] PASSED [ 23%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i1-i2-ii_12_p-ll_12_p-GG+-1] PASSED [ 24%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i2-i2-ii_22_p-ll_22_p-GG+-1] PASSED [ 24%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i1-i1-ii_11_m-ll_11_m-GG--1] PASSED [ 24%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i1-i2-ii_12_m-ll_12_m-GG--1] PASSED [ 25%] benchmarks/test_correlation.py::test_xi[analytic-fftlog-i2-i2-ii_22_m-ll_22_m-GG--1] PASSED [ 25%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g1-g1-dd_11-dd_11-NN-1] PASSED [ 25%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g2-g2-dd_22-dd_22-NN-1] PASSED [ 25%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g1-l1-dl_11-dl_11-NG-1] PASSED [ 26%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g1-l2-dl_12-dl_12-NG-1] PASSED [ 26%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g2-l1-dl_21-dl_21-NG-1] PASSED [ 26%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g2-l2-dl_22-dl_22-NG-1] PASSED [ 26%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g1-i1-di_11-dl_11-NG-1] PASSED [ 27%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g1-i2-di_12-dl_12-NG-1] PASSED [ 27%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g2-i1-di_21-dl_21-NG-1] PASSED [ 27%] benchmarks/test_correlation.py::test_xi[histo-fftlog-g2-i2-di_22-dl_22-NG-1] PASSED [ 28%] benchmarks/test_correlation.py::test_xi[histo-fftlog-l1-l1-ll_11_p-ll_11_p-GG+-1] PASSED [ 28%] benchmarks/test_correlation.py::test_xi[histo-fftlog-l1-l2-ll_12_p-ll_12_p-GG+-1] PASSED [ 28%] benchmarks/test_correlation.py::test_xi[histo-fftlog-l2-l2-ll_22_p-ll_22_p-GG+-1] PASSED [ 28%] benchmarks/test_correlation.py::test_xi[histo-fftlog-l1-l1-ll_11_m-ll_11_m-GG--1] PASSED [ 29%] benchmarks/test_correlation.py::test_xi[histo-fftlog-l1-l2-ll_12_m-ll_12_m-GG--1] PASSED [ 29%] benchmarks/test_correlation.py::test_xi[histo-fftlog-l2-l2-ll_22_m-ll_22_m-GG--1] PASSED [ 29%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i1-l1-li_11_p-ll_11_p-GG+-2] PASSED [ 30%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i1-l2-li_12_p-ll_11_p-GG+-1] PASSED [ 30%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i2-l2-li_22_p-ll_22_p-GG+-2] PASSED [ 30%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i1-l1-li_11_m-ll_11_m-GG--2] PASSED [ 30%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i1-l2-li_12_m-ll_11_m-GG--1] PASSED [ 31%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i2-l2-li_22_m-ll_22_m-GG--2] PASSED [ 31%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i1-i1-ii_11_p-ll_11_p-GG+-1] PASSED [ 31%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i1-i2-ii_12_p-ll_12_p-GG+-1] PASSED [ 31%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i2-i2-ii_22_p-ll_22_p-GG+-1] PASSED [ 32%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i1-i1-ii_11_m-ll_11_m-GG--1] PASSED [ 32%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i1-i2-ii_12_m-ll_12_m-GG--1] PASSED [ 32%] benchmarks/test_correlation.py::test_xi[histo-fftlog-i2-i2-ii_22_m-ll_22_m-GG--1] PASSED [ 33%] benchmarks/test_correlation.py::test_xi[histo-bessel-g1-g1-dd_11-dd_11-NN-1] PASSED [ 33%] benchmarks/test_correlation.py::test_xi[histo-bessel-g2-g2-dd_22-dd_22-NN-1] PASSED [ 33%] benchmarks/test_correlation.py::test_xi[histo-bessel-g1-l1-dl_11-dl_11-NG-1] PASSED [ 33%] benchmarks/test_correlation.py::test_xi[histo-bessel-g1-l2-dl_12-dl_12-NG-1] PASSED [ 34%] benchmarks/test_correlation.py::test_xi[histo-bessel-g2-l1-dl_21-dl_21-NG-1] PASSED [ 34%] benchmarks/test_correlation.py::test_xi[histo-bessel-g2-l2-dl_22-dl_22-NG-1] PASSED [ 34%] benchmarks/test_correlation.py::test_xi[histo-bessel-g1-i1-di_11-dl_11-NG-1] PASSED [ 35%] benchmarks/test_correlation.py::test_xi[histo-bessel-g1-i2-di_12-dl_12-NG-1] PASSED [ 35%] benchmarks/test_correlation.py::test_xi[histo-bessel-g2-i1-di_21-dl_21-NG-1] PASSED [ 35%] benchmarks/test_correlation.py::test_xi[histo-bessel-g2-i2-di_22-dl_22-NG-1] PASSED [ 35%] benchmarks/test_correlation.py::test_xi[histo-bessel-l1-l1-ll_11_p-ll_11_p-GG+-1] PASSED [ 36%] benchmarks/test_correlation.py::test_xi[histo-bessel-l1-l2-ll_12_p-ll_12_p-GG+-1] PASSED [ 36%] benchmarks/test_correlation.py::test_xi[histo-bessel-l2-l2-ll_22_p-ll_22_p-GG+-1] PASSED [ 36%] benchmarks/test_correlation.py::test_xi[histo-bessel-l1-l1-ll_11_m-ll_11_m-GG--1] PASSED [ 36%] benchmarks/test_correlation.py::test_xi[histo-bessel-l1-l2-ll_12_m-ll_12_m-GG--1] PASSED [ 37%] benchmarks/test_correlation.py::test_xi[histo-bessel-l2-l2-ll_22_m-ll_22_m-GG--1] PASSED [ 37%] benchmarks/test_correlation.py::test_xi[histo-bessel-i1-l1-li_11_p-ll_11_p-GG+-2] PASSED [ 37%] benchmarks/test_correlation.py::test_xi[histo-bessel-i1-l2-li_12_p-ll_11_p-GG+-1] PASSED [ 38%] benchmarks/test_correlation.py::test_xi[histo-bessel-i2-l2-li_22_p-ll_22_p-GG+-2] PASSED [ 38%] benchmarks/test_correlation.py::test_xi[histo-bessel-i1-l1-li_11_m-ll_11_m-GG--2] PASSED [ 38%] benchmarks/test_correlation.py::test_xi[histo-bessel-i1-l2-li_12_m-ll_11_m-GG--1] PASSED [ 38%] benchmarks/test_correlation.py::test_xi[histo-bessel-i2-l2-li_22_m-ll_22_m-GG--2] PASSED [ 39%] benchmarks/test_correlation.py::test_xi[histo-bessel-i1-i1-ii_11_p-ll_11_p-GG+-1] PASSED [ 39%] benchmarks/test_correlation.py::test_xi[histo-bessel-i1-i2-ii_12_p-ll_12_p-GG+-1] PASSED [ 39%] benchmarks/test_correlation.py::test_xi[histo-bessel-i2-i2-ii_22_p-ll_22_p-GG+-1] PASSED [ 40%] benchmarks/test_correlation.py::test_xi[histo-bessel-i1-i1-ii_11_m-ll_11_m-GG--1] PASSED [ 40%] benchmarks/test_correlation.py::test_xi[histo-bessel-i1-i2-ii_12_m-ll_12_m-GG--1] PASSED [ 40%] benchmarks/test_correlation.py::test_xi[histo-bessel-i2-i2-ii_22_m-ll_22_m-GG--1] PASSED [ 40%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g1-g1-dd_11-dd_11-NN-1] PASSED [ 41%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g2-g2-dd_22-dd_22-NN-1] PASSED [ 41%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g1-l1-dl_11-dl_11-NG-1] PASSED [ 41%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g1-l2-dl_12-dl_12-NG-1] PASSED [ 41%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g2-l1-dl_21-dl_21-NG-1] PASSED [ 42%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g2-l2-dl_22-dl_22-NG-1] PASSED [ 42%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g1-i1-di_11-dl_11-NG-1] PASSED [ 42%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g1-i2-di_12-dl_12-NG-1] PASSED [ 43%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g2-i1-di_21-dl_21-NG-1] PASSED [ 43%] benchmarks/test_correlation.py::test_xi[analytic-bessel-g2-i2-di_22-dl_22-NG-1] PASSED [ 43%] benchmarks/test_correlation.py::test_xi[analytic-bessel-l1-l1-ll_11_p-ll_11_p-GG+-1] PASSED [ 43%] benchmarks/test_correlation.py::test_xi[analytic-bessel-l1-l2-ll_12_p-ll_12_p-GG+-1] PASSED [ 44%] benchmarks/test_correlation.py::test_xi[analytic-bessel-l2-l2-ll_22_p-ll_22_p-GG+-1] PASSED [ 44%] benchmarks/test_correlation.py::test_xi[analytic-bessel-l1-l1-ll_11_m-ll_11_m-GG--1] PASSED [ 44%] benchmarks/test_correlation.py::test_xi[analytic-bessel-l1-l2-ll_12_m-ll_12_m-GG--1] PASSED [ 45%] benchmarks/test_correlation.py::test_xi[analytic-bessel-l2-l2-ll_22_m-ll_22_m-GG--1] PASSED [ 45%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i1-l1-li_11_p-ll_11_p-GG+-2] PASSED [ 45%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i1-l2-li_12_p-ll_11_p-GG+-1] PASSED [ 45%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i2-l2-li_22_p-ll_22_p-GG+-2] PASSED [ 46%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i1-l1-li_11_m-ll_11_m-GG--2] PASSED [ 46%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i1-l2-li_12_m-ll_11_m-GG--1] PASSED [ 46%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i2-l2-li_22_m-ll_22_m-GG--2] PASSED [ 46%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i1-i1-ii_11_p-ll_11_p-GG+-1] PASSED [ 47%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i1-i2-ii_12_p-ll_12_p-GG+-1] PASSED [ 47%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i2-i2-ii_22_p-ll_22_p-GG+-1] PASSED [ 47%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i1-i1-ii_11_m-ll_11_m-GG--1] PASSED [ 48%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i1-i2-ii_12_m-ll_12_m-GG--1] PASSED [ 48%] benchmarks/test_correlation.py::test_xi[analytic-bessel-i2-i2-ii_22_m-ll_22_m-GG--1] PASSED [ 48%] benchmarks/test_correlation_3d.py::test_correlation_3d[0] PASSED [ 48%] benchmarks/test_correlation_3d.py::test_correlation_3d[1] PASSED [ 49%] benchmarks/test_correlation_3d.py::test_correlation_3d[2] PASSED [ 49%] benchmarks/test_correlation_3drsd.py::test_correlation_3drsd[0] PASSED [ 49%] benchmarks/test_correlation_3drsd.py::test_correlation_3drsd[1] PASSED [ 50%] benchmarks/test_correlation_3drsd.py::test_correlation_3drsd[2] PASSED [ 50%] benchmarks/test_correlation_MG.py::test_xi[fftlog-g1-g1-dd_11-dd_11-NN-1] PASSED [ 50%] benchmarks/test_correlation_MG.py::test_xi[fftlog-g2-g2-dd_22-dd_22-NN-1] PASSED [ 50%] benchmarks/test_correlation_MG.py::test_xi[fftlog-g1-l1-dl_11-dl_11-NG-1] PASSED [ 51%] benchmarks/test_correlation_MG.py::test_xi[fftlog-g1-l2-dl_12-dl_12-NG-1] PASSED [ 51%] benchmarks/test_correlation_MG.py::test_xi[fftlog-g2-l1-dl_21-dl_21-NG-1] PASSED [ 51%] benchmarks/test_correlation_MG.py::test_xi[fftlog-g2-l2-dl_22-dl_22-NG-1] PASSED [ 51%] benchmarks/test_correlation_MG.py::test_xi[fftlog-l1-l1-ll_11_p-ll_11_p-GG+-1] PASSED [ 52%] benchmarks/test_correlation_MG.py::test_xi[fftlog-l1-l2-ll_12_p-ll_12_p-GG+-1] PASSED [ 52%] benchmarks/test_correlation_MG.py::test_xi[fftlog-l2-l2-ll_22_p-ll_22_p-GG+-1] PASSED [ 52%] benchmarks/test_correlation_MG.py::test_xi[fftlog-l1-l1-ll_11_m-ll_11_m-GG--1] PASSED [ 53%] benchmarks/test_correlation_MG.py::test_xi[fftlog-l1-l2-ll_12_m-ll_12_m-GG--1] PASSED [ 53%] benchmarks/test_correlation_MG.py::test_xi[fftlog-l2-l2-ll_22_m-ll_22_m-GG--1] PASSED [ 53%] benchmarks/test_correlation_MG.py::test_xi[bessel-g1-g1-dd_11-dd_11-NN-1] PASSED [ 53%] benchmarks/test_correlation_MG.py::test_xi[bessel-g2-g2-dd_22-dd_22-NN-1] PASSED [ 54%] benchmarks/test_correlation_MG.py::test_xi[bessel-g1-l1-dl_11-dl_11-NG-1] PASSED [ 54%] benchmarks/test_correlation_MG.py::test_xi[bessel-g1-l2-dl_12-dl_12-NG-1] PASSED [ 54%] benchmarks/test_correlation_MG.py::test_xi[bessel-g2-l1-dl_21-dl_21-NG-1] PASSED [ 55%] benchmarks/test_correlation_MG.py::test_xi[bessel-g2-l2-dl_22-dl_22-NG-1] PASSED [ 55%] benchmarks/test_correlation_MG.py::test_xi[bessel-l1-l1-ll_11_p-ll_11_p-GG+-1] PASSED [ 55%] benchmarks/test_correlation_MG.py::test_xi[bessel-l1-l2-ll_12_p-ll_12_p-GG+-1] PASSED [ 55%] benchmarks/test_correlation_MG.py::test_xi[bessel-l2-l2-ll_22_p-ll_22_p-GG+-1] PASSED [ 56%] benchmarks/test_correlation_MG.py::test_xi[bessel-l1-l1-ll_11_m-ll_11_m-GG--1] PASSED [ 56%] benchmarks/test_correlation_MG.py::test_xi[bessel-l1-l2-ll_12_m-ll_12_m-GG--1] PASSED [ 56%] benchmarks/test_correlation_MG.py::test_xi[bessel-l2-l2-ll_22_m-ll_22_m-GG--1] PASSED [ 56%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g1-g1-dd_11-dd_11-gg-1] PASSED [ 57%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g2-g2-dd_22-dd_22-gg-1] PASSED [ 57%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g1-l1-dl_11-dl_11-gl-1] PASSED [ 57%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g1-l2-dl_12-dl_12-gl-1] PASSED [ 58%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g2-l1-dl_21-dl_21-gl-1] PASSED [ 58%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g2-l2-dl_22-dl_22-gl-1] PASSED [ 58%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l1-l1-ll_11_p-ll_11_p-l+-1] PASSED [ 58%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l1-l2-ll_12_p-ll_12_p-l+-1] PASSED [ 59%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l2-l2-ll_22_p-ll_22_p-l+-1] PASSED [ 59%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l1-l1-ll_11_m-ll_11_m-l--1] PASSED [ 59%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l1-l2-ll_12_m-ll_12_m-l--1] PASSED [ 60%] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l2-l2-ll_22_m-ll_22_m-l--1] PASSED [ 60%] benchmarks/test_correlation_MG2.py::test_xi[bessel-g1-g1-dd_11-dd_11-gg-1] PASSED [ 60%] benchmarks/test_correlation_MG2.py::test_xi[bessel-g2-g2-dd_22-dd_22-gg-1] PASSED [ 60%] benchmarks/test_correlation_MG2.py::test_xi[bessel-g1-l1-dl_11-dl_11-gl-1] PASSED [ 61%] benchmarks/test_correlation_MG2.py::test_xi[bessel-g1-l2-dl_12-dl_12-gl-1] PASSED [ 61%] benchmarks/test_correlation_MG2.py::test_xi[bessel-g2-l1-dl_21-dl_21-gl-1] PASSED [ 61%] benchmarks/test_correlation_MG2.py::test_xi[bessel-g2-l2-dl_22-dl_22-gl-1] PASSED [ 61%] benchmarks/test_correlation_MG2.py::test_xi[bessel-l1-l1-ll_11_p-ll_11_p-l+-1] PASSED [ 62%] benchmarks/test_correlation_MG2.py::test_xi[bessel-l1-l2-ll_12_p-ll_12_p-l+-1] PASSED [ 62%] benchmarks/test_correlation_MG2.py::test_xi[bessel-l2-l2-ll_22_p-ll_22_p-l+-1] PASSED [ 62%] benchmarks/test_correlation_MG2.py::test_xi[bessel-l1-l1-ll_11_m-ll_11_m-l--1] PASSED [ 63%] benchmarks/test_correlation_MG2.py::test_xi[bessel-l1-l2-ll_12_m-ll_12_m-l--1] PASSED [ 63%] benchmarks/test_correlation_MG2.py::test_xi[bessel-l2-l2-ll_22_m-ll_22_m-l--1] PASSED [ 63%] benchmarks/test_distances.py::test_distance_model[0] PASSED [ 63%] benchmarks/test_distances.py::test_distance_model[1] PASSED [ 64%] benchmarks/test_distances.py::test_distance_model[2] PASSED [ 64%] benchmarks/test_distances.py::test_distance_model[3] PASSED [ 64%] benchmarks/test_distances.py::test_distance_model[4] PASSED [ 65%] benchmarks/test_distances.py::test_distance_hiz_model[0] PASSED [ 65%] benchmarks/test_distances.py::test_distance_hiz_model[1] PASSED [ 65%] benchmarks/test_distances.py::test_distance_hiz_model[2] PASSED [ 65%] benchmarks/test_distances.py::test_distance_mnu_model[0] PASSED [ 66%] benchmarks/test_distances.py::test_distance_mnu_model[1] PASSED [ 66%] benchmarks/test_distances.py::test_distance_mnu_model[2] PASSED [ 66%] benchmarks/test_distances.py::test_distance_mnu_model[3] PASSED [ 66%] benchmarks/test_distances.py::test_distance_mnu_hiz_model[0] PASSED [ 67%] benchmarks/test_distances.py::test_distance_mnu_hiz_model[1] PASSED [ 67%] benchmarks/test_distances.py::test_distance_mnu_hiz_model[2] PASSED [ 67%] benchmarks/test_distances.py::test_distance_mnu_hiz_model[3] PASSED [ 68%] benchmarks/test_distances.py::test_class_distance_model_flat_nonu PASSED [ 68%] benchmarks/test_distances.py::test_class_distance_model_pos_curv_nonu PASSED [ 68%] benchmarks/test_distances.py::test_class_distance_model_neg_curv_nonu PASSED [ 68%] benchmarks/test_distances.py::test_class_distance_model_flat_massnu1 PASSED [ 69%] benchmarks/test_distances.py::test_class_distance_model_flat_massnu2 PASSED [ 69%] benchmarks/test_distances.py::test_class_distance_model_flat_massnu3 PASSED [ 69%] benchmarks/test_distances.py::test_class_distance_model_flat_manynu1 PASSED [ 70%] benchmarks/test_distances.py::test_class_distance_model_neg_curv_massnu1 PASSED [ 70%] benchmarks/test_distances.py::test_class_distance_model_pos_curv_massnu1 PASSED [ 70%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl1 PASSED [ 70%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl2 PASSED [ 71%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl3 PASSED [ 71%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl4 PASSED [ 71%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl5 PASSED [ 71%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl7 PASSED [ 72%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl8 PASSED [ 72%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl9 PASSED [ 72%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl10 PASSED [ 73%] benchmarks/test_distances.py::test_class_allz_distance_model_ccl11 PASSED [ 73%] benchmarks/test_distances.py::test_distance_muSig_model[0] PASSED [ 73%] benchmarks/test_distances.py::test_distance_muSig_model[1] PASSED [ 73%] benchmarks/test_distances.py::test_distance_muSig_model[2] PASSED [ 74%] benchmarks/test_distances.py::test_distance_muSig_model[3] PASSED [ 74%] benchmarks/test_distances.py::test_distance_muSig_model[4] PASSED [ 74%] benchmarks/test_distances.py::test_distance_hiz_muSig_model[0] PASSED [ 75%] benchmarks/test_distances.py::test_distance_hiz_muSig_model[1] PASSED [ 75%] benchmarks/test_distances.py::test_distance_hiz_muSig_model[2] PASSED [ 75%] benchmarks/test_eh.py::test_eh PASSED [ 75%] benchmarks/test_emu.py::test_emu_nu[0] PASSED [ 76%] benchmarks/test_emu.py::test_emu_nu[1] PASSED [ 76%] benchmarks/test_emu.py::test_emu_nu[2] PASSED [ 76%] benchmarks/test_emu.py::test_emu_nu[3] PASSED [ 76%] benchmarks/test_emu.py::test_emu[0] PASSED [ 77%] benchmarks/test_emu.py::test_emu[1] PASSED [ 77%] benchmarks/test_emu.py::test_emu[3] PASSED [ 77%] benchmarks/test_emu.py::test_emu[5] PASSED [ 78%] benchmarks/test_growth.py::test_growth_lowz_model[0] PASSED [ 78%] benchmarks/test_growth.py::test_growth_lowz_model[1] PASSED [ 78%] benchmarks/test_growth.py::test_growth_lowz_model[2] PASSED [ 78%] benchmarks/test_growth.py::test_growth_lowz_model[3] PASSED [ 79%] benchmarks/test_growth.py::test_growth_lowz_model[4] PASSED [ 79%] benchmarks/test_growth.py::test_growth_highz_model[0] PASSED [ 79%] benchmarks/test_growth.py::test_growth_highz_model[1] PASSED [ 80%] benchmarks/test_growth.py::test_growth_highz_model[2] PASSED [ 80%] benchmarks/test_growth.py::test_growth_allz_model[0] PASSED [ 80%] benchmarks/test_growth.py::test_growth_allz_model[1] PASSED [ 80%] benchmarks/test_growth.py::test_growth_allz_model[2] PASSED [ 81%] benchmarks/test_growth.py::test_growth_allz_model[3] PASSED [ 81%] benchmarks/test_growth.py::test_growth_allz_model[4] PASSED [ 81%] benchmarks/test_growth.py::test_growth_mg PASSED [ 81%] benchmarks/test_halomod.py::test_halomod[0] PASSED [ 82%] benchmarks/test_halomod.py::test_halomod[1] PASSED [ 82%] benchmarks/test_halomod.py::test_halomod[2] PASSED [ 82%] benchmarks/test_haloprofile.py::test_profile_Hernquist PASSED [ 83%] benchmarks/test_haloprofile.py::test_profile_Einasto PASSED [ 83%] benchmarks/test_haloprofile.py::test_profile_NFW PASSED [ 83%] benchmarks/test_haloprofile.py::test_haloprofile[nfw] PASSED [ 83%] benchmarks/test_haloprofile.py::test_haloprofile[projected_nfw] PASSED [ 84%] benchmarks/test_haloprofile.py::test_haloprofile[einasto] PASSED [ 84%] benchmarks/test_haloprofile.py::test_haloprofile[hernquist] PASSED [ 84%] benchmarks/test_hbf.py::test_hbf_tinker10 PASSED [ 85%] benchmarks/test_hbf.py::test_hbf_sheth01 PASSED [ 85%] benchmarks/test_hbf.py::test_hbf_bhattacharya11 PASSED [ 85%] benchmarks/test_hmf.py::test_hmf_despali16 PASSED [ 85%] benchmarks/test_hmf.py::test_hmf_bocquet16 PASSED [ 86%] benchmarks/test_hmf.py::test_hmf_watson13 PASSED [ 86%] benchmarks/test_hmf.py::test_hmf_tinker08 PASSED [ 86%] benchmarks/test_hmf.py::test_hmf_press74 PASSED [ 86%] benchmarks/test_hmf.py::test_hmf_angulo12 PASSED [ 87%] benchmarks/test_hmf.py::test_hmf_sheth99 PASSED [ 87%] benchmarks/test_hmf.py::test_hmf_jenkins01 PASSED [ 87%] benchmarks/test_massdef.py::test_mdef_get_radius PASSED [ 88%] benchmarks/test_massdef.py::test_mdef_get_mass PASSED [ 88%] benchmarks/test_massdef.py::test_mdef_concentration PASSED [ 88%] benchmarks/test_massdef.py::test_mdef_translate_mass PASSED [ 88%] benchmarks/test_power_mg.py::test_power_mg[0] PASSED [ 89%] benchmarks/test_power_mg.py::test_power_mg[1] PASSED [ 89%] benchmarks/test_power_mg.py::test_power_mg[2] PASSED [ 89%] benchmarks/test_power_mg.py::test_power_mg[3] PASSED [ 90%] benchmarks/test_power_mg.py::test_power_mg[4] PASSED [ 90%] benchmarks/test_power_mg2.py::test_power_mg[0] PASSED [ 90%] benchmarks/test_power_mg2.py::test_power_mg[1] PASSED [ 90%] benchmarks/test_power_mg2.py::test_power_mg[2] PASSED [ 91%] benchmarks/test_power_mg2.py::test_power_mg[3] PASSED [ 91%] benchmarks/test_power_mg2.py::test_power_mg[4] PASSED [ 91%] benchmarks/test_power_nu.py::test_power_nu[0] PASSED [ 91%] benchmarks/test_power_nu.py::test_power_nu[1] PASSED [ 92%] benchmarks/test_power_nu.py::test_power_nu[2] PASSED [ 92%] benchmarks/test_ptpk.py::test_pt_pk[comb0] PASSED [ 92%] benchmarks/test_ptpk.py::test_pt_pk[comb1] PASSED [ 93%] benchmarks/test_ptpk.py::test_pt_pk[comb2] PASSED [ 93%] benchmarks/test_ptpk.py::test_pt_pk[comb3] PASSED [ 93%] benchmarks/test_ptpk.py::test_pt_pk[comb4] PASSED [ 93%] benchmarks/test_ptpk.py::test_pt_pk[comb5] PASSED [ 94%] benchmarks/test_sigmaM.py::test_sigmaM[1--1.0-0.0] PASSED [ 94%] benchmarks/test_sigmaM.py::test_sigmaM[2--0.9-0.0] PASSED [ 94%] benchmarks/test_sigmaM.py::test_sigmaM[3--0.9-0.1] PASSED [ 95%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0--1.0-False-True-False-0-0] PASSED [ 95%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0-0.0--1.0-False-True-False-0-0] PASSED [ 95%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0-0.0-False-True-False-0-0] PASSED [ 95%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0-0.0-0.0-False-True-False-0-0] PASSED [ 96%] benchmarks/test_tracers.py::test_tracers_analytic[0.0-0.0-0.0-False-True-False-0-0] PASSED [ 96%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0--1.0-True-True-False-0-0] PASSED [ 96%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0-0.0--1.0-True-True-False-0-0] PASSED [ 96%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0-0.0-True-True-False-0-0] PASSED [ 97%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0-0.0-0.0-True-True-False-0-0] PASSED [ 97%] benchmarks/test_tracers.py::test_tracers_analytic[0.0-0.0-0.0-True-True-False-0-0] PASSED [ 97%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0-0.0-0.0-False-False-False-0-0] PASSED [ 98%] benchmarks/test_tracers.py::test_tracers_analytic[0.0-0.0-0.0-False-False-False-0-0] PASSED [ 98%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0-0.0-True-True-True-0-0] PASSED [ 98%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0-0.0-False-True-True-0-0] PASSED [ 98%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0--1.0-False-True-False--1-0] PASSED [ 99%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0--1.0-False-True-False-0-1] PASSED [ 99%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0--1.0-False-True-False-0-2] PASSED [ 99%] benchmarks/test_tracers.py::test_tracers_analytic[-2.0--1.0--1.0-False-True-False--1-2] PASSED [100%]

=============================== warnings summary =============================== benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_nu[kwargs0] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_nu[kwargs1] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_nu[kwargs2] benchmarks/test_camb_class_consistent.py::test_camb_class_consistent_de_nu[kwargs0] benchmarks/test_power_nu.py::test_power_nu[0] benchmarks/test_power_nu.py::test_power_nu[1] benchmarks/test_power_nu.py::test_power_nu[2] /home/mishak/DEV/CCL/pyccl/core.py:674: CCLWarning: CCL does not properly compute the linear growth rate in cosmological models with massive neutrinos! category=CCLWarning)

benchmarks/test_cls.py::test_cls[analytic-g1-g1-dd_11-dd_11-dd_11-dd_11-dd_11-fl_one] /home/mishak/DEV/CCL/pyccl/tracers.py:26: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working if ((not isinstance(dndz, collections.Iterable))

benchmarks/test_correlation_MG2.py::test_xi[fftlog-g1-g1-dd_11-dd_11-gg-1] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g2-g2-dd_22-dd_22-gg-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-g1-g1-dd_11-dd_11-gg-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-g2-g2-dd_22-dd_22-gg-1] /home/mishak/DEV/CCL/pyccl/correlation.py:82: UserWarning: corr_type is deprecated. Use type = NN "Use type = {}".format(type))

benchmarks/test_correlation_MG2.py::test_xi[fftlog-g1-l1-dl_11-dl_11-gl-1] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g1-l2-dl_12-dl_12-gl-1] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g2-l1-dl_21-dl_21-gl-1] benchmarks/test_correlation_MG2.py::test_xi[fftlog-g2-l2-dl_22-dl_22-gl-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-g1-l1-dl_11-dl_11-gl-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-g1-l2-dl_12-dl_12-gl-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-g2-l1-dl_21-dl_21-gl-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-g2-l2-dl_22-dl_22-gl-1] /home/mishak/DEV/CCL/pyccl/correlation.py:82: UserWarning: corr_type is deprecated. Use type = NG "Use type = {}".format(type))

benchmarks/test_correlation_MG2.py::test_xi[fftlog-l1-l1-ll_11_p-ll_11_p-l+-1] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l1-l2-ll_12_p-ll_12_p-l+-1] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l2-l2-ll_22_p-ll_22_p-l+-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-l1-l1-ll_11_p-ll_11_p-l+-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-l1-l2-ll_12_p-ll_12_p-l+-1] benchmarks/test_correlation_MG2.py::test_xi[bessel-l2-l2-ll_22_p-ll_22_p-l+-1] /home/mishak/DEV/CCL/pyccl/correlation.py:82: UserWarning: corr_type is deprecated. Use type = GG+ "Use type = {}".format(type))

benchmarks/test_correlation_MG2.py::test_xi[fftlog-l1-l1-ll_11_m-ll_11_m-l--1] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l1-l2-ll_12_m-ll_12_m-l--1] benchmarks/test_correlation_MG2.py::test_xi[fftlog-l2-l2-ll_22_m-ll_22_m-l--1] benchmarks/test_correlation_MG2.py::test_xi[bessel-l1-l1-ll_11_m-ll_11_m-l--1] benchmarks/test_correlation_MG2.py::test_xi[bessel-l1-l2-ll_12_m-ll_12_m-l--1] benchmarks/test_correlation_MG2.py::test_xi[bessel-l2-l2-ll_22_m-ll_22_m-l--1] /home/mishak/DEV/CCL/pyccl/correlation.py:82: UserWarning: corr_type is deprecated. Use type = GG- "Use type = {}".format(type))

benchmarks/test_haloprofile.py::test_haloprofile[nfw] /home/mishak/DEV/CCL/pyccl/pyutils.py:403: CCLWarning: The function nfw_profile_3d is deprecated. Use HaloProfileNFW instead. warnings.warn(s, CCLWarning)

benchmarks/test_haloprofile.py::test_haloprofile[projected_nfw] /home/mishak/DEV/CCL/pyccl/pyutils.py:403: CCLWarning: The function nfw_profile_2d is deprecated. Use HaloProfileNFW instead. warnings.warn(s, CCLWarning)

benchmarks/test_haloprofile.py::test_haloprofile[einasto] /home/mishak/DEV/CCL/pyccl/pyutils.py:403: CCLWarning: The function einasto_profile_3d is deprecated. Use HaloProfileEinasto instead. warnings.warn(s, CCLWarning)

benchmarks/test_haloprofile.py::test_haloprofile[hernquist] /home/mishak/DEV/CCL/pyccl/pyutils.py:403: CCLWarning: The function hernquist_profile_3d is deprecated. Use HaloProfileHernquist instead. warnings.warn(s, CCLWarning)

-- Docs: https://docs.pytest.org/en/latest/warnings.html ================= 360 passed, 36 warnings in 188.18s (0:03:08) =================

elisachisari commented 4 years ago

The 4 tests I was seeing failing now pass with CLASS 2.9.3.

elisachisari commented 4 years ago

I have some issues with some of the isitGR tests at the moment and trying to sort that out.

elisachisari commented 4 years ago

Fixed this in #761.