Change the noise parametrization
We currently parametrize instrumental noises with one argument in Instrument init method for
- the ASD (amplitude)
- optionally, one or more knee frequencies.
Each of these values are converted to an ForEachMOSA or ForEachSC object, so that the user can provide one value to be share for all objects, a dictionary or different values, or a function of the object (MOSA or SC) index.
This is easy to use, but does not allow
- to change the noise spectral shape,
- to provide custom noise generation methods,
- to provide already-generated noise time series (containing correlation between various objects or noises).
We propose to change this noise parametrization with the following. Each noise will be parametrized with exactly one argument in Instrument init method. The value can be:
- an array or a
ForEachObjectinstance of arrays for already-generated noise time series, - a function or a
ForEachObjectinstance of functions, taking thefsandsizeas arguments, if LISA Instrument should generate the noise time series at runtime. The default methods will use those defined inlisainstrument.noises, but users can use their own noise generation methods (or tweak the levels and knee frequencies of the methods provided with the package).
This also prevents the definition of default noise parameters (ASDs and frequencies) in both Instrument and in the definition of the noise generation methods in lisainstrument.noises, as well as the use of None for default set of noise levels.