hpc4cmb / toast

Time Ordered Astrophysics Scalable Tools
Other
44 stars 39 forks source link

Failing conviqt test #606

Open gabrielecoppi opened 2 years ago

gabrielecoppi commented 2 years ago

I am running toast3 installed using pip install --pre --upgrade toast3. I have set-up a conda environment with all the dependencies (including madam and conviqt) and I am failing the conviqt tests. This is the message that I am getting:

Proc 0: Traceback (most recent call last):
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/site-packages/toast/tests/ops_sim_tod_conviqt.py", line 492, in test_sim_TEB_conviqt
    sim_conviqt.apply(data)
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/site-packages/toast/timing.py", line 107, in df
    return f(*args, **kwargs)
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/site-packages/toast/ops/operator.py", line 115, in apply
    self.exec(data, detectors, use_accel=use_accel, **kwargs)
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/site-packages/toast/timing.py", line 107, in df
    return f(*args, **kwargs)
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/site-packages/toast/ops/operator.py", line 52, in exec
    self._exec(
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/site-packages/toast/timing.py", line 81, in df
    return f(*args, **kwargs)
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/site-packages/toast/ops/conviqt.py", line 264, in _exec
    all_detectors = self._get_all_detectors(data, detectors)
Proc 0:   File "/home/gabriele/miniforge3/envs/cmb/lib/python3.10/site-packages/toast/ops/conviqt.py", line 317, in _get_all_detectors
    exists = obs.detdata.ensure(
Proc 0: TypeError: DetDataManager.ensure() got an unexpected keyword argument 'units'

Looking at the line here and comparing with the ensure definition here, it seems that the units keyword needs to be changed to _createunits

tskisner commented 2 years ago

Thanks for catching this typo! I'll double check there are no other cases and also see why this failure was not picked up by the CI tests.

gabrielecoppi commented 2 years ago

No problem. This was the only test failed based on my configuration.

giuspugl commented 2 years ago

I can reproduce the TypeError both in perlmutter and in Cori . thanks @gabrielecoppi !

keskitalo commented 2 years ago

PR #610 fixes the issue. Do we install libconviqt in our CI?

tskisner commented 2 years ago

Hi @keskitalo , in principle the libconviqt unit test should run when we run the MPI tests within out docker container, for example: https://github.com/hpc4cmb/toast/blob/ddae67de4154067d2317999f6cf6c31dd48ae047/.github/workflows/test.yml#L30

I should check that those are working...

tskisner commented 2 years ago

Looks like something is not catching the failing unit tests. I am leaving this open until it is addressed.