nb: generic noise budget support
Compare changes
+ 1
− 1
Maintenance will be performed on git.ligo.org, containers.ligo.org, and docs.ligo.org on Tuesday 1 April 2025 starting at approximately 9am PDT. It is expected to take around 30 minutes and there will be several periods of downtime throughout the maintenance. Please address any comments, concerns, or questions to the helpdesk.
This patch provides a new nb sub-module that defines classes for managing and calculating noise budgets. It provides the following overridable classes:
nb.Calibration A noise calibration
nb.Noise A noise source
nb.Budget A budget of noises
The Budget class includes a calc_trace() method that will return a traces dictionary that includes data and trace plot styling for every noise term in the budget recursively.
The existing included interferometers are updated to define their budgets using this new interface, and the plot_noises function is updated to accept the new traces dictionary.
An HDF5_SCHEMA describes how trace dictionaries are encoded into HDF5 files. The new io module includes functions for writing traces to HDF5 files, and for reading traces stored in this format.
The command line interface is updated to handle this new structure.