nanograv / pint_pal

A long-lived repository for NANOGrav Pulsar Timing workflows and analysis.
MIT License
6 stars 17 forks source link

Fix noise analysis for "narrowband" data with no ECORR #45

Closed rossjjennings closed 1 year ago

rossjjennings commented 1 year ago

In trying to run the process_v1.2 notebook on simulated LOFAR data, @FrancescoIraci ran into an issue (#44) where noise_utils.add_noise_to_model() would raise an exception if "narrowband" data didn't have associated ECORR parameters.

It turns out that this function was written in an unnecessarily inflexible way: with using_wideband = False, it would always try to add ECORR parameters to the model, whether or not they were present in the white noise dictionary returned by noise_utils.analyze_noise(). In this case, not finding any, it would raise an exception. (Similarly, with using_wideband = True, it would always try to add DMEFAC and DMEQUAD parameters, even if none were present.)

This PR changes this behavior to make it more flexible: now, ECORR, DMEFAC, and DMEQUAD parameters should be added if, and only if, they are present in the white noise dictionary, regardless of the value of using_wideband, which now only serves to identify the appropriate noise chain directory. This should make it possible to run the notebook on narrowband data without EFAC, or on wideband data without DMEFAC and/or DMEQUAD.

rossjjennings commented 1 year ago

Hmm. These test failures are confusing. It looks like it's nothing to do with this PR really -- it's failing to create an environment because the available versions of enterprise_extensions don't support Python 3.11, and everything (even the "3.8" test) is trying to use 3.11!

rossjjennings commented 1 year ago

It looks like a GitHub Action thing. @JPGlaser any ideas?