Uncertainty latest version has a problem with Coating Thermo-Optic Noise calculation
This was known in the older noise budget as well as there was a distinctive direction at the top to use uncertainties package 2.4.8.1. This version of the package calculates the standard deviation of the quantities on the run and hence make complex calculations significantly longer. With the latest addition of uncertainty calculation in the Coating Brownian noise, this has reached roughly 1.5 hrs of run time for the code. But it at least works. If we run the code with uncertainties package 3.1.2 which is the latest one, the code runs lightning fast as this package leaves the calculation of standard deviation on a need basis, so essentially when it is tried to be printed, saved or plotted. However, this makes it a bad choice when a variable's standard deviation is calculated repeatedly because it was referenced by many other variables. This is happening presently with the coating thermo-optic noise. Hence, we can't run this code with the latest version of uncertainties package.
This needs to be resolved as we can't use two different versions of the package for different parts of the code. Options:
-
Make coating brownian noise calculation more efficient so that it runs faster with uncertainties package 2.4.8.1. This would be little bad though as we will be relying on an outdated package which has other problems and fewer features.
-
Make the thermo-optic noise calculation such that the traceback to calculate standard deviation in final result does not take too long. I have opened an issue in uncertainties package repo to see what the developers think about this issue.