Skip to content

Align output formats and data return options between Inspiral-only and IMR generation functions #11

@Akash-Maurya-0899

Description

@Akash-Maurya-0899

There are the following discrepancies between inspiral-only and IMR waveform generation functions:

  1. Data Return Options:

    • Inspiral modes/polarizations can be returned as NumPy arrays or PyCBC TimeSeries objects, but IMR modes currently only return PyCBC TimeSeries objects.
    • Packaging the intermediate NumPy arrays into PyCBC TimeSeries objects adds performance overhead, especially during repeated waveform evaluations (e.g. during parameter estimation).
    • Request: The IMR functions should support output as NumPy arrays as well (with a return_pycbc_timeseries flag, as in inspiral functions).
  2. Output Format Consistency:

    • Inspiral functions return results as (time, other stuff [orbital variables], modes/polarizations).
    • IMR functions return as (modes/polarizations, other stuff [orbital variables, hybridization info]) (the opposite order).
    • Request: Change IMR return value order to follow inspiral functions, i.e. put modes/polarizations last in the tuple. Doing it the other way by changing the inspiral order to follow the IMR order would need more tweaks. This is because we have statements like retval[-1] inside the IMR functions which hinge on inspiral modes being the last returned elements.

Both changes will improve consistency, code flexibility, and usability.

Metadata

Metadata

Labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions