status: passed duration: 0.015s Captured stdout call usage: __main__.py [-h] [-c CONFIG] [-L {-,none,Sf}] [-j CHOOSE] [--no-refine] [-m {full,full2x,fullAAA,onlyAAA,onlyAAAreduce,AAA,fit,reduce,rational,rational2x,dumpargs,dumpargs_full,printdata,printconfig,printsettings}] [--refine_file REFINE_FILE] [-N F_NYQUIST_HZ] [-I INFORMATION] [--overwrite] [--config_group CONFIG_GROUP] [-D DATA_GROUP] [--tee_logfile TEE_LOGFILE] [-l LOG_LEVEL] [--log_level_alert LOG_LEVEL_ALERT] [--log_level_debug LOG_LEVEL_DEBUG] [--log_level_info LOG_LEVEL_INFO] [--log_level_rationale LOG_LEVEL_RATIONALE] [--log_level_warn LOG_LEVEL_WARN] [--relative_degree RELATIVE_DEGREE] [--relative_degree_max RELATIVE_DEGREE_MAX] [--relative_degree_min RELATIVE_DEGREE_MIN] [--total_degree_min TOTAL_DEGREE_MIN] [--order_first ORDER_FIRST] [--order_initial ORDER_INITIAL] [--order_max ORDER_MAX] [--order_min ORDER_MIN] [-r PLOT_FIT] [-R PLOT_ORDER] [--delay_s_max DELAY_S_MAX] [--delay_s DELAY_S] [--delay_s_min DELAY_S_MIN] [--SNR_estimate_width SNR_ESTIMATE_WIDTH] [--SNR_max SNR_MAX] [--SNR_min SNR_MIN] [--SNR_regularize_ratio SNR_REGULARIZE_RATIO] [--SNR_regularize_scale SNR_REGULARIZE_SCALE] [--trust_SNR] [--F_boost_Hz F_BOOST_HZ] [--F_max_Hz F_MAX_HZ] [--F_min_Hz F_MIN_HZ] [--downsample DOWNSAMPLE] [--downsample_type DOWNSAMPLE_TYPE] [--resavg_RthreshOrdC RESAVG_RTHRESHORDC] [--resavg_RthreshOrdDn RESAVG_RTHRESHORDDN] [--resavg_RthreshOrdUp RESAVG_RTHRESHORDUP] [--multithreading MULTITHREADING] [--inverse] [--never_unstable_poles] [--never_unstable_zeros] [-k GAIN] [-p [POLES ...]] [-P [POLES_OVERLAY ...]] [-z [ZEROS ...]] [-Z [ZEROS_OVERLAY ...]] [--suggest] [--alternate_residuals ALTERNATE_RESIDUALS] [--h_infinity H_INFINITY] [--h_infinity_deweight H_INFINITY_DEWEIGHT] [--residuals_type {log,dualA,dualB,poles,zeros}] [--residuals_type_alt {log,dualA,dualB,poles,zeros}] [--baseline_only] [--greedy_order GREEDY_ORDER] [--prune_Qrank PRUNE_QRANK] [--distance_limit_scale DISTANCE_LIMIT_SCALE] [--root_F_Hz_max ROOT_F_HZ_MAX] [--root_bandwidth_Hz_max ROOT_BANDWIDTH_HZ_MAX] data.file output.file options: -h, --help show this help message and exit data.file Specify data file. This file may be .h5, .hdf, .mat, .yaml. these filetypes have internal directory structure and the data are by default assumed to be in the parameters: 'F_Hz', 'xfer', 'SNR', 'emphasis', inside of the 'data' group. Arguments such is -Xc and -F and -D in the "data" options group can override these keys. It is possible also to use csv files, but the syntax is complicated. output.file Specify the output file to store fit results including zpk of the chosen and alternative fits, the configurations, and versioning information. Possible output extensions are .h5, .hdf, .mat, .pkl, .json, .yaml. Binary formats .mat, .h5, .pkl will include the original data, for full reconstruction of the fit. wield.control.fitting.SISO may be called on the output file to rerun the fit. -c CONFIG, --config CONFIG Specify configuration file. This file may be .json, .yaml, .ini, .h5, .mat. These will be interpreted as a dictionary or structure full of keyword arguments. This may be specified multiple times to overlay settings. Additional command line setting always override these configuration files. -L {-,none,Sf}, --LIGO_foton {-,none,Sf} What type of foton output would you prefer? - '-' or 'None' to suppress foton output - Sf for frequency domain (default) - n for normalized (not yet supported) - Sw for radial (not yet supported) -j CHOOSE, --choose CHOOSE How to decide the optimal order. Special parameters are: - "prompt", "shell", "interactive" (the default) To enter a command prompt that plots and requests a choice - "auto10" the default choice to use the shell if the baseline order is above 10 unless there is no choice. (10 may be changed) - "baseline" to use the baseline fit before the ChiSq starts rising. - "baseline10" to use the baseline "best fit" unless it is over order 10 (10 can be configured to other integers) - integer. To force a choice of order. It will always use the best fit under this order. --no-refine disable the output hints of --zeros and --poles to run a second time and refine. -m {full,full2x,fullAAA,onlyAAA,onlyAAAreduce,AAA,fit,reduce,rational,rational2x,dumpargs,dumpargs_full,printdata,printconfig,printsettings}, --mode {full,full2x,fullAAA,onlyAAA,onlyAAAreduce,AAA,fit,reduce,rational,rational2x,dumpargs,dumpargs_full,printdata,printconfig,printsettings} Fitting mode to use, to change the automation level. Must be one of - "full": to use rational fitting to get initial parameters, then alternate optimization and order reduction - "full2x": runs the full optimization twice to refine it. Can often use a lower initial order. - "rational": to use rational fitting to get initial parameters and then stop after the simplest order reduction. Useful to use with other fitters. Does not perform delay fitting. - "fit": To take an initial ZPK guess, and only fit/optimize it. Good for refining previous fits. - "reduce": To take an initial ZPK guess, and then alternate fitting and order reduction. - "dumpargs": Dump arguments to determine current settings - "dumpargs_full": Dump arguments and all generated settings to see the full run setup - "printdata": Dump the layout of the data file specified - "printconfig": dump the layout of the config files specified - "printsettings": dump the fully loaded settings specified --refine_file REFINE_FILE indicate a file to write the hints of --zeros and --poles into. -N F_NYQUIST_HZ, --F_nyquist_Hz F_NYQUIST_HZ This selects the Nyquist frequency for Z-domain fitting. If None or not specified, the fits are done in the "Sf" domain - the s domain scaled for units of frequency. -I INFORMATION, --information INFORMATION A string to detail what this fit is of. For documentation purposes. --overwrite Allow the output file to overwrite the previous output file (be careful). groups: The data and config file formats (except csv) all load internally to a dictionary or structure representation. These arguments specify the keys or groups storing the relevant data or configuration subkeys. These also control the output groups when saving files. --config_group CONFIG_GROUP Group(s) within the loaded config or data file to search for configuration elements. May be a comma separated list to aggregate groups. defaults to "config,conf,IIRconfig,IIRconf". The first element will be the group where configurations are stored to the output file. -D DATA_GROUP, --data_group DATA_GROUP Group(s) within the loaded data file to search for data elements (see "data" section). May be a comma separated list to aggregate groups. defaults to "data,IIRdata,xfer". The first specified element will be the group that data is stored to the output file. data: Specify keys to search within the data group for specific arrays. -F, --frequency, -Xc, --dataXcomplex -Xr, --dataXreal, -Xi, --dataXimaginary -Xa, --dataXamplitude, -Xm, --dataXmagnitude -XdB, --dataXdB, -Xdb, --dataXdb -Xd, --dataXphaseDeg, -Xp, --dataXphaseRad -S, --dataSNR, -W, --dataW -E, --dataEmphasis logging: --tee_logfile TEE_LOGFILE Filename to tee log output into, along with stdout/stderr. Will be overwritten. -l LOG_LEVEL, --log_level LOG_LEVEL Log level default for all logging types --log_level_alert LOG_LEVEL_ALERT Data on useful statistical tests, particularly those which cause input data/SNR/emphasis to be reinterpreted. Typically logs at level 2-4. --log_level_debug LOG_LEVEL_DEBUG Debugging reports used for development. --log_level_info LOG_LEVEL_INFO Logging on miscellaneous details. --log_level_rationale LOG_LEVEL_RATIONALE Detailed explanations of tests and algorithms. Extremely verbose and intended for first users and digest reports. --log_level_warn LOG_LEVEL_WARN Warnings about failed tests, or data operating in a regime unexpected to work or that validation should be made. order: --relative_degree RELATIVE_DEGREE Sets the initial relative degree (number zeros minus polse). Defaults to None, which will be the midpoint of the min and max if they are specified, otherwise this will default to 0, which typically will still fit filters to the correct degree. If constrained to be different than the data, the filter will enter the asymptotic regime set by the relative degree within 2x of the 'root_bandwidth_Hz_max' setting. --relative_degree_max RELATIVE_DEGREE_MAX Maximum value for the filter relative degree (number zeros minus polse). Defaults to the relative degree (which may be None). If this value is None, the degree is unconstrained and the fit will land at some degree that fits well. --relative_degree_min RELATIVE_DEGREE_MIN Minimum value for the filter relative degree (number zeros minus polse). Defaults to the relative degree (which may be None). If this value is None, the degree is unconstrained and the fit will land at some degree that fits well. --total_degree_min TOTAL_DEGREE_MIN Minimum degree to search through during the successive order reduction phase. Defaults to 2. If None, then successive reduction will not be performed. --order_first ORDER_FIRST Order to use in rational fitting for the first round of full2x. Can be lower to be fast. --order_initial ORDER_INITIAL Order to use in rational fitting. If not specified, the order is increased until the residuals plateau. --order_max ORDER_MAX Maximium order that the rational fitter order estimation may use. Increasing this value from the default may impact numerical stability. --order_min ORDER_MIN Minimum order to use during order estimation. Smaller values will speed up fits, but may fail to fix complex data. plots: -r PLOT_FIT, --plot_fit PLOT_FIT filename to plot (review) the chosen fit to. May be any extension supported by matplotlib. [.pdf, .svg, .png, .jpg, ...] -R PLOT_ORDER, --plot_order PLOT_ORDER filename to plot (Review) potential orders and residuals to. May be any extension supported by matplotlib. [.pdf, .svg, .png, .jpg, ...] delay: --delay_s_max DELAY_S_MAX The maximum delay in seconds. Defaults to None, in which case delay is never fit as a free parameter. --delay_s DELAY_S Use this delay (in seconds) for the initial fitting up until the "baseline" fit determination is complete. By default this is the same as delay_s_min, unless delay_s_min is negative, in which case it defaults to the smaller of 0 seconds or delay_s_max. --delay_s_min DELAY_S_MIN The minimum delay in seconds. Defaults to 0. Also sets the typical default value of the delay used for the initial part of the fits. Must always be specified (cannot be None). SNR Adjustments: --SNR_estimate_width SNR_ESTIMATE_WIDTH The window width of nearby points to use for averaging and median filtering when estimating the SNR via windowed sample variance. Default is 10. None or 0 indicates to not try. --SNR_max SNR_MAX Maximum SNR. Hard cutoff for SNR above this level. --SNR_min SNR_MIN Minimum SNR. Hard cutoff for SNR below this level. --SNR_regularize_ratio SNR_REGULARIZE_RATIO Ratio of effective data points, determined by the dynamic range of the SNR weighting, to the actual number of data points. This parameter adjusts how the SNR is adjusted to ensure sufficient data points for a good fit. --SNR_regularize_scale SNR_REGULARIZE_SCALE Similar to SNR_regularize_ratio, but instead of a direct ratio, the ratio is determined as 'SNR_regularize_scale' / max(SNR). For very high SNR fits, the SNR should be whitened significantly using the ratio adjustment, since the error is dominated by systematics rather than statistical noise. The default is 10, causing a %90 coverage ratio when the highest SNR is 100 (1% statistical error). --trust_SNR Overall parameter determining if SNR/W statistical weighting input should be trusted. If False (the default) then additional statistical tests are run to adjust the SNR for better fits. If the user can fully trust their SNR estimators and fits to be unbiased, then the user likely does not need this tool. SNR adjustments: --F_boost_Hz F_BOOST_HZ start-end frequency pairs (e.g. 1.2-1.6) to double the SNR end to add emphasis during fitting. Multiple can be specified, comma separated. --F_max_Hz F_MAX_HZ Maximum frequency to use, cuts off data above this frequency. --F_min_Hz F_MIN_HZ Minimum frequency to use, cuts off data below this frequency. --downsample DOWNSAMPLE Downsample the data to this number of points. Uses SNR weighing to average during downsampling. --downsample_type DOWNSAMPLE_TYPE Use this type of spacing for the downsampled points: linear, log, or loglinear. advanced: --resavg_RthreshOrdC RESAVG_RTHRESHORDC The threshold relative change in the average residuals to accept a fit of equal order. Only used for the "baseline" fit determination before delay is activated and not used during the total order reduction. --resavg_RthreshOrdDn RESAVG_RTHRESHORDDN The threshold relative change in the average residuals to accept a fit of lower order. Only used for the "baseline" fit determination before delay is activated and not used during the total order reduction. --resavg_RthreshOrdUp RESAVG_RTHRESHORDUP The threshold relative change in the average residuals to accept a fit of higher order. Only used for the "baseline" fit determination before delay is activated and not used during the total order reduction. computing: --multithreading MULTITHREADING Perform the order reduction trials using a thread pool of this size. If None (the default) or 1, do not activate the pool. Note that many python/numpy implementations use a BLAS library that already multithread linear algebra operations. fit: --inverse take the reciprocal/inverse of the data (1/xfer) and fit that. Good for fitting compensation filters. --never_unstable_poles During the phase patching tests, unstable roots will be added if detected with statistical significance. This prevents the addition of unstable poles. --never_unstable_zeros During the phase patching tests, unstable roots will be added if detected with statistical significance. This prevents the addition of unstable zeros. fitting: -k GAIN, --gain GAIN Initial gain for the fit -p [POLES ...], --poles [POLES ...] Initial poles used in the fit. -P [POLES_OVERLAY ...], --poles_overlay [POLES_OVERLAY ...] poles guaranteed to be part of the fit. -z [ZEROS ...], --zeros [ZEROS ...] Initial zeros used in the fit. -Z [ZEROS_OVERLAY ...], --zeros_overlay [ZEROS_OVERLAY ...] zeros guaranteed to be part of the fit. operating mode: --suggest How to use the rational fitter when provided an initial ZPK argument. the default of False causes the rational to overlay the ZPK suggestion, forcing the roots in the suggestion to be used during the optimization stage. If set to True, the ZPK will suggest initial poles to use during the fit, which can accellerate convergence or cause it to start at a lower initial order, speeding up future fitting operations. residuals: --alternate_residuals ALTERNATE_RESIDUALS Flag to switch from using log/phase residuals to using dual ratio residuals as the principle fit residuals. Log/phase is typically better behaved. --h_infinity H_INFINITY Use an partial h_infinity norm during the nonlinear fitting (does not apply to the linear fits). This argument takes a [0, 1] float for the fraction of the residuals to include. If 1, this is true h_infinity, if < 1, then the residuals are ranked, and the smallest fraction of them have h_infinity_deweight applied to them, to lower their affect of the fit. This argument may also be an array, in which case it reweights the ranked residuals (ranking array should be largest to smallest). It may alternatively take a function, which is given the length, and returns the reweighting array. --h_infinity_deweight H_INFINITY_DEWEIGHT Factor to de-weight the residuals below the h_infinity threshold. If 0, they are clipped. Defaults to 0.1, to reduce the significance 10x. Factors >1 imply an h_0 type fit, where outliers are more strongly ignored. --residuals_type {log,dualA,dualB,poles,zeros} Standard residuals type to use for the optimizations. Must be one of the definitions below, where R=fit/data, the ratio of fit to data and W is the SNR: log: W*(ln(|R|) + 1j*R.imag/|R|) dualA: W*(R + 1/R - 2)/2 dualB: W*(R - 1/R)/2 poles: W*(1/R - 1) zeros: W*(R - 1) --residuals_type_alt {log,dualA,dualB,poles,zeros} Standard alternate residuals type to use during optimization annealing. See residuals_type for options. speed: --baseline_only Only fit down to baseline, do not do successive order reduction. --greedy_order GREEDY_ORDER Does only partial optimization during the reduce step. Greatly speeds up order reduction, but may not be as effective. Defaults to 30, where it uses greedy optimization until reaching order 30, then uses combinatoric optimization. tuning: --prune_Qrank PRUNE_QRANK Pre-prune the filter. Useful for order reduction of StateSpace models. The Q-ranking is like a weighted fminreal order reduction. It ranks pole-zero by their distance divided by bandwidth. Values smaller than .1-.5 remove only pairs that have small adjustments to a transfer function and can generally be removed without modifying it. tunings: --distance_limit_scale DISTANCE_LIMIT_SCALE Scaling for how to limit root bandwidth for roots in-between data points. Increase to force roots to lower Q, decrease to allow higher Qs. --root_F_Hz_max ROOT_F_HZ_MAX Maximum frequency of root complex part. --root_bandwidth_Hz_max ROOT_BANDWIDTH_HZ_MAX Maximum bandwidth of any pole or zero in the fit. This affects the asymptotic rolloff when relative_degree is constrained.