NCAR / ucomp-pipeline

Data processing pipeline for UCoMP
Other
6 stars 3 forks source link

Rest wavelength computation #175

Open detoma opened 1 year ago

detoma commented 1 year ago

The new criteria adopted to estimate the rest wavelength do not work when the line center is more in the blue filter than in the center one.

Let's reverse back to what we are currently doing for the quick invert:

good_indices = where(summed_intensity gt 0.2 $
                       and summed_intensity lt 120.0 $
                       and line_width gt 15.0 $
                       and line_width lt 50.0 $
                       and abs(doppler_shift) lt 40.0 $
                       and doppler_shift ne 0.0, $
                     complement=bad_indices, /null)

Tasks

Questions

[!NOTE] Time estimate: This should take less than an hour to implement.

detoma commented 1 year ago

We can add one condition that limit the fov to limit going into the noise/stray light on the left side of the detector.

We can add that the radial distance from the Sun's center is below 1.5 solar radii. This should limit some noisy pixels to go into the rest wavelength computation, regardless if the line is centered or not.

detoma commented 1 year ago

Ultimately this should be done using the Kitt Peak atlas and computing the shift, like for CoMP. This is a lot of work. May not be done before commissioning.

If we remove the mean/median of the coronal velocity, what is the optimal region/criteria for 1074? What about the other fainter wavelengths? Need some guidance from Steve. Velocity is very sensitive to this subtraction.

bberkeyU commented 1 year ago

Steve's code, which produced the Value vs time code including the waveoff plots can be found in HAO-IG\UCOMP\Integration and Testing\Data Processing\UCoMP_Plot_Values_vs_Time.pro

To produce the plot, he reads the daily median file and then does the following steps to reduce the east-west biases.

;    to reduce bias due to east-west coronal distribution, find brightness at each wavelength by the steps     
;    apply threshhold 2ppm 3ppm? to each wavelength and find mask with most pixel and use that mask
;    find median intensity of east side and west side of mask
;    average these
;    fit with gaussian vs wavelength

    thr = 4.      ;threshold

    xval = rebin(findgen(nx)-float(nx)/2.,nx,ny)
    east = where(intens[*,*,imax] gt thr and xval lt 0.,ce)
    west = where(intens[*,*,imax] gt thr and xval gt 0.,cw)

    if ce gt 0 and cw gt 0 then begin 
        y = fltarr(nwave)
        for j=0,nwave-1 do begin
            d = intens[*,*,j]
            **y[j] = (median(d[east])+ median(d[west]))/2.**
        endfor
        if nwave gt 3 then result = gaussfit(wave,y,a,nterms=3) else begin
            gauss_fit_3,wave,y,wav,wid,icent
            a = [icent,wav,wid]
        endelse
detoma commented 1 year ago

Is thr = 4 millionths for all wavelengths?

mgalloy commented 1 year ago

The routine quoted above, UCoMP_Plot_Values_vs_Time.pro, only handles 1074 files.

detoma commented 1 year ago

How is the rest wavelength and doppler velocity computed for the other lines ? A thr =4 works for 1074 and 1079, and barely for 789, but the other lines do not have enough pixels above this value.

mgalloy commented 11 months ago

These are the plots of using Steve's method above to compute the rest wavelengths for 1074 nm in median waves/synoptic files.

Synoptic:

ucomp rest_wavelength synoptic

Waves:

ucomp rest_wavelength waves

Compared to Steve's plot:

ucomp steve wavelength-shift
bberkeyU commented 11 months ago

Thanks, Mike,

Is it possible to over plot the two series.

mgalloy commented 11 months ago

I don't have the data values for Steve's plot. @StevenTomczyk are they in the Subversion repo somewhere?

bberkeyU commented 11 months ago

Sorry I wasn't clear. Can you over-plot waves and synoptic? Based on the code, I don't think Steve saved the results from his processing anywhere other than as a post-script plot.

mgalloy commented 11 months ago

@berkeyU Ah, do you want a difference plot? or just the two sets of data on the same plot? Using two different symbols and colors might be able to make them distinguishable.

bberkeyU commented 11 months ago

Maybe both. But I think the two data sets in different color would be most intesting.

detoma commented 11 months ago

The trends are similar but this is not what Steve plots and cannot be directly compared with his time series. It does not seem Mike used Steve's code but the equations above inside another code. Steve has a step to find the wavelength that is the brightest before finding the "east" west" criteria. Was this step included? I also see a line in Steve code that does this: wcor = wave0-wavoff+1.89

We need to have a more in depth discussion with Steve on this.

bberkeyU commented 11 months ago

If I look at mikes plot as it goes from about zero to -20 km/s in November 21 to Jan 22. And convert to nm with (-20km/s) /c*1074.7nm, it gets a change of -0.07 nm which matches Steve's plot to within the error bars of my abilities to read it.

bberkeyU commented 11 months ago

I think the wcor = wave0-wavoff+1.89 equation is only used to produce the Wavelength Shift-Offset (nm) plot, which smooths out the saw tooth we see in Mikes plots by subtracting out the wavelength offsets we applied to the lyot filter.

The equivalent value to what Mike products is from ucomp_plot_values_vs_time.pro line 156: plot,time[good],wave0[good],xtit='Time (years)',ytit='Wavelength (nm)',psym=4,xsty=1,yr=[ymin,ymax],tit='Wavelength Shift',$ xr=[min(time[good])-0.05,max(time[good])+0.05] This is a plot of just Steves wave0; and does not include the updates to the lyot filter waveoff set or whatever the magic 1.89 number did.

detoma commented 11 months ago

I cannot compare these plots "by eye" the y-axis and x-axis are different.

I am not sure Mike and Steve results, as presented here, are directly comparable: I do not fully understand the line : wcor = wave0-wavoff+1.89 wavoff changes over time. Does Mike subtract it? The pipeline median files had a rest wavelength already subtracted. Was this added back?

bberkeyU commented 11 months ago

Wavoff was the lyot filter offset that we updated every couple months to fix the blueward drift of the filter. It is in the l0 fits header (at least started in the second half of 2021)

Mike and Steve plots attached to this thread do not include wavoff. Steve's plot is only of wave0

The plot of wave0-wavoff doesnt have the saw tooth pattern seen in the above plots.

bberkeyU commented 11 months ago

Fyi between mid 21 (not sure exact date) and Nov 22, we shifted wavoff by -0.26nm which translates to 73km/s. To the resolution I can measure the sawtooth vertical steps in mikes waves plot on my phone. I find the total corrections to be between 60 and 80 km/s

mgalloy commented 11 months ago
mgalloy commented 11 months ago

Try 1.0-2.0 for threshold for 1074 nm rest wavelength computation and compare to 4.0 used by Steve.

detoma commented 11 months ago

When ready to re-run this, let's do the computations using thr =4 and thr =1 for comparison.

mgalloy commented 11 months ago

Steve's plot that I am trying to reproduce is:

Screenshot 2023-11-10 at 4 37 12 PM

I am not getting as good a fit as Steve does.

1074 nm, threshold=4.0, synoptic:

1074 nm, threshold=4.0, synoptic

1074 nm, threshold=4.0, waves:

1074 nm, threshold=4.0, waves

1074 nm, threshold=1.0, synoptic:

1074 nm, threshold=1.0, synoptic

1074 nm, threshold=1.0, waves:

1074 nm, threshold=1.0, waves

bberkeyU commented 11 months ago

What are you plotting at the line fit? It looks like wrong slop always high early and low later in the mission. And other than maybe the high cluster in June 2021 on the 1074 nm, threshold=1.0, synoptic plot, I can see anything that would cause the fit to be off by that much.

Are there some extreme outliers of the plot? What if we moved the start of the fitting to August/September of 2021? Would the fit get better?

Is this not linear? If the crystals are annealing over time, we would expect them to stop drifting at some point.

mgalloy commented 11 months ago

To try to reconcile plots:

Also:

mgalloy commented 11 months ago

Doing the above steps:

threshold=4.0, combined waves and synoptic

Note that with tighter tolerances such as 0.05 and 0.025, I start to get worse fits (only removing 7 and 12 points, instead of 5 points).

mgalloy commented 11 months ago

I need a list of good days to test this on.

detoma commented 11 months ago

I suggest to test it on a dozen days through the mission, including some days when the velocity looks bad because of stray light. I would also include a couple of days with CMEs.

bberkeyU commented 11 months ago

Can we run this on the #210 Reprocess test dates ? If this set of dates doesn't cover the conditions Giuliana is asking about we should amend the list to include those good/bad dates.

detoma commented 11 months ago

Here is a list of days to test this: 2021 08 28 2021 09 24 2021 11 20 2022 01 11 2022 02 25 2022 03 31 2022 04 13 2022 06 12 2022 07 28 2022 08 25 2022 09 01 2022 09 14 2022 09 30 2022 10 26

mgalloy commented 11 months ago

For the 1079 data on 20220901, I got the following:

logs.latest$ grep "rest wavelength from data" 20220901.ucomp.eod.log
20231114.084833 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -12.39 km/s, from model: -18.03 km/s
20231114.084841 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -12.44 km/s, from model: -18.03 km/s
20231114.084849 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -11.97 km/s, from model: -18.03 km/s
20231114.084856 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -12.08 km/s, from model: -18.03 km/s
20231114.084903 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -11.64 km/s, from model: -18.03 km/s
20231114.084910 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -11.66 km/s, from model: -18.03 km/s
20231114.084917 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -11.48 km/s, from model: -18.03 km/s
20231114.084924 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -11.35 km/s, from model: -18.03 km/s
20231114.084931 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -10.82 km/s, from model: -18.03 km/s
20231114.084938 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -10.56 km/s, from model: -18.03 km/s
20231114.084945 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -10.78 km/s, from model: -18.03 km/s
20231114.084952 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -10.71 km/s, from model: -18.03 km/s
20231114.084959 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -10.31 km/s, from model: -18.03 km/s
20231114.085006 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -9.69 km/s, from model: -18.03 km/s
20231114.085013 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -10.45 km/s, from model: -18.03 km/s
20231114.085019 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -9.58 km/s, from model: -18.03 km/s
20231114.085026 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -9.31 km/s, from model: -18.03 km/s
20231114.085040 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -12.43 km/s, from model: -18.03 km/s
20231114.085054 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -12.43 km/s, from model: -18.03 km/s

Using the model, the velocity appears quite red for 1079 on this day.

bberkeyU commented 11 months ago

Could this be explained by a wrong intercept to the line fit? We don't understand Steve's 1.89 factor for 1074. What would this look like if we added 11 km/s or the equivalent nm conversion to the data.

detoma commented 11 months ago

The difference between the model and the data correction is very large and suggest they are on a different scale. Did you apply the adjustment to the data before the model correction, i.e. wcor = wave0-wavoff+1.89 ? The model correction is based on the adjusted data.

bberkeyU commented 11 months ago

Why does " logs.latest$ grep "rest wavelength from data" 20220901.ucomp.eod.log" only output 1079 data? Shouldn't the other wavelengths be in here too?

mgalloy commented 11 months ago

I have been running that day over and over again, so I was only processing 1079 since it is similar to 1074, but much shorter (it only takes 15-20 minutes to process it). Maybe I should try another day with some, but not a lot of, 1074 data?

bberkeyU commented 11 months ago

I dont think we need to re-run I just didnt understand why there wasn't 1074 in the results.

By eye it looks like the average value of the mearued result is ~11 km/s. So we have some sort of 7km/s discrepancy which I think is .025nm. This is approximately the difference we see between the 1074/1079 wavelength offsets of .03nm (or 8.3 km/s).

mgalloy commented 11 months ago

20220915 has 39 1074 nm science files, so I'm testing on it now:

logs.latest$ grep "rest wavelength from data" 20220915.ucomp.eod.log
20231114.133052 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -2.22 km/s, from model: -1.26 km/s
20231114.133101 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -2.22 km/s, from model: -1.26 km/s
20231114.133109 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.15 km/s, from model: -1.26 km/s
20231114.133118 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.17 km/s, from model: -1.26 km/s
20231114.133126 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.11 km/s, from model: -1.26 km/s
20231114.133135 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.20 km/s, from model: -1.26 km/s
20231114.133143 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.21 km/s, from model: -1.26 km/s
20231114.133152 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.31 km/s, from model: -1.26 km/s
20231114.133201 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.24 km/s, from model: -1.26 km/s
20231114.133209 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.23 km/s, from model: -1.26 km/s
20231114.133218 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.35 km/s, from model: -1.26 km/s
20231114.133226 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.31 km/s, from model: -1.26 km/s
20231114.133235 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.30 km/s, from model: -1.26 km/s
20231114.133243 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.36 km/s, from model: -1.26 km/s
20231114.133252 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.24 km/s, from model: -1.26 km/s
20231114.133300 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.25 km/s, from model: -1.26 km/s
20231114.133308 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.42 km/s, from model: -1.26 km/s
20231114.133316 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.34 km/s, from model: -1.26 km/s
20231114.133324 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.47 km/s, from model: -1.26 km/s
20231114.133332 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.57 km/s, from model: -1.26 km/s
20231114.133341 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.54 km/s, from model: -1.26 km/s
20231114.133349 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.58 km/s, from model: -1.26 km/s
20231114.133358 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.69 km/s, from model: -1.26 km/s
20231114.133407 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.68 km/s, from model: -1.26 km/s
20231114.133415 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.64 km/s, from model: -1.26 km/s
20231114.133424 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.69 km/s, from model: -1.26 km/s
20231114.133432 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.58 km/s, from model: -1.26 km/s
20231114.133440 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.64 km/s, from model: -1.26 km/s
20231114.133449 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.82 km/s, from model: -1.26 km/s
20231114.133457 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.74 km/s, from model: -1.26 km/s
20231114.133506 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.77 km/s, from model: -1.26 km/s
20231114.133514 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.74 km/s, from model: -1.26 km/s
20231114.133522 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.82 km/s, from model: -1.26 km/s
20231114.133530 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.71 km/s, from model: -1.26 km/s
20231114.133620 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -2.23 km/s, from model: -1.26 km/s
20231114.133628 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.49 km/s, from model: -1.26 km/s
20231114.133722 DEBUG: UCOMP_L2_FILE: rest wavelength from data: -2.23 km/s, from model: -1.26 km/s
20231114.133731 DEBUG: UCOMP_L2_FILE: rest wavelength from data: 1.47 km/s, from model: -1.26 km/s
bberkeyU commented 11 months ago

The pngs with the new reprocessing look much redder than the old version. With the new processing, the first two files (18:09:03 and 18:11:36) look okay, but the rest of the day, 19:58:37-> look too red.

In the old processing, we also see the first two files are bluer than the other 36. So, the new processing has the wrong rest wavelength offset. New: /hao/dawn/Data/UCoMP/process.latest/20220915/level2 Old: /hao/dawn/Data/UCoMP/process/20220915/level2

mgalloy commented 11 months ago

The 1.89 nm offset is to make the offset needed to make the rest wavelength be the center wavelength for that wave region.

mgalloy commented 10 months ago

I think either LINFIT is broken or I am using it wrong. I am getting better results with POLY_FIT even when I try to fit a 1st order polynomial to the rest wavelength data. At least, as I remove outliers, I can make the fit better, which I couldn't do with LINFIT.

detoma commented 10 months ago

I think poly_fit is better. This is what I normally use. How different are the coefficient when using poly_fit for the 1st order?

mgalloy commented 10 months ago

I can get a much better fit with POLY_FIT (degree 1): $1079.809 -0.235 Y$ with $\chi^2 = 0.00570$ using the best 397 points of the 548 total points. The best I could do with LINFIT was $1080.12 - 0.25 Y$ with $\chi^2 = 0.04803.$

The POLY_FIT $n=1$ fit (red points are outliers that are thrown out):

polyfit-degree-1

The 2nd order fit looks much better: $1100.070 - 2.049 Y + 0.041 Y^2$ with $\chi^2 = 0.00576$ using the best 465 points (the degree 1 fit throws away 68 more points).

The POLY_FIT $n=2$ fit:

polyfit-degree-2

mgalloy commented 10 months ago

By the way, I think LINFIT is straight up broken. I might file a bug report on it. I kept getting worse fits as I was throwing away outliers. The line clearly didn't go through the remaining points! I kept my exact code, but used POLY_FIT with degree 1 and all the problems went away.

detoma commented 10 months ago

Since now the linear fits goes through the data in late 2022, I think it will give better results than the second order. If we subtract a larger number in 2021, the data are going to be even bluer.

bberkeyU commented 10 months ago

Am I correct in assuming that if we apply the model correction, the outlier days will have funky-looking LOS Velocity plots? If we think this is the case; can we produce a list of the outlier days? It might be instructive to look at the data to see why they are outliers.

Also if we aren't already doing it we should add some outliers to our repocessing test to see how crazy things can get.

detoma commented 10 months ago

I did not expect LINFIT to give incorrect results but it has been considered obsolete/deprecated in IDL for a long time. It was unclear why you could not get a good fit after removing outliers. This explains why, which is good to know.

bberkeyU commented 10 months ago

According to the logs, we moved the field lens February 2nd 2022. This significantly reduced the amount of light blocked by the Lyot stop. This stopping is chromatic, so there should have been more off-band light (I will need to consider whether it should be red or blue) scattered into the images. If the jump in the rest of the wavelength plots happens around Feb 2nd, we probably need a before and after fit.

detoma commented 10 months ago

Interesting Ben. This is about when I start to see "good" line widths values. I can determine the time more precisely when we reprocess the full mission but in 2021 and January 2022, the line width was too broad. If it were correct, it would imply a non-thermal velocity of 40-50km/s which is not consistent with previous coronal observations. Starting in February 2022, the line width values are credible.

Based on the COMP experience, the line width is the quantity more affected by stray light. There is a small jump in the rest wavelength at about 2022.1 visible in the fit, but is fairly small. I think for AGU we can use the single fit but should do two fits in future.

mgalloy commented 10 months ago

For 20220901 with WAVOFF=2.070, I'm now getting the following rest wavelengths with the new POLY_FIT computed fits:

fit type rest wavelength [km/s]
linear -8.324 km/s
quadratic -8.193 km/s

The old model (used in .commissioning-test) was giving a rest wavelength of -9.77 km/s and I think the LOS velocity looks too red. So I think this is a change in the right direction. For our 6 test days, the results in commissioning-test-3 show the linear fit and the results in commissioning-test-4 show the quadratic fit.

mgalloy commented 10 months ago

By the way, the rest wavelength calculation is highly sensitive to precision because of the multiplication by the speed of light, so we should report results to enough significant digits and use double precision for the calculation.

mgalloy commented 10 months ago

The algorithm progressively removes outliers as it improves the fit, so the outliers are removed in waves.

For the linear fit:

removed 1 bad points
initial coeffs: 1079.951660, -0.240953, chi sqr: 0.75770

tolerance: 0.100
20211020 [difference: 0.109]
20211123 [difference: 0.802]
20220118 [difference: 0.219]
20220806 [difference: 0.111]
removed 4 bad points
1. coeffs: 1079.888916, -0.238210, chi sqr: 0.04062 (543 points)

tolerance: 0.050
20211025 [difference: 0.053]
20211224 [difference: 0.050]
removed 2 bad points
2. coeffs: 1079.886108, -0.238080, chi sqr: 0.03522 (541 points)

tolerance: 0.020
20210718 [difference: 0.020]
20211009 [difference: 0.022]
20211022 [difference: 0.025]
20211025 [difference: 0.027]
20211218 [difference: 0.043]
20220112 [difference: 0.041]
20220117 [difference: 0.048]
20220118 [difference: 0.028]
20220123 [difference: 0.020]
removed 9 bad points
3. coeffs: 1079.891846, -0.238326, chi sqr: 0.02597 (532 points)

tolerance: 0.010
20210715 [difference: 0.019]
20210716 [difference: 0.017]
20210719 [difference: 0.017]
20210720 [difference: 0.016]
20210722 [difference: 0.013]
20210724 [difference: 0.014]
20210730 [difference: 0.012]
20210731 [difference: 0.014]
20210801 [difference: 0.013]
20210802 [difference: 0.015]
20210803 [difference: 0.018]
20210804 [difference: 0.016]
20210805 [difference: 0.014]
20210806 [difference: 0.017]
20210807 [difference: 0.010]
20210808 [difference: 0.011]
20210812 [difference: 0.011]
20210814 [difference: 0.010]
20210816 [difference: 0.011]
20210817 [difference: 0.011]
20210821 [difference: 0.011]
20210824 [difference: 0.014]
20210825 [difference: 0.015]
20210826 [difference: 0.017]
20210828 [difference: 0.017]
20210903 [difference: 0.014]
20210907 [difference: 0.017]
20210908 [difference: 0.014]
20210912 [difference: 0.011]
20210923 [difference: 0.014]
20211007 [difference: 0.012]
20211020 [difference: 0.014]
20211022 [difference: 0.018]
20211102 [difference: 0.011]
20211125 [difference: 0.012]
20211213 [difference: 0.010]
20211225 [difference: 0.017]
20220101 [difference: 0.012]
20220101 [difference: 0.016]
20220104 [difference: 0.012]
20220105 [difference: 0.012]
20220105 [difference: 0.016]
20220106 [difference: 0.015]
20220106 [difference: 0.011]
20220107 [difference: 0.014]
20220108 [difference: 0.016]
20220109 [difference: 0.014]
20220110 [difference: 0.012]
20220110 [difference: 0.017]
20220111 [difference: 0.012]
20220112 [difference: 0.010]
20220113 [difference: 0.010]
20220115 [difference: 0.017]
20220116 [difference: 0.017]
20220119 [difference: 0.015]
20220119 [difference: 0.016]
20220120 [difference: 0.016]
20220120 [difference: 0.015]
20220121 [difference: 0.015]
20220121 [difference: 0.015]
20220122 [difference: 0.015]
20220122 [difference: 0.020]
20220123 [difference: 0.014]
20220124 [difference: 0.013]
20220124 [difference: 0.018]
20220224 [difference: 0.011]
20220608 [difference: 0.010]
20220609 [difference: 0.012]
20220718 [difference: 0.011]
20220909 [difference: 0.011]
20220925 [difference: 0.011]
20220929 [difference: 0.012]
20220930 [difference: 0.011]
20221004 [difference: 0.011]
20221016 [difference: 0.012]
20221019 [difference: 0.016]
20221022 [difference: 0.012]
20221022 [difference: 0.013]
20221023 [difference: 0.014]
removed 79 bad points
4. coeffs: 1079.856567, -0.236752, chi sqr: 0.01037 (453 points)

tolerance: 0.007
20210810 [difference: 0.011]
20210815 [difference: 0.011]
20210819 [difference: 0.011]
20210828 [difference: 0.011]
20210829 [difference: 0.009]
20210902 [difference: 0.010]
20210903 [difference: 0.011]
20210904 [difference: 0.008]
20210905 [difference: 0.011]
20210907 [difference: 0.008]
20210911 [difference: 0.008]
20210913 [difference: 0.008]
20210914 [difference: 0.009]
20210923 [difference: 0.009]
20210924 [difference: 0.009]
20210928 [difference: 0.008]
20210929 [difference: 0.009]
20211004 [difference: 0.010]
20211005 [difference: 0.010]
20211010 [difference: 0.010]
20211026 [difference: 0.008]
20211103 [difference: 0.010]
20211127 [difference: 0.009]
20211211 [difference: 0.008]
20211213 [difference: 0.009]
20211224 [difference: 0.008]
20211225 [difference: 0.008]
20220115 [difference: 0.009]
20220116 [difference: 0.009]
20220130 [difference: 0.009]
20220220 [difference: 0.009]
20220223 [difference: 0.008]
20220311 [difference: 0.009]
20220311 [difference: 0.008]
20220313 [difference: 0.008]
20220320 [difference: 0.008]
20220320 [difference: 0.009]
20220331 [difference: 0.009]
20220522 [difference: 0.010]
20220601 [difference: 0.009]
20220602 [difference: 0.009]
20220604 [difference: 0.008]
20220606 [difference: 0.008]
20220611 [difference: 0.009]
20220709 [difference: 0.008]
20220726 [difference: 0.008]
20220726 [difference: 0.008]
20220830 [difference: 0.009]
20220901 [difference: 0.008]
20220917 [difference: 0.009]
20220920 [difference: 0.008]
20220921 [difference: 0.009]
20221002 [difference: 0.008]
20221016 [difference: 0.008]
20221017 [difference: 0.008]
20221020 [difference: 0.009]
removed 56 bad points
5. coeffs: 1079.808594, -0.234617, chi sqr: 0.00570 (397 points)