RuntimeWarnings when running Association in apPipe

Dear all, I’m testing the Alert Pipeline (AP) and ap_verify of the LSST Science Pipelines (v19) on DECam datasets. At the step of “Association”, I saw this warning in both ap_pipe and ap_verify:

xxx/lsst_stack_v19/python/miniconda3-4.7.10/envs/lsst-scipipe-4d7b902/lib/python3.7/site-packages/numpy/lib/function_base.py:3405: RuntimeWarning: All-NaN slice encountered
  r = func(a, **kwargs)
xxx/lsst_stack_v19/stack/miniconda3-4.7.10-4d7b902/Linux64/ap_association/19.0.0+2/python/lsst/ap/association/diaCalculationPlugins.py:690: RuntimeWarning: Mean of empty slice
  filterDiaSources["psFluxErr"])
xxx/lsst_stack_v19/stack/miniconda3-4.7.10-4d7b902/Linux64/ap_association/19.0.0+2/python/lsst/ap/association/diaCalculationPlugins.py:248: RuntimeWarning: invalid value encountered in double_scalars
  fluxMean /= tot_weight

I tested running the pipeline on multiple visits and adjusting the refcat in config.differencer.refObjLoader, but I still got this warning.
In the end I got a lot of “nothing to do”: (is this normal? Here the dataset was CI-HiTS2015)

ap.verify.pipeline_driver.runApPipe INFO: Pipeline complete
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:astrometer.loadAndMatch found.
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:register.run found.
metricsController INFO: Persisting metrics to workspaces/hits//ap_verify.date2015-02-18_filterg_visit411371_ccdnum56_objectBlind15A_42.verify.json...
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:astrometer.loadAndMatch found.
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:register.run found.
metricsController INFO: Persisting metrics to workspaces/hits//ap_verify.date2015-02-18_filterg_visit411371_ccdnum60_objectBlind15A_42.verify.json...
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:astrometer.loadAndMatch found.
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:register.run found.
metricsController INFO: Persisting metrics to workspaces/hits//ap_verify.date2015-03-09_filterg_visit419802_ccdnum10_objectBlind15A_40.verify.json...
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:astrometer.loadAndMatch found.
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:register.run found.
metricsController INFO: Persisting metrics to workspaces/hits//ap_verify.date2015-03-09_filterg_visit419802_ccdnum5_objectBlind15A_40.verify.json...
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:astrometer.loadAndMatch found.
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:register.run found.
metricsController INFO: Persisting metrics to workspaces/hits//ap_verify.date2015-02-18_filterg_visit411420_ccdnum10_objectBlind15A_40.verify.json...
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:astrometer.loadAndMatch found.
timingMetric INFO: Nothing to do: no timing information for apPipe:differencer:register.run found.
metricsController INFO: Persisting metrics to workspaces/hits//ap_verify.date2015-02-18_filterg_visit411420_ccdnum5_objectBlind15A_40.verify.json...

The json files were generated and can be inspected by inspect_job.py though.

In the output of ap_pipe, in ppdp/association.db, DiaObject_To_Object_Match, PpdbProtoVisits, and SSObject tables are empty. I wonder if it’s caused by the warning above.

Has anyone seen this kind of warning and output “nothing to do”? How to avoid them? I appreciate any suggestions. Thanks.

v19 is very old. Is it possible for you to use v22?

Currently I only need a pipeline for DIA and I wonder if the functionality of v19 is good enough. I haven’t installed v22 and I’m worried I would need to rebuild calibration images from raws and adjust configs for gen3, and that may cost a lot of time.

The “Nothing to do: no timing information” messages are normal; these timing metrics are set to subtasks that are not run in the default AP pipeline. This is also why these messages are INFO rather than WARNING.

The tables you list as empty are placeholders; they require external data (DRP processing and solar system processing) that is not yet supported by the ap_verify framework. We are working on populating SSObject, but it’s not yet ready.

As for the original NaN warning, I believe it has been fixed in a more recent version; at the very least, I cannot reproduce it using current code.

1 Like

Thank you Krzysztof for your detailed answer. Also thank Tim for your suggestions.
Do you know where I can find the meanings of the columns of the tables in association.db? Should I use the DPDD? Data Products Definition Document | Rubin Observatory

The DiaSource table defined in the DPDD is pretty close to what is written in the output db. However, a lot of columns are not filled yet and even more so for the version you are running. They also likely to not follow the units in the DPDD yet. In the latest version, they do. The DiaObject table has many of the columns from the DPDD except for the time series features. As Krzysztof mentioned, the other tables are not filled yet.

I’d highly recommend updating to a newer version of the stack.

1 Like

Our current (evolving!) idea of what will be in the physical schema that is derived from the DPDD logical schema, including units and UCDs, is available at LSST Baseline Schema | sdm_schemas. Note that this is a complete (and better) replacement of the schema browser that used to be hosted at https://lsst-web.ncsa.illinois.edu/schema/.

1 Like

Thank you Chris and K-T for answering my questions!