{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Using an external optimizer\n", "Hazel comes with a preconfigured efficient Levenberg-Marquard algorithm, but it can also use any external optimizer. It can seamlessly integrate all SciPy optimizers but it also provides the tools to use other optimizers." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2018.9.22\n" ] } ], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as pl\n", "import hazel\n", "import h5py\n", "from scipy.optimize import minimize, differential_evolution\n", "print(hazel.__version__)\n", "label = ['I', 'Q', 'U', 'V']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's start by generating a model by reading the following configuration file:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# Hazel configuration File\r\n", "\r\n", "[Working mode]\r\n", "Output file = output.h5\r\n", "Number of cycles = 1\r\n", "\r\n", "# Topology\r\n", "# Always photosphere and then chromosphere\r\n", "# Photospheres are only allowed to be added with a filling factor\r\n", "# Atmospheres share a filling factor if they are in parenthesis\r\n", "# Atmospheres are one after the other with the -> operator\r\n", "# Atmosphere 1 = ph2 -> ch1 -> ch2\r\n", "\r\n", "[Spectral regions]\r\n", " [[Region 1]]\r\n", " Name = spec1\r\n", " Wavelength = 10826, 10833, 150\r\n", " Topology = ph1 -> ch1 -> te1\r\n", " Stokes weights = 1.0, 1.0, 1.0, 1.0\r\n", " LOS = 0.0, 0.0, 90.0\r\n", " Boundary condition = 1.0, 0.0, 0.0, 0.0 # I/Ic(mu=1), Q/Ic(mu=1), U/Ic(mu=1), V/Ic(mu=1)\r\n", " Wavelength file = 'observations/10830.wavelength'\r\n", " Wavelength weight file = 'observations/10830.weights'\r\n", " Observations file = 'observations/10830_stokes.1d' \r\n", " Weights Stokes I = 1.0, 0.0, 0.0, 0.0\r\n", " Weights Stokes Q = 0.0, 0.0, 0.0, 0.0\r\n", " Weights Stokes U = 0.0, 0.0, 0.0, 0.0\r\n", " Weights Stokes V = 0.0, 0.0, 0.0, 0.0\r\n", " Mask file = None\r\n", "\r\n", "[Atmospheres]\r\n", "\r\n", " [[Photosphere 1]]\r\n", " Name = ph1\r\n", " Reference atmospheric model = 'photospheres/model_photosphere_200.1d'\r\n", " Spectral region = spec1\r\n", " Wavelength = 10826, 10833\r\n", " Spectral lines = 300,\r\n", "\r\n", " [[[Ranges]]]\r\n", " T = 2500.0, 9000.0\r\n", " vmic = 0.0, 3.0\r\n", " v = -10.0, 10.0\r\n", " Bx = -1000.0, 1000.0\r\n", " By = -1000.0, 1000.0\r\n", " Bz = -1000.0, 1000.0\r\n", " ff = 0.0, 1.001\r\n", "\r\n", " [[[Nodes]]]\r\n", " T = 1, 1, 5, 5\r\n", " vmic = 1, 0, 1, 1\r\n", " v = 0, 0, 1, 1\r\n", " Bx = 0, 0, 1, 1\r\n", " By = 0, 0, 1, 1\r\n", " Bz = 0, 0, 1, 1\r\n", " ff = 0, 0, 0, 0\r\n", "\r\n", "\r\n", " [[Chromosphere 1]]\r\n", " Name = ch1 # Name of the atmosphere component\r\n", " Spectral region = spec1 # Spectral region to be used for synthesis\r\n", " Height = 3.0 # Height of the slab\r\n", " Line = 10830 # 10830, 5876\r\n", " Wavelength = 10828, 10833 # Wavelength range used for synthesis\r\n", " Reference atmospheric model = 'chromospheres/model_chromosphere.1d' # File with model parameters\r\n", "\r\n", " [[[Ranges]]]\r\n", " Bx = -500, 500\r\n", " By = -500, 500\r\n", " Bz = -500, 500\r\n", " tau = 0.1, 2.0\r\n", " v = -10.0, 10.0\r\n", " deltav = 3.0, 12.0\r\n", " beta = 0.9, 2.0\r\n", " a = 0.0, 1.0\r\n", " ff = 0.0, 1.001\r\n", " \r\n", "\r\n", " [[[Nodes]]]\r\n", " Bx = 0, 0, 1, 1\r\n", " By = 0, 0, 1, 1\r\n", " Bz = 0, 0, 1, 1\r\n", " tau = 0, 0, 0, 0\r\n", " v = 0, 0, 0, 0\r\n", " deltav = 0, 0, 0, 0\r\n", " beta = 0, 0, 0, 0\r\n", " a = 0, 0, 0, 0\r\n", " ff = 0, 0, 0, 0\r\n", " \r\n", " [[Parametric 1]]\r\n", " Name = te1\r\n", " Spectral region = spec1\r\n", " Wavelength = 10828, 10833\r\n", " Reference atmospheric model = 'telluric/model_telluric.1d' # File with model parameters\r\n", " Type = Voigt # Voigt, MoGaussian, MoVoigt \r\n", "\r\n", " [[[Ranges]]]\r\n", " Lambda0 = 10832.0, 10834.0\r\n", " Sigma = 0.1, 0.5\r\n", " Depth = 0.2, 0.8\r\n", " a = 0.0, 1.2\r\n", " ff = 0.0, 1.001\r\n", " \r\n", " [[[Nodes]]]\r\n", " Lambda0 = 0, 0, 0, 0\r\n", " Sigma = 0, 0, 0, 0\r\n", " Depth = 0, 0, 0, 0\r\n", " a = 0, 0, 0, 0\r\n", " ff = 0, 0, 0, 0\r\n" ] } ], "source": [ "%cat conf_single.ini" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a very simple inversion in which only two variables are inverted. This is surely not realistic but serves for the purpose of showing how more complicated things can be done. Let's then read the configuration file and read the observation file defined in the configuration file." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Test a single inversion in non-iterator mode\n", "mod = hazel.Model('conf_spot.ini', working_mode='inversion', verbose=2)\n", "mod.read_observation()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, let us invert it with the Levenberg-Marquartd algorithm provided by Hazel:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2018-10-05 13:15:04,949 - -------------\n", "2018-10-05 13:15:04,950 - Cycle 0 \n", "2018-10-05 13:15:04,952 - Weights for region spec1 : SI=1.0 - SQ=0.0 - SU=0.0 - SV=0.0\n", "2018-10-05 13:15:04,953 - -------------\n", "2018-10-05 13:15:04,955 - Free parameters for ph1\n", "2018-10-05 13:15:04,957 - - T with 1 node\n", "2018-10-05 13:15:04,959 - - vmic with 1 node\n", "2018-10-05 13:15:05,270 - It: 0 - chi2: 111.73491265894616 - lambda: 0.01827468471342611 - rel: -1.9999999553060352\n", "2018-10-05 13:15:05,437 - It: 1 - chi2: 94.9879533212469 - lambda: 0.004287504963923828 - rel: -0.1620232890860157\n", "2018-10-05 13:15:05,540 - It: 2 - chi2: 94.9844932019989 - lambda: 0.09602514964800882 - rel: -3.642759054093184e-05\n" ] } ], "source": [ "mod.open_output()\n", "mod.invert()\n", "mod.write_output()\n", "mod.close_output()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "final = np.loadtxt('photospheres/model_photosphere.1d', skiprows=4)\n", "start = np.loadtxt('photospheres/model_photosphere_200.1d', skiprows=4)\n", "f = h5py.File('output.h5')\n", "pl.plot(f['ph1']['T'][0,0,:])\n", "pl.plot(final[:,1])\n", "pl.plot(start[:,1], 'x')\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using SciPy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we open the output file, call `invert_external`, write the output and close it. `invert_external` allows the user to pass an SciPy optimizer and the arguments for the optimizer. The advantage of the SciPy optimizers is that they share the arguments. In this example, we'll use the Nelder-Mead algorithm, that does not use derivatives." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:19:45,202 - Using configuration from file : conf_spot.ini\n", "2019-02-04 08:19:45,219 - Backtracking mode : brent\n", "2019-02-04 08:19:45,220 - Adding spectral region spec1\n", "2019-02-04 08:19:45,221 - - Reading wavelength axis from 10830_spot.wavelength\n", "2019-02-04 08:19:45,237 - - Reading wavelength weights from 10830_spot.weights\n", "2019-02-04 08:19:45,242 - - Using observations from 10830_spot.1d\n", "2019-02-04 08:19:45,244 - - No mask for pixels\n", "2019-02-04 08:19:45,245 - - No instrumental profile\n", "2019-02-04 08:19:45,246 - - Using LOS ['0.0', '0.0', '90.0']\n", "2019-02-04 08:19:45,247 - - Using boundary condition ['1.0', '0.0', '0.0', '0.0']\n", "2019-02-04 08:19:45,249 - Using 2 cycles\n", "2019-02-04 08:19:45,250 - Not using randomizations\n", "2019-02-04 08:19:45,251 - Adding atmospheres\n", "2019-02-04 08:19:45,251 - - New available chromosphere : ch1\n", "2019-02-04 08:19:45,253 - * Adding line : 10830\n", "2019-02-04 08:19:45,254 - * Magnetic field reference frame : vertical\n", "2019-02-04 08:19:45,255 - * Reading 1D model chromospheres/init_spot.1d as reference\n", "2019-02-04 08:19:45,265 - - New available photosphere : ph1\n", "2019-02-04 08:19:45,267 - * Adding line : [300]\n", "2019-02-04 08:19:45,268 - * Magnetic field reference frame : vertical\n", "2019-02-04 08:19:45,269 - * Reading 1D model photospheres/init_spot.1d as reference\n", "2019-02-04 08:19:45,274 - Adding topologies\n", "2019-02-04 08:19:45,275 - - ph1 -> ch1\n", "2019-02-04 08:19:45,276 - Removing unused atmospheres\n", "2019-02-04 08:19:45,276 - Number of pixels to invert : 1\n", "2019-02-04 08:19:45,279 - Total number of free parameters in all cycles : 13\n", "2019-02-04 08:19:45,327 - -------------\n", "2019-02-04 08:19:45,328 - Cycle 0 \n", "2019-02-04 08:19:45,329 - Weights for region spec1 : SI=1.0 - SQ=0.0 - SU=0.0 - SV=0.0\n", "2019-02-04 08:19:45,330 - -------------\n", "/scratch/Dropbox/GIT/hazel2/hazel/transforms.py:21: RuntimeWarning: divide by zero encountered in double_scalars\n", " return np.log(x / (1.0 - x))\n", "2019-02-04 08:19:46,292 - chi2: 3795.7470631716324\n", "2019-02-04 08:19:46,422 - chi2: 3796.1194380671154\n", "2019-02-04 08:19:46,549 - chi2: 3796.2258347793313\n", "2019-02-04 08:19:46,680 - chi2: 3796.047389383589\n", "2019-02-04 08:19:46,814 - chi2: 3795.7989963009313\n", "2019-02-04 08:19:47,080 - chi2: 3794.437467178893\n", "2019-02-04 08:19:47,218 - chi2: 3794.7686379109255\n", "2019-02-04 08:19:47,490 - chi2: 3792.2741215269457\n", "2019-02-04 08:19:47,625 - chi2: 3793.637377973455\n", "2019-02-04 08:19:47,758 - chi2: 3793.9444598726545\n", "2019-02-04 08:19:47,889 - chi2: 3793.2676842463034\n", "2019-02-04 08:19:48,016 - chi2: 3792.754195633086\n", "2019-02-04 08:19:48,278 - chi2: 3790.1629463683885\n", "2019-02-04 08:19:48,416 - chi2: 3791.099772509932\n", "2019-02-04 08:19:48,541 - chi2: 3790.1736856313914\n", "2019-02-04 08:19:48,799 - chi2: 3787.8098061559413\n", "2019-02-04 08:19:48,925 - chi2: 3788.9482285283016\n", "2019-02-04 08:19:49,054 - chi2: 3788.481903112946\n", "2019-02-04 08:19:49,311 - chi2: 3784.532841733785\n", "2019-02-04 08:19:49,439 - chi2: 3786.0017537637823\n", "2019-02-04 08:19:49,567 - chi2: 3785.0149022143673\n", "2019-02-04 08:19:49,822 - chi2: 3779.7396744184375\n", "2019-02-04 08:19:49,953 - chi2: 3782.5713100132284\n", "2019-02-04 08:19:50,085 - chi2: 3781.740528116949\n", "2019-02-04 08:19:50,220 - chi2: 3780.0608165916196\n", "2019-02-04 08:19:50,499 - chi2: 3774.834428389877\n", "2019-02-04 08:19:50,635 - chi2: 3776.487648250191\n", "2019-02-04 08:19:50,763 - chi2: 3774.968724662549\n", "2019-02-04 08:19:51,018 - chi2: 3768.6477274335466\n", "2019-02-04 08:19:51,149 - chi2: 3771.495193122646\n", "2019-02-04 08:19:51,281 - chi2: 3769.3854055743946\n", "2019-02-04 08:19:51,536 - chi2: 3761.672732852133\n", "2019-02-04 08:19:51,662 - chi2: 3764.7609407835707\n", "2019-02-04 08:19:51,791 - chi2: 3762.8604648080877\n", "2019-02-04 08:19:52,048 - chi2: 3752.9246379213\n", "2019-02-04 08:19:52,177 - chi2: 3758.0050607902194\n", "2019-02-04 08:19:52,305 - chi2: 3755.376981941634\n", "2019-02-04 08:19:52,561 - chi2: 3741.9262799360645\n", "2019-02-04 08:19:52,690 - chi2: 3748.5903017188916\n", "2019-02-04 08:19:52,818 - chi2: 3745.92717241418\n", "2019-02-04 08:19:52,947 - chi2: 3742.9055654011504\n", "2019-02-04 08:19:53,205 - chi2: 3733.8475233082418\n", "2019-02-04 08:19:53,334 - chi2: 3738.049604872633\n", "2019-02-04 08:19:53,462 - chi2: 3735.3126750186534\n", "2019-02-04 08:19:53,718 - chi2: 3725.0236142234457\n", "2019-02-04 08:19:53,848 - chi2: 3729.586379429031\n", "2019-02-04 08:19:53,976 - chi2: 3725.4905400248977\n", "2019-02-04 08:19:54,106 - chi2: 3725.9483068754043\n", "2019-02-04 08:19:54,239 - chi2: 3725.9384478156358\n", "2019-02-04 08:19:54,512 - chi2: 3726.256981982228\n", "2019-02-04 08:19:54,646 - chi2: 3728.833590002748\n", "2019-02-04 08:19:54,916 - chi2: 3728.343851834904\n", "2019-02-04 08:19:55,177 - chi2: 3726.9398530782937\n", "2019-02-04 08:19:55,305 - chi2: 3726.343330643527\n", "2019-02-04 08:19:55,434 - chi2: 3724.9263704044192\n", "2019-02-04 08:19:55,687 - chi2: 3717.3016862108925\n", "2019-02-04 08:19:55,948 - chi2: 3723.2245413624796\n", "2019-02-04 08:19:56,075 - chi2: 3720.5979319575185\n", "2019-02-04 08:19:56,206 - chi2: 3717.9143986723816\n", "2019-02-04 08:19:56,336 - chi2: 3724.1015604382437\n", "2019-02-04 08:19:56,465 - chi2: 3724.4258123595355\n", "2019-02-04 08:19:56,592 - chi2: 3718.374195032217\n", "2019-02-04 08:19:56,848 - chi2: 3721.234309864587\n", "2019-02-04 08:19:57,101 - chi2: 3715.7095658819558\n", "2019-02-04 08:19:57,227 - chi2: 3718.5870168672714\n", "2019-02-04 08:19:57,485 - chi2: 3707.3036330781556\n", "2019-02-04 08:19:57,614 - chi2: 3709.824782246664\n", "2019-02-04 08:19:57,743 - chi2: 3708.034816665729\n", "2019-02-04 08:19:57,871 - chi2: 3710.289183182335\n", "2019-02-04 08:19:58,126 - chi2: 3702.8427242651474\n", "2019-02-04 08:19:58,378 - chi2: 3695.287347645473\n", "2019-02-04 08:19:58,506 - chi2: 3696.770067982812\n", "2019-02-04 08:19:58,774 - chi2: 3685.368545843614\n", "2019-02-04 08:19:58,910 - chi2: 3689.419737180983\n", "2019-02-04 08:19:59,045 - chi2: 3700.2284966565408\n", "2019-02-04 08:19:59,307 - chi2: 3673.898917582945\n", "2019-02-04 08:19:59,435 - chi2: 3677.901944920598\n", "2019-02-04 08:19:59,707 - chi2: 3654.885230027137\n", "2019-02-04 08:19:59,852 - chi2: 3663.038439669272\n", "2019-02-04 08:19:59,988 - chi2: 3660.225634917521\n", "2019-02-04 08:20:00,122 - chi2: 3668.745454773832\n", "2019-02-04 08:20:00,385 - chi2: 3622.901158944818\n", "2019-02-04 08:20:00,521 - chi2: 3635.8266276944714\n", "2019-02-04 08:20:00,656 - chi2: 3632.689286599287\n", "2019-02-04 08:20:00,795 - chi2: 3624.021680794471\n", "2019-02-04 08:20:01,092 - chi2: 3589.8464841308655\n", "2019-02-04 08:20:01,229 - chi2: 3600.6840500843805\n", "2019-02-04 08:20:01,354 - chi2: 3609.769061071951\n", "2019-02-04 08:20:01,622 - chi2: 3551.973339879864\n", "2019-02-04 08:20:01,758 - chi2: 3564.1515021757778\n", "2019-02-04 08:20:02,021 - chi2: 3498.670061762152\n", "2019-02-04 08:20:02,152 - chi2: 3536.7170735698196\n", "2019-02-04 08:20:02,284 - chi2: 3526.267380165079\n", "2019-02-04 08:20:02,425 - chi2: 3505.3479670189117\n", "2019-02-04 08:20:02,688 - chi2: 3409.8867319832566\n", "2019-02-04 08:20:02,824 - chi2: 3483.4387055336038\n", "2019-02-04 08:20:02,957 - chi2: 3439.8869670917798\n", "2019-02-04 08:20:03,215 - chi2: 3323.349628689581\n", "2019-02-04 08:20:03,347 - chi2: 3402.1425181887716\n", "2019-02-04 08:20:03,473 - chi2: 3359.7693023438947\n", "2019-02-04 08:20:03,604 - chi2: 3339.960627270747\n", "2019-02-04 08:20:03,867 - chi2: 3202.1650754763837\n", "2019-02-04 08:20:04,000 - chi2: 3281.828792129558\n", "2019-02-04 08:20:04,136 - chi2: 3226.603709856249\n", "2019-02-04 08:20:04,393 - chi2: 3054.203948052697\n", "2019-02-04 08:20:04,527 - chi2: 3134.493612119521\n", "2019-02-04 08:20:04,655 - chi2: 3113.6517904448588\n", "2019-02-04 08:20:04,809 - chi2: 3057.281428930169\n", "2019-02-04 08:20:05,080 - chi2: 2880.1100474994178\n", "2019-02-04 08:20:05,215 - chi2: 2944.471433590623\n", "2019-02-04 08:20:05,349 - chi2: 2900.4127085172217\n", "2019-02-04 08:20:05,620 - chi2: 2698.8060149956973\n", "2019-02-04 08:20:05,755 - chi2: 2786.153961733687\n", "2019-02-04 08:20:05,915 - chi2: 2712.5931566574372\n", "2019-02-04 08:20:06,187 - chi2: 2514.4988060587057\n", "2019-02-04 08:20:06,321 - chi2: 2607.5528205760634\n", "2019-02-04 08:20:06,451 - chi2: 2541.2797976481415\n", "2019-02-04 08:20:06,707 - chi2: 2320.6113922855125\n", "2019-02-04 08:20:06,838 - chi2: 2409.901444588529\n", "2019-02-04 08:20:06,967 - chi2: 2396.928482455016\n", "2019-02-04 08:20:07,099 - chi2: 2340.343709300031\n", "2019-02-04 08:20:07,359 - chi2: 2251.9842366637818\n", "2019-02-04 08:20:07,492 - chi2: 2278.686794671709\n", "2019-02-04 08:20:07,623 - chi2: 2256.5604224838835\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:20:07,754 - chi2: 2256.421231041984\n", "2019-02-04 08:20:07,882 - chi2: 2288.2370961353063\n", "2019-02-04 08:20:08,008 - chi2: 2348.744823424255\n", "2019-02-04 08:20:08,138 - chi2: 2356.4340491217004\n", "2019-02-04 08:20:08,393 - chi2: 2287.3121126777787\n", "2019-02-04 08:20:08,649 - chi2: 2279.394620449786\n", "2019-02-04 08:20:08,908 - chi2: 2277.218772609839\n", "2019-02-04 08:20:09,164 - chi2: 2273.527730202047\n", "2019-02-04 08:20:09,419 - chi2: 2262.919241044638\n", "2019-02-04 08:20:09,547 - chi2: 2262.7418555533213\n", "2019-02-04 08:20:09,806 - chi2: 2261.218896719727\n", "2019-02-04 08:20:09,936 - chi2: 2273.75504163616\n", "2019-02-04 08:20:10,064 - chi2: 2267.749157878059\n", "2019-02-04 08:20:10,319 - chi2: 2258.589346607892\n", "2019-02-04 08:20:10,572 - chi2: 2257.3466223028363\n", "2019-02-04 08:20:10,831 - chi2: 2256.952372793815\n", "2019-02-04 08:20:11,088 - chi2: 2254.2155138923135\n", "2019-02-04 08:20:11,216 - chi2: 2256.194468166094\n", "2019-02-04 08:20:11,469 - chi2: 2253.9256852259273\n", "2019-02-04 08:20:11,721 - chi2: 2254.606139744805\n", "2019-02-04 08:20:11,848 - chi2: 2253.4346247550025\n", "2019-02-04 08:20:11,975 - chi2: 2253.4398674893746\n", "2019-02-04 08:20:12,233 - chi2: 2252.371687056321\n", "2019-02-04 08:20:12,486 - chi2: 2239.44338665025\n", "2019-02-04 08:20:12,622 - chi2: 2251.0993234609155\n", "2019-02-04 08:20:12,760 - chi2: 2253.996979120541\n", "2019-02-04 08:20:12,896 - chi2: 2244.3365802325675\n", "2019-02-04 08:20:13,033 - chi2: 2250.637924023315\n", "2019-02-04 08:20:13,169 - chi2: 2251.4602225602016\n", "2019-02-04 08:20:13,301 - chi2: 2244.7599633741606\n", "2019-02-04 08:20:13,431 - chi2: 2247.242068256648\n", "2019-02-04 08:20:13,559 - chi2: 2248.865059755322\n", "2019-02-04 08:20:13,685 - chi2: 2241.664174475986\n", "2019-02-04 08:20:13,813 - chi2: 2239.4821495842143\n", "2019-02-04 08:20:13,940 - chi2: 2241.395885161215\n", "2019-02-04 08:20:14,202 - chi2: 2230.845324249745\n", "2019-02-04 08:20:14,331 - chi2: 2235.9759999761513\n", "2019-02-04 08:20:14,461 - chi2: 2235.2857309088067\n", "2019-02-04 08:20:14,598 - chi2: 2237.6124710197328\n", "2019-02-04 08:20:14,870 - chi2: 2223.0186018395175\n", "2019-02-04 08:20:15,000 - chi2: 2224.2625719999874\n", "2019-02-04 08:20:15,131 - chi2: 2225.4856335622535\n", "2019-02-04 08:20:15,260 - chi2: 2231.1908877673695\n", "2019-02-04 08:20:15,387 - chi2: 2228.3422743337496\n", "2019-02-04 08:20:15,643 - chi2: 2204.2631501142037\n", "2019-02-04 08:20:15,770 - chi2: 2214.0913622743305\n", "2019-02-04 08:20:15,899 - chi2: 2207.7154689844183\n", "2019-02-04 08:20:16,028 - chi2: 2206.8012974764556\n", "2019-02-04 08:20:16,157 - chi2: 2207.5518133942205\n", "2019-02-04 08:20:16,408 - chi2: 2202.4525999272037\n", "2019-02-04 08:20:16,535 - chi2: 2210.846103632488\n", "2019-02-04 08:20:16,792 - chi2: 2173.679986965395\n", "2019-02-04 08:20:16,919 - chi2: 2193.0424692654824\n", "2019-02-04 08:20:17,047 - chi2: 2176.020063230032\n", "2019-02-04 08:20:17,303 - chi2: 2153.9191227524375\n", "2019-02-04 08:20:17,429 - chi2: 2192.6043514867506\n", "2019-02-04 08:20:17,557 - chi2: 2166.8556758792565\n", "2019-02-04 08:20:17,684 - chi2: 2170.948089169805\n", "2019-02-04 08:20:17,812 - chi2: 2156.0133327862363\n", "2019-02-04 08:20:18,065 - chi2: 2119.0084819390877\n", "2019-02-04 08:20:18,193 - chi2: 2134.984179818933\n", "2019-02-04 08:20:18,321 - chi2: 2143.9152354175335\n", "2019-02-04 08:20:18,448 - chi2: 2120.645668721253\n", "2019-02-04 08:20:18,702 - chi2: 2081.303490540617\n", "2019-02-04 08:20:18,830 - chi2: 2102.4739455658646\n", "2019-02-04 08:20:18,959 - chi2: 2095.103723467974\n", "2019-02-04 08:20:19,218 - chi2: 2030.0673988692663\n", "2019-02-04 08:20:19,346 - chi2: 2064.402093388032\n", "2019-02-04 08:20:19,474 - chi2: 2034.5862368581772\n", "2019-02-04 08:20:19,602 - chi2: 2050.2494471853197\n", "2019-02-04 08:20:19,731 - chi2: 2034.2234848039204\n", "2019-02-04 08:20:19,986 - chi2: 1955.4833649947848\n", "2019-02-04 08:20:20,118 - chi2: 1980.40737554571\n", "2019-02-04 08:20:20,246 - chi2: 1987.438146189222\n", "2019-02-04 08:20:20,498 - chi2: 1881.8666952909437\n", "2019-02-04 08:20:20,628 - chi2: 1925.424793719902\n", "2019-02-04 08:20:20,757 - chi2: 1922.879029777008\n", "2019-02-04 08:20:20,884 - chi2: 1898.5222352331587\n", "2019-02-04 08:20:21,011 - chi2: 1882.3132867437141\n", "2019-02-04 08:20:21,266 - chi2: 1791.8733241990176\n", "2019-02-04 08:20:21,395 - chi2: 1796.8349449712434\n", "2019-02-04 08:20:21,522 - chi2: 1813.990707404285\n", "2019-02-04 08:20:21,775 - chi2: 1694.2766327039215\n", "2019-02-04 08:20:21,903 - chi2: 1732.3482401572667\n", "2019-02-04 08:20:22,028 - chi2: 1724.017367052054\n", "2019-02-04 08:20:22,159 - chi2: 1712.6067508782498\n", "2019-02-04 08:20:22,413 - chi2: 1587.924311477166\n", "2019-02-04 08:20:22,540 - chi2: 1647.5950822652544\n", "2019-02-04 08:20:22,794 - chi2: 1498.6824340621156\n", "2019-02-04 08:20:22,923 - chi2: 1564.0625976200886\n", "2019-02-04 08:20:23,051 - chi2: 1534.395408351179\n", "2019-02-04 08:20:23,180 - chi2: 1507.8913134200714\n", "2019-02-04 08:20:23,307 - chi2: 1507.8425712332205\n", "2019-02-04 08:20:23,559 - chi2: 1435.347339273847\n", "2019-02-04 08:20:23,687 - chi2: 1473.3726674663867\n", "2019-02-04 08:20:23,816 - chi2: 1447.8527750281173\n", "2019-02-04 08:20:23,944 - chi2: 1454.6451539855611\n", "2019-02-04 08:20:24,200 - chi2: 1462.5442293771193\n", "2019-02-04 08:20:24,329 - chi2: 1461.3473847419025\n", "2019-02-04 08:20:24,457 - chi2: 1458.5415669389001\n", "2019-02-04 08:20:24,585 - chi2: 1463.2841723256947\n", "2019-02-04 08:20:24,714 - chi2: 1497.6593100182456\n", "2019-02-04 08:20:24,975 - chi2: 1450.1390747703836\n", "2019-02-04 08:20:25,231 - chi2: 1451.5605289210484\n", "2019-02-04 08:20:25,359 - chi2: 1441.8733123514335\n", "2019-02-04 08:20:25,487 - chi2: 1455.7754364698676\n", "2019-02-04 08:20:25,617 - chi2: 1449.6094157813704\n", "2019-02-04 08:20:25,871 - chi2: 1440.10762818132\n", "2019-02-04 08:20:26,006 - chi2: 1443.2001681582894\n", "2019-02-04 08:20:26,143 - chi2: 1448.8670582131285\n", "2019-02-04 08:20:26,279 - chi2: 1437.1127148042128\n", "2019-02-04 08:20:26,415 - chi2: 1441.4752669622833\n", "2019-02-04 08:20:26,681 - chi2: 1434.300004959262\n", "2019-02-04 08:20:26,935 - chi2: 1436.4944254620823\n", "2019-02-04 08:20:27,205 - chi2: 1436.475324506837\n", "2019-02-04 08:20:27,479 - chi2: 1440.498164323001\n", "2019-02-04 08:20:27,615 - chi2: 1440.0675078702957\n", "2019-02-04 08:20:27,884 - chi2: 1433.0985360386435\n", "2019-02-04 08:20:28,012 - chi2: 1438.8869938400774\n", "2019-02-04 08:20:28,142 - chi2: 1438.2337404424927\n", "2019-02-04 08:20:28,394 - chi2: 1433.0756700494853\n", "2019-02-04 08:20:28,662 - chi2: 1433.271856713937\n", "2019-02-04 08:20:28,944 - chi2: 1432.7167423927626\n", "2019-02-04 08:20:29,085 - chi2: 1432.265044097321\n", "2019-02-04 08:20:29,226 - chi2: 1432.5582195306329\n", "2019-02-04 08:20:29,506 - chi2: 1431.240112399135\n", "2019-02-04 08:20:29,647 - chi2: 1432.197875212501\n", "2019-02-04 08:20:29,929 - chi2: 1431.1563645673823\n", "2019-02-04 08:20:30,212 - chi2: 1431.1475557223278\n", "2019-02-04 08:20:30,481 - chi2: 1430.8832715651847\n", "2019-02-04 08:20:30,743 - chi2: 1430.6414286218082\n", "2019-02-04 08:20:30,878 - chi2: 1430.7804145735927\n", "2019-02-04 08:20:31,010 - chi2: 1430.5172271008603\n", "2019-02-04 08:20:31,153 - chi2: 1429.9900179504334\n", "2019-02-04 08:20:31,439 - chi2: 1429.9824461735695\n", "2019-02-04 08:20:31,582 - chi2: 1430.5220870699495\n", "2019-02-04 08:20:31,862 - chi2: 1429.904932279885\n", "2019-02-04 08:20:32,132 - chi2: 1430.9377108333538\n", "2019-02-04 08:20:32,397 - chi2: 1427.7112657087403\n", "2019-02-04 08:20:32,650 - chi2: 1425.6393814894714\n", "2019-02-04 08:20:32,911 - chi2: 1428.793694574227\n", "2019-02-04 08:20:33,053 - chi2: 1428.8416684715373\n", "2019-02-04 08:20:33,193 - chi2: 1427.5977060421146\n", "2019-02-04 08:20:33,337 - chi2: 1428.0536397864894\n", "2019-02-04 08:20:33,482 - chi2: 1426.9970628869655\n", "2019-02-04 08:20:33,620 - chi2: 1425.7435325917963\n", "2019-02-04 08:20:33,873 - chi2: 1425.0276907325967\n", "2019-02-04 08:20:34,127 - chi2: 1426.7810786943771\n", "2019-02-04 08:20:34,255 - chi2: 1426.5663915299301\n", "2019-02-04 08:20:34,508 - chi2: 1420.002601093174\n", "2019-02-04 08:20:34,638 - chi2: 1422.624186101126\n", "2019-02-04 08:20:34,774 - chi2: 1422.0283294642372\n", "2019-02-04 08:20:34,911 - chi2: 1422.0666432486028\n", "2019-02-04 08:20:35,046 - chi2: 1420.2522080344404\n", "2019-02-04 08:20:35,339 - chi2: 1415.8496213157787\n", "2019-02-04 08:20:35,485 - chi2: 1417.9707443089192\n", "2019-02-04 08:20:35,621 - chi2: 1418.863141298112\n", "2019-02-04 08:20:35,750 - chi2: 1416.622230521551\n", "2019-02-04 08:20:36,020 - chi2: 1411.0295846847448\n", "2019-02-04 08:20:36,158 - chi2: 1413.5976395755533\n", "2019-02-04 08:20:36,295 - chi2: 1411.9973895151525\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:20:36,568 - chi2: 1403.6187699124127\n", "2019-02-04 08:20:36,706 - chi2: 1406.1259819422392\n", "2019-02-04 08:20:36,843 - chi2: 1404.6611233726503\n", "2019-02-04 08:20:36,979 - chi2: 1404.3477130776653\n", "2019-02-04 08:20:37,240 - chi2: 1397.7588642804753\n", "2019-02-04 08:20:37,368 - chi2: 1404.1152466328858\n", "2019-02-04 08:20:37,622 - chi2: 1383.986977832511\n", "2019-02-04 08:20:37,751 - chi2: 1390.4046178082333\n", "2019-02-04 08:20:37,885 - chi2: 1385.7007303215435\n", "2019-02-04 08:20:38,022 - chi2: 1385.2019238054063\n", "2019-02-04 08:20:38,158 - chi2: 1384.5068792860463\n", "2019-02-04 08:20:38,418 - chi2: 1370.9511052742714\n", "2019-02-04 08:20:38,546 - chi2: 1376.4927906750481\n", "2019-02-04 08:20:38,802 - chi2: 1357.82718743041\n", "2019-02-04 08:20:38,936 - chi2: 1361.168355828214\n", "2019-02-04 08:20:39,213 - chi2: 1337.8966833177008\n", "2019-02-04 08:20:39,351 - chi2: 1348.3975012332578\n", "2019-02-04 08:20:39,488 - chi2: 1342.3904131114277\n", "2019-02-04 08:20:39,617 - chi2: 1340.940192841906\n", "2019-02-04 08:20:39,869 - chi2: 1306.105943939609\n", "2019-02-04 08:20:40,001 - chi2: 1306.192976075382\n", "2019-02-04 08:20:40,130 - chi2: 1308.6457171245488\n", "2019-02-04 08:20:40,387 - chi2: 1277.0405185483203\n", "2019-02-04 08:20:40,515 - chi2: 1295.0456894861215\n", "2019-02-04 08:20:40,773 - chi2: 1244.2320438969\n", "2019-02-04 08:20:40,902 - chi2: 1259.800024326434\n", "2019-02-04 08:20:41,030 - chi2: 1249.1308648166128\n", "2019-02-04 08:20:41,285 - chi2: 1204.9004055100033\n", "2019-02-04 08:20:41,412 - chi2: 1229.1277509833326\n", "2019-02-04 08:20:41,540 - chi2: 1208.0055989164835\n", "2019-02-04 08:20:41,668 - chi2: 1211.3715844135768\n", "2019-02-04 08:20:41,925 - chi2: 1111.3460374414067\n", "2019-02-04 08:20:42,052 - chi2: 1136.414721238282\n", "2019-02-04 08:20:42,182 - chi2: 1132.278268541823\n", "2019-02-04 08:20:42,310 - chi2: 1120.6823895791465\n", "2019-02-04 08:20:42,564 - chi2: 1039.7147061006663\n", "2019-02-04 08:20:42,691 - chi2: 1188.7650599228284\n", "2019-02-04 08:20:42,818 - chi2: 1074.4679686272482\n", "2019-02-04 08:20:43,072 - chi2: 960.1985101536299\n", "2019-02-04 08:20:43,215 - chi2: 1019.310487365212\n", "2019-02-04 08:20:43,343 - chi2: 971.5806119124156\n", "2019-02-04 08:20:43,470 - chi2: 1012.0431395148671\n", "2019-02-04 08:20:43,600 - chi2: 961.8376627334417\n", "2019-02-04 08:20:43,861 - chi2: 961.7525829052577\n", "2019-02-04 08:20:44,121 - chi2: 822.4246311495918\n", "2019-02-04 08:20:44,251 - chi2: 842.2447046901599\n", "2019-02-04 08:20:44,380 - chi2: 822.8574518019848\n", "2019-02-04 08:20:44,632 - chi2: 746.2793997903159\n", "2019-02-04 08:20:44,758 - chi2: 759.7687853755699\n", "2019-02-04 08:20:44,887 - chi2: 895.5263570736306\n", "2019-02-04 08:20:45,019 - chi2: 769.4979017717384\n", "2019-02-04 08:20:45,276 - chi2: 607.2688089572928\n", "2019-02-04 08:20:45,406 - chi2: 676.7601048772038\n", "2019-02-04 08:20:45,663 - chi2: 525.3712048577738\n", "2019-02-04 08:20:45,793 - chi2: 628.6486553163288\n", "2019-02-04 08:20:45,925 - chi2: 561.6009849394455\n", "2019-02-04 08:20:46,054 - chi2: 617.4215730311398\n", "2019-02-04 08:20:46,310 - chi2: 426.50606585312744\n", "2019-02-04 08:20:46,440 - chi2: 453.8582998598074\n", "2019-02-04 08:20:46,571 - chi2: 572.5919628246093\n", "2019-02-04 08:20:46,699 - chi2: 430.15818187458956\n", "2019-02-04 08:20:46,829 - chi2: 437.08691181075835\n", "2019-02-04 08:20:47,086 - chi2: 520.0936950319946\n", "2019-02-04 08:20:47,338 - chi2: 317.09904187433324\n", "2019-02-04 08:20:47,475 - chi2: 495.95967531000923\n", "2019-02-04 08:20:47,615 - chi2: 352.50773332547084\n", "2019-02-04 08:20:47,752 - chi2: 417.7670640793759\n", "2019-02-04 08:20:47,888 - chi2: 373.10482772382693\n", "2019-02-04 08:20:48,023 - chi2: 332.58363319080036\n", "2019-02-04 08:20:48,154 - chi2: 348.6849151656462\n", "2019-02-04 08:20:48,288 - chi2: 348.9573603031726\n", "2019-02-04 08:20:48,558 - chi2: 262.2284196236101\n", "2019-02-04 08:20:48,695 - chi2: 289.50921309577774\n", "2019-02-04 08:20:48,832 - chi2: 291.1405373269294\n", "2019-02-04 08:20:48,969 - chi2: 275.3001079268848\n", "2019-02-04 08:20:49,106 - chi2: 280.53709209783676\n", "2019-02-04 08:20:49,242 - chi2: 265.5709913109199\n", "2019-02-04 08:20:49,377 - chi2: 296.02816465495505\n", "2019-02-04 08:20:49,510 - chi2: 310.71480440812195\n", "2019-02-04 08:20:49,779 - chi2: 327.16368711216506\n", "2019-02-04 08:20:49,915 - chi2: 284.8172673553096\n", "2019-02-04 08:20:50,050 - chi2: 291.998378784114\n", "2019-02-04 08:20:50,186 - chi2: 280.0268736926099\n", "2019-02-04 08:20:50,459 - chi2: 255.41856379756732\n", "2019-02-04 08:20:50,595 - chi2: 261.65242676761176\n", "2019-02-04 08:20:50,732 - chi2: 271.5649285873614\n", "2019-02-04 08:20:51,001 - chi2: 253.34532916766653\n", "2019-02-04 08:20:51,137 - chi2: 256.7023371921004\n", "2019-02-04 08:20:51,406 - chi2: 251.0892295041872\n", "2019-02-04 08:20:51,543 - chi2: 258.8897623026458\n", "2019-02-04 08:20:51,802 - chi2: 246.8552507420955\n", "2019-02-04 08:20:52,060 - chi2: 247.131111648918\n", "2019-02-04 08:20:52,316 - chi2: 245.51024050859507\n", "2019-02-04 08:20:52,570 - chi2: 245.52601783280744\n", "2019-02-04 08:20:52,824 - chi2: 244.27615330389173\n", "2019-02-04 08:20:53,077 - chi2: 244.623863600006\n", "2019-02-04 08:20:53,205 - chi2: 252.25654631242244\n", "2019-02-04 08:20:53,459 - chi2: 244.03144173721154\n", "2019-02-04 08:20:53,713 - chi2: 244.03832063234486\n", "2019-02-04 08:20:53,968 - chi2: 243.49366783224175\n", "2019-02-04 08:20:54,230 - chi2: 242.9207758158833\n", "2019-02-04 08:20:54,500 - chi2: 242.5499686861288\n", "2019-02-04 08:20:54,765 - chi2: 242.2300901323645\n", "2019-02-04 08:20:55,043 - chi2: 241.8081091388075\n", "2019-02-04 08:20:55,312 - chi2: 242.12036249712588\n", "2019-02-04 08:20:55,443 - chi2: 243.5531637839431\n", "2019-02-04 08:20:55,702 - chi2: 241.98442073090607\n", "2019-02-04 08:20:55,968 - chi2: 241.8367762557934\n", "2019-02-04 08:20:56,235 - chi2: 241.71543084900665\n", "2019-02-04 08:20:56,510 - chi2: 241.7540397399732\n", "2019-02-04 08:20:56,771 - chi2: 241.61802340806008\n", "2019-02-04 08:20:57,033 - chi2: 241.60048618563206\n", "2019-02-04 08:20:57,292 - chi2: 241.43720923081997\n", "2019-02-04 08:20:57,546 - chi2: 241.39897266248818\n", "2019-02-04 08:20:57,799 - chi2: 241.36762630917093\n", "2019-02-04 08:20:58,055 - chi2: 241.33902684770004\n", "2019-02-04 08:20:58,310 - chi2: 241.3147754322185\n", "2019-02-04 08:20:58,564 - chi2: 241.28589750783422\n", "2019-02-04 08:20:58,699 - chi2: 241.6467321965468\n", "2019-02-04 08:20:58,968 - chi2: 241.2887613902178\n", "2019-02-04 08:20:59,239 - chi2: 241.26818494041382\n", "2019-02-04 08:20:59,517 - chi2: 241.251295231867\n", "2019-02-04 08:20:59,780 - chi2: 241.2787724271033\n", "2019-02-04 08:21:00,039 - chi2: 241.2123035235452\n", "2019-02-04 08:21:00,313 - chi2: 241.17880570553373\n", "2019-02-04 08:21:00,583 - chi2: 241.17765815827835\n", "2019-02-04 08:21:00,857 - chi2: 241.1889604765583\n", "2019-02-04 08:21:01,122 - chi2: 241.21271049058367\n", "2019-02-04 08:21:01,381 - chi2: 241.17523464019118\n", "2019-02-04 08:21:01,693 - chi2: 241.17854096253745\n", "2019-02-04 08:21:01,957 - chi2: 241.1568925190021\n", "2019-02-04 08:21:02,219 - chi2: 241.17691172662006\n", "2019-02-04 08:21:02,513 - chi2: 241.16891780927085\n", "2019-02-04 08:21:02,645 - chi2: 241.20875196384375\n", "2019-02-04 08:21:02,899 - chi2: 241.15906060819316\n", "2019-02-04 08:21:03,154 - chi2: 241.1685607242125\n", "2019-02-04 08:21:03,439 - chi2: 241.15142803796252\n", "2019-02-04 08:21:03,690 - chi2: 241.15181366658743\n", "2019-02-04 08:21:03,816 - chi2: 241.15690777789885\n", "2019-02-04 08:21:04,069 - chi2: 241.1481486317208\n", "2019-02-04 08:21:04,203 - chi2: 241.15787374404377\n", "2019-02-04 08:21:04,332 - chi2: 241.16547769509586\n", "2019-02-04 08:21:04,594 - chi2: 241.1486000412377\n", "2019-02-04 08:21:04,856 - chi2: 241.15064988191787\n", "2019-02-04 08:21:05,120 - chi2: 241.14632811314826\n", "2019-02-04 08:21:05,380 - chi2: 241.1453398669388\n", "2019-02-04 08:21:05,635 - chi2: 241.14494257539678\n", "2019-02-04 08:21:05,887 - chi2: 241.14145212974614\n", "2019-02-04 08:21:06,143 - chi2: 241.1441304003\n", "2019-02-04 08:21:06,270 - chi2: 241.1508954803392\n", "2019-02-04 08:21:06,523 - chi2: 241.14276560593584\n", "2019-02-04 08:21:06,649 - chi2: 241.15048847774023\n", "2019-02-04 08:21:06,899 - chi2: 241.19184936767675\n", "2019-02-04 08:21:07,025 - chi2: 241.14782517052979\n", "2019-02-04 08:21:07,154 - chi2: 241.14387901038543\n", "2019-02-04 08:21:07,280 - chi2: 241.13859460130587\n", "2019-02-04 08:21:07,533 - chi2: 241.14022170304466\n", "2019-02-04 08:21:07,783 - chi2: 241.14058580972463\n", "2019-02-04 08:21:07,909 - chi2: 241.14135561128424\n", "2019-02-04 08:21:08,162 - chi2: 241.13956934018404\n", "2019-02-04 08:21:08,411 - chi2: 241.13956383512806\n", "2019-02-04 08:21:08,662 - chi2: 241.13874321700874\n", "2019-02-04 08:21:08,788 - chi2: 241.13780991409357\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:21:09,040 - chi2: 241.13998252540316\n", "2019-02-04 08:21:09,294 - chi2: 241.1378230288725\n", "2019-02-04 08:21:09,420 - chi2: 241.1395124359746\n", "2019-02-04 08:21:09,671 - chi2: 241.13902770826076\n", "2019-02-04 08:21:09,929 - chi2: 241.13737469775205\n", "2019-02-04 08:21:10,058 - chi2: 241.13756760595672\n", "2019-02-04 08:21:10,310 - chi2: 241.13669043852815\n", "2019-02-04 08:21:10,436 - chi2: 241.13604180614516\n", "2019-02-04 08:21:10,688 - chi2: 241.13583555825912\n", "2019-02-04 08:21:10,817 - chi2: 241.13600074746307\n", "2019-02-04 08:21:10,943 - chi2: 241.13702797398804\n", "2019-02-04 08:21:11,196 - chi2: 241.13188720098358\n", "2019-02-04 08:21:11,322 - chi2: 241.1349312089291\n", "2019-02-04 08:21:11,448 - chi2: 241.1361888771096\n", "2019-02-04 08:21:11,574 - chi2: 241.13203760562865\n", "2019-02-04 08:21:11,700 - chi2: 241.1337444870099\n", "2019-02-04 08:21:11,826 - chi2: 241.1351079328758\n", "2019-02-04 08:21:11,952 - chi2: 241.13340530320886\n", "2019-02-04 08:21:12,078 - chi2: 241.13371557278012\n", "2019-02-04 08:21:12,203 - chi2: 241.13234031375467\n", "2019-02-04 08:21:12,455 - chi2: 241.12702497358117\n", "2019-02-04 08:21:12,581 - chi2: 241.12814683997405\n", "2019-02-04 08:21:12,707 - chi2: 241.13163081052775\n", "2019-02-04 08:21:12,832 - chi2: 241.13016867623136\n", "2019-02-04 08:21:12,958 - chi2: 241.1295987782568\n", "2019-02-04 08:21:13,084 - chi2: 241.12958340718123\n", "2019-02-04 08:21:13,211 - chi2: 241.12816165414466\n", "2019-02-04 08:21:13,336 - chi2: 241.13048391888134\n", "2019-02-04 08:21:13,587 - chi2: 241.1227846742637\n", "2019-02-04 08:21:13,837 - chi2: 241.12002889662256\n", "2019-02-04 08:21:13,963 - chi2: 241.1245911116495\n", "2019-02-04 08:21:14,090 - chi2: 241.12551508304014\n", "2019-02-04 08:21:14,216 - chi2: 241.12243276983762\n", "2019-02-04 08:21:14,372 - chi2: 241.1270390182877\n", "2019-02-04 08:21:14,626 - chi2: 241.11297748506564\n", "2019-02-04 08:21:14,756 - chi2: 241.11581600523758\n", "2019-02-04 08:21:14,890 - chi2: 241.11726974161087\n", "2019-02-04 08:21:15,025 - chi2: 241.11805345603366\n", "2019-02-04 08:21:15,281 - chi2: 241.104220567184\n", "2019-02-04 08:21:15,407 - chi2: 241.11049053121877\n", "2019-02-04 08:21:15,534 - chi2: 241.10967308080572\n", "2019-02-04 08:21:15,660 - chi2: 241.10669345713876\n", "2019-02-04 08:21:15,915 - chi2: 241.0897303604239\n", "2019-02-04 08:21:16,043 - chi2: 241.09835085714292\n", "2019-02-04 08:21:16,177 - chi2: 241.09910917328313\n", "2019-02-04 08:21:16,311 - chi2: 241.0941615895363\n", "2019-02-04 08:21:16,438 - chi2: 241.09193632534954\n", "2019-02-04 08:21:16,690 - chi2: 241.08447947511632\n", "2019-02-04 08:21:16,943 - chi2: 241.07080732074377\n", "2019-02-04 08:21:17,078 - chi2: 241.07360146686784\n", "2019-02-04 08:21:17,218 - chi2: 241.07373465842028\n", "2019-02-04 08:21:17,476 - chi2: 241.0421928747035\n", "2019-02-04 08:21:17,604 - chi2: 241.05944361644947\n", "2019-02-04 08:21:17,736 - chi2: 241.0558951100605\n", "2019-02-04 08:21:17,865 - chi2: 241.0504203820767\n", "2019-02-04 08:21:18,126 - chi2: 241.02549704055676\n", "2019-02-04 08:21:18,256 - chi2: 241.03083699246426\n", "2019-02-04 08:21:18,516 - chi2: 240.99699998538492\n", "2019-02-04 08:21:18,647 - chi2: 241.01799876012433\n", "2019-02-04 08:21:18,776 - chi2: 241.00216962596943\n", "2019-02-04 08:21:19,029 - chi2: 240.97101271506799\n", "2019-02-04 08:21:19,159 - chi2: 240.9826230154171\n", "2019-02-04 08:21:19,418 - chi2: 240.9367391121226\n", "2019-02-04 08:21:19,550 - chi2: 240.93724767483354\n", "2019-02-04 08:21:19,806 - chi2: 240.87954001910572\n", "2019-02-04 08:21:19,939 - chi2: 240.92050687961486\n", "2019-02-04 08:21:20,072 - chi2: 240.88380132915287\n", "2019-02-04 08:21:20,327 - chi2: 240.80590217981032\n", "2019-02-04 08:21:20,457 - chi2: 240.85068658602927\n", "2019-02-04 08:21:20,587 - chi2: 240.8575410109883\n", "2019-02-04 08:21:20,846 - chi2: 240.70150331893646\n", "2019-02-04 08:21:20,979 - chi2: 240.8171715540607\n", "2019-02-04 08:21:21,110 - chi2: 240.7727370780021\n", "2019-02-04 08:21:21,244 - chi2: 240.7209113987501\n", "2019-02-04 08:21:21,375 - chi2: 240.70507412977247\n", "2019-02-04 08:21:21,505 - chi2: 240.72772733031874\n", "2019-02-04 08:21:21,760 - chi2: 240.5977656460167\n", "2019-02-04 08:21:21,887 - chi2: 240.6559805831342\n", "2019-02-04 08:21:22,018 - chi2: 240.6016732919795\n", "2019-02-04 08:21:22,145 - chi2: 240.59974653758223\n", "2019-02-04 08:21:22,398 - chi2: 240.53822685878882\n", "2019-02-04 08:21:22,662 - chi2: 240.39103641635518\n", "2019-02-04 08:21:22,790 - chi2: 240.44683083560707\n", "2019-02-04 08:21:22,918 - chi2: 240.4565864092641\n", "2019-02-04 08:21:23,046 - chi2: 240.43748190887982\n", "2019-02-04 08:21:23,178 - chi2: 240.46471014620087\n", "2019-02-04 08:21:23,307 - chi2: 240.40972587234248\n", "2019-02-04 08:21:23,566 - chi2: 240.39343194239967\n", "2019-02-04 08:21:23,696 - chi2: 240.42666194226948\n", "2019-02-04 08:21:23,994 - chi2: 240.26708408215404\n", "2019-02-04 08:21:24,259 - chi2: 240.12550919046714\n", "2019-02-04 08:21:24,389 - chi2: 240.22098151473065\n", "2019-02-04 08:21:24,523 - chi2: 240.25537849417492\n", "2019-02-04 08:21:24,661 - chi2: 240.40933560499295\n", "2019-02-04 08:21:24,799 - chi2: 240.17999671601478\n", "2019-02-04 08:21:24,937 - chi2: 240.17857547933937\n", "2019-02-04 08:21:25,208 - chi2: 240.03152449048233\n", "2019-02-04 08:21:25,344 - chi2: 240.11931448961462\n", "2019-02-04 08:21:25,481 - chi2: 240.06544743179452\n", "2019-02-04 08:21:25,748 - chi2: 239.70324949253688\n", "2019-02-04 08:21:25,874 - chi2: 239.9444854544\n", "2019-02-04 08:21:26,001 - chi2: 239.83017081023485\n", "2019-02-04 08:21:26,130 - chi2: 239.87588859881396\n", "2019-02-04 08:21:26,264 - chi2: 239.7654238396625\n", "2019-02-04 08:21:26,407 - chi2: 239.73822012017493\n", "2019-02-04 08:21:26,667 - chi2: 239.41563920355813\n", "2019-02-04 08:21:26,797 - chi2: 239.85170853765698\n", "2019-02-04 08:21:26,931 - chi2: 239.47240594505843\n", "2019-02-04 08:21:27,195 - chi2: 239.04521316051452\n", "2019-02-04 08:21:27,333 - chi2: 239.46035676837067\n", "2019-02-04 08:21:27,463 - chi2: 239.2167408149759\n", "2019-02-04 08:21:27,593 - chi2: 239.3744102645591\n", "2019-02-04 08:21:27,726 - chi2: 239.10053635483018\n", "2019-02-04 08:21:27,862 - chi2: 239.0496258934349\n", "2019-02-04 08:21:28,131 - chi2: 238.72210842427333\n", "2019-02-04 08:21:28,266 - chi2: 238.72517076515746\n", "2019-02-04 08:21:28,538 - chi2: 238.5126004551829\n", "2019-02-04 08:21:28,674 - chi2: 238.5948539017946\n", "2019-02-04 08:21:28,943 - chi2: 237.76566056805785\n", "2019-02-04 08:21:29,079 - chi2: 238.64728788625393\n", "2019-02-04 08:21:29,214 - chi2: 238.1868180333408\n", "2019-02-04 08:21:29,351 - chi2: 238.04821377087404\n", "2019-02-04 08:21:29,489 - chi2: 238.04325761116073\n", "2019-02-04 08:21:29,625 - chi2: 237.9474314917241\n", "2019-02-04 08:21:29,759 - chi2: 238.01875452741996\n", "2019-02-04 08:21:30,025 - chi2: 236.97296864312713\n", "2019-02-04 08:21:30,182 - chi2: 237.52575098661092\n", "2019-02-04 08:21:30,324 - chi2: 237.47959095229905\n", "2019-02-04 08:21:30,463 - chi2: 237.23754468007468\n", "2019-02-04 08:21:30,598 - chi2: 237.07234990523585\n", "2019-02-04 08:21:30,729 - chi2: 236.98460187441518\n", "2019-02-04 08:21:30,992 - chi2: 236.0707981663617\n", "2019-02-04 08:21:31,123 - chi2: 236.4433018143298\n", "2019-02-04 08:21:31,254 - chi2: 236.1744721861955\n", "2019-02-04 08:21:31,389 - chi2: 236.60209480946526\n", "2019-02-04 08:21:31,520 - chi2: 236.38275279696924\n", "2019-02-04 08:21:31,782 - chi2: 235.86200131090095\n", "2019-02-04 08:21:32,044 - chi2: 234.6850001142631\n", "2019-02-04 08:21:32,178 - chi2: 235.11905970384532\n", "2019-02-04 08:21:32,310 - chi2: 234.74857919878713\n", "2019-02-04 08:21:32,571 - chi2: 233.96719417355868\n", "2019-02-04 08:21:32,704 - chi2: 234.42111106000883\n", "2019-02-04 08:21:32,966 - chi2: 233.06941297702582\n", "2019-02-04 08:21:33,099 - chi2: 233.67355887328654\n", "2019-02-04 08:21:33,231 - chi2: 233.21303841770865\n", "2019-02-04 08:21:33,363 - chi2: 233.2590635308006\n", "2019-02-04 08:21:33,625 - chi2: 231.1186842493944\n", "2019-02-04 08:21:33,764 - chi2: 231.75360701610663\n", "2019-02-04 08:21:33,904 - chi2: 231.63426427231929\n", "2019-02-04 08:21:34,035 - chi2: 231.3470508505686\n", "2019-02-04 08:21:34,169 - chi2: 232.07623766065336\n", "2019-02-04 08:21:34,429 - chi2: 228.87934142612605\n", "2019-02-04 08:21:34,560 - chi2: 231.1254061762308\n", "2019-02-04 08:21:34,690 - chi2: 230.69228832320823\n", "2019-02-04 08:21:34,826 - chi2: 229.08228353803463\n", "2019-02-04 08:21:35,097 - chi2: 227.4220654842149\n", "2019-02-04 08:21:35,234 - chi2: 228.2582366471841\n", "2019-02-04 08:21:35,367 - chi2: 228.20871064594925\n", "2019-02-04 08:21:35,501 - chi2: 227.60582840053516\n", "2019-02-04 08:21:35,635 - chi2: 228.39808052799447\n", "2019-02-04 08:21:35,902 - chi2: 224.8335441910284\n", "2019-02-04 08:21:36,035 - chi2: 226.37419857225677\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:21:36,333 - chi2: 222.1147950635844\n", "2019-02-04 08:21:36,480 - chi2: 224.99458985641334\n", "2019-02-04 08:21:36,627 - chi2: 224.7944209350066\n", "2019-02-04 08:21:36,765 - chi2: 223.5960103023119\n", "2019-02-04 08:21:36,898 - chi2: 224.5337840238621\n", "2019-02-04 08:21:37,034 - chi2: 222.11522725171776\n", "2019-02-04 08:21:37,167 - chi2: 222.26610995603988\n", "2019-02-04 08:21:37,433 - chi2: 219.85161203639\n", "2019-02-04 08:21:37,699 - chi2: 217.79576946336047\n", "2019-02-04 08:21:37,832 - chi2: 218.10213888385746\n", "2019-02-04 08:21:37,965 - chi2: 221.3183265679123\n", "2019-02-04 08:21:38,099 - chi2: 218.57419475865717\n", "2019-02-04 08:21:38,363 - chi2: 216.25337321189025\n", "2019-02-04 08:21:38,497 - chi2: 218.6529748587505\n", "2019-02-04 08:21:38,776 - chi2: 212.72190056682174\n", "2019-02-04 08:21:38,913 - chi2: 214.2992787677393\n", "2019-02-04 08:21:39,050 - chi2: 216.87147580234483\n", "2019-02-04 08:21:39,188 - chi2: 216.44511913520313\n", "2019-02-04 08:21:39,446 - chi2: 210.16110545764562\n", "2019-02-04 08:21:39,576 - chi2: 211.6008208481381\n", "2019-02-04 08:21:39,713 - chi2: 212.03454929561408\n", "2019-02-04 08:21:39,850 - chi2: 216.98131929357373\n", "2019-02-04 08:21:39,987 - chi2: 212.85020510759975\n", "2019-02-04 08:21:40,123 - chi2: 214.20222126931552\n", "2019-02-04 08:21:40,259 - chi2: 211.48395750556423\n", "2019-02-04 08:21:40,520 - chi2: 210.8830754178673\n", "2019-02-04 08:21:40,791 - chi2: 202.29167112371448\n", "2019-02-04 08:21:40,927 - chi2: 204.9626015394084\n", "2019-02-04 08:21:41,064 - chi2: 209.34352620204066\n", "2019-02-04 08:21:41,200 - chi2: 208.0388541779894\n", "2019-02-04 08:21:41,334 - chi2: 204.49177656125573\n", "2019-02-04 08:21:41,467 - chi2: 205.08974801201705\n", "2019-02-04 08:21:41,731 - chi2: 200.11212829415805\n", "2019-02-04 08:21:41,867 - chi2: 201.58841517228788\n", "2019-02-04 08:21:42,140 - chi2: 191.06372354233778\n", "2019-02-04 08:21:42,277 - chi2: 196.18300921194952\n", "2019-02-04 08:21:42,413 - chi2: 193.69048462783542\n", "2019-02-04 08:21:42,544 - chi2: 199.73833515713014\n", "2019-02-04 08:21:42,680 - chi2: 195.60271020908678\n", "2019-02-04 08:21:42,820 - chi2: 192.13221026203945\n", "2019-02-04 08:21:42,958 - chi2: 191.7692507173189\n", "2019-02-04 08:21:43,092 - chi2: 192.46178519877193\n", "2019-02-04 08:21:43,380 - chi2: 179.88936328032102\n", "2019-02-04 08:21:43,520 - chi2: 181.08481951664018\n", "2019-02-04 08:21:43,651 - chi2: 183.85335880834515\n", "2019-02-04 08:21:43,914 - chi2: 176.45742338702112\n", "2019-02-04 08:21:44,052 - chi2: 177.1509829531487\n", "2019-02-04 08:21:44,186 - chi2: 188.31359042967935\n", "2019-02-04 08:21:44,323 - chi2: 176.98225575025404\n", "2019-02-04 08:21:44,596 - chi2: 165.70895487971924\n", "2019-02-04 08:21:44,730 - chi2: 169.00281711499335\n", "2019-02-04 08:21:44,866 - chi2: 166.3090120323079\n", "2019-02-04 08:21:45,004 - chi2: 174.12728263909696\n", "2019-02-04 08:21:45,280 - chi2: 159.1922507600247\n", "2019-02-04 08:21:45,414 - chi2: 162.05977646293576\n", "2019-02-04 08:21:45,548 - chi2: 164.0668777594221\n", "2019-02-04 08:21:45,811 - chi2: 153.95949586746622\n", "2019-02-04 08:21:45,949 - chi2: 154.4546626196053\n", "2019-02-04 08:21:46,087 - chi2: 155.22198510833957\n", "2019-02-04 08:21:46,227 - chi2: 166.4474134567678\n", "2019-02-04 08:21:46,503 - chi2: 155.93457326961422\n", "2019-02-04 08:21:46,639 - chi2: 165.85036720264148\n", "2019-02-04 08:21:46,770 - chi2: 157.8922434218991\n", "2019-02-04 08:21:46,902 - chi2: 161.11376022379739\n", "2019-02-04 08:21:47,165 - chi2: 162.01100510199535\n", "2019-02-04 08:21:47,297 - chi2: 157.78145620052348\n", "2019-02-04 08:21:47,559 - chi2: 161.73174658311635\n", "2019-02-04 08:21:47,833 - chi2: 145.7474807819641\n", "2019-02-04 08:21:48,098 - chi2: 149.8381461060056\n", "2019-02-04 08:21:48,363 - chi2: 149.82422244809368\n", "2019-02-04 08:21:48,495 - chi2: 155.10102131469526\n", "2019-02-04 08:21:48,628 - chi2: 148.57939844636695\n", "2019-02-04 08:21:48,904 - chi2: 148.7395445553806\n", "2019-02-04 08:21:49,167 - chi2: 139.8819852686228\n", "2019-02-04 08:21:49,298 - chi2: 148.13662961674805\n", "2019-02-04 08:21:49,563 - chi2: 136.98270953264313\n", "2019-02-04 08:21:49,695 - chi2: 137.73964417518278\n", "2019-02-04 08:21:49,828 - chi2: 139.6035700987256\n", "2019-02-04 08:21:50,098 - chi2: 131.06197743524973\n", "2019-02-04 08:21:50,232 - chi2: 140.93861191738327\n", "2019-02-04 08:21:50,498 - chi2: 124.37081299304268\n", "2019-02-04 08:21:50,656 - chi2: 127.343397437948\n", "2019-02-04 08:21:50,797 - chi2: 134.79738948780587\n", "2019-02-04 08:21:51,057 - chi2: 126.03407171586404\n", "2019-02-04 08:21:51,190 - chi2: 139.8163042852514\n", "2019-02-04 08:21:51,453 - chi2: 123.67608264941475\n", "2019-02-04 08:21:51,584 - chi2: 137.89831743454258\n", "2019-02-04 08:21:51,847 - chi2: 108.28448454829831\n", "2019-02-04 08:21:51,978 - chi2: 134.2137752173461\n", "2019-02-04 08:21:52,110 - chi2: 119.65799602046653\n", "2019-02-04 08:21:52,242 - chi2: 121.49519608334194\n", "2019-02-04 08:21:52,504 - chi2: 122.16482846556184\n", "2019-02-04 08:21:52,634 - chi2: 119.83218624600978\n", "2019-02-04 08:21:52,766 - chi2: 118.61268428402056\n", "2019-02-04 08:21:52,897 - chi2: 113.24046117488334\n", "2019-02-04 08:21:53,028 - chi2: 113.2258721420202\n", "2019-02-04 08:21:53,292 - chi2: 106.07930822233745\n", "2019-02-04 08:21:53,424 - chi2: 108.62771076968417\n", "2019-02-04 08:21:53,558 - chi2: 119.56279100466021\n", "2019-02-04 08:21:53,689 - chi2: 108.05622333096392\n", "2019-02-04 08:21:53,821 - chi2: 115.03902803166895\n", "2019-02-04 08:21:53,952 - chi2: 107.72911647307899\n", "2019-02-04 08:21:54,214 - chi2: 109.22169845203582\n", "2019-02-04 08:21:54,345 - chi2: 107.4127493763571\n", "2019-02-04 08:21:54,607 - chi2: 107.24235299388859\n", "2019-02-04 08:21:54,738 - chi2: 109.36260864970322\n", "2019-02-04 08:21:54,869 - chi2: 106.86496828073209\n", "2019-02-04 08:21:55,133 - chi2: 104.60663548641602\n", "2019-02-04 08:21:55,397 - chi2: 104.9345814096555\n", "2019-02-04 08:21:55,532 - chi2: 105.66432432946405\n", "2019-02-04 08:21:55,803 - chi2: 104.25088140226305\n", "2019-02-04 08:21:55,939 - chi2: 105.86942478503244\n", "2019-02-04 08:21:56,202 - chi2: 103.95386856598914\n", "2019-02-04 08:21:56,464 - chi2: 104.01919548161416\n", "2019-02-04 08:21:56,596 - chi2: 106.77898686997197\n", "2019-02-04 08:21:56,861 - chi2: 103.83380937372807\n", "2019-02-04 08:21:57,122 - chi2: 104.21598039335271\n", "2019-02-04 08:21:57,384 - chi2: 103.90268903851855\n", "2019-02-04 08:21:57,516 - chi2: 105.34479711240405\n", "2019-02-04 08:21:57,778 - chi2: 103.64291241478988\n", "2019-02-04 08:21:58,037 - chi2: 103.58137508932519\n", "2019-02-04 08:21:58,299 - chi2: 103.4542510978623\n", "2019-02-04 08:21:58,562 - chi2: 103.36503534001064\n", "2019-02-04 08:21:58,693 - chi2: 104.1450037308014\n", "2019-02-04 08:21:58,955 - chi2: 103.3054780280512\n", "2019-02-04 08:21:59,216 - chi2: 103.30351756538995\n", "2019-02-04 08:21:59,480 - chi2: 103.22606077319698\n", "2019-02-04 08:21:59,740 - chi2: 103.24253079426437\n", "2019-02-04 08:21:59,999 - chi2: 103.26534160826344\n", "2019-02-04 08:22:00,256 - chi2: 103.2364052901723\n", "2019-02-04 08:22:00,512 - chi2: 103.18654775596606\n", "2019-02-04 08:22:00,769 - chi2: 103.15160158467732\n", "2019-02-04 08:22:01,025 - chi2: 103.12238580251814\n", "2019-02-04 08:22:01,293 - chi2: 103.11770899492471\n", "2019-02-04 08:22:01,425 - chi2: 103.29658636063917\n", "2019-02-04 08:22:01,556 - chi2: 103.27973424610353\n", "2019-02-04 08:22:01,819 - chi2: 103.10259266057157\n", "2019-02-04 08:22:02,077 - chi2: 103.10037845574864\n", "2019-02-04 08:22:02,337 - chi2: 103.08417854474524\n", "2019-02-04 08:22:02,595 - chi2: 103.07918991511318\n", "2019-02-04 08:22:02,854 - chi2: 103.06326174126951\n", "2019-02-04 08:22:03,007 - chi2: 103.18477001473579\n", "2019-02-04 08:22:03,137 - chi2: 103.18466803269253\n", "2019-02-04 08:22:03,394 - chi2: 103.07606093252396\n", "2019-02-04 08:22:03,650 - chi2: 103.07822059861371\n", "2019-02-04 08:22:03,915 - chi2: 103.06451783436025\n", "2019-02-04 08:22:04,173 - chi2: 103.06261327888348\n", "2019-02-04 08:22:04,431 - chi2: 103.05279840844963\n", "2019-02-04 08:22:04,689 - chi2: 103.05772229859497\n", "2019-02-04 08:22:04,819 - chi2: 103.08266867512172\n", "2019-02-04 08:22:05,079 - chi2: 103.05107582318641\n", "2019-02-04 08:22:05,341 - chi2: 103.05028649072213\n", "2019-02-04 08:22:05,477 - chi2: 103.06966819392585\n", "2019-02-04 08:22:05,613 - chi2: 103.06309718395752\n", "2019-02-04 08:22:05,746 - chi2: 103.06440258756585\n", "2019-02-04 08:22:06,008 - chi2: 103.04626607068663\n", "2019-02-04 08:22:06,272 - chi2: 103.04403398078381\n", "2019-02-04 08:22:06,541 - chi2: 103.04295124014186\n", "2019-02-04 08:22:06,802 - chi2: 103.03949204398\n", "2019-02-04 08:22:06,932 - chi2: 103.05587742088187\n", "2019-02-04 08:22:07,063 - chi2: 103.04446176565753\n", "2019-02-04 08:22:07,194 - chi2: 103.04022671649085\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:22:07,454 - chi2: 103.040085702817\n", "2019-02-04 08:22:07,713 - chi2: 103.03902688688413\n", "2019-02-04 08:22:07,844 - chi2: 103.04184272637872\n", "2019-02-04 08:22:07,974 - chi2: 103.04432418600743\n", "2019-02-04 08:22:08,105 - chi2: 103.03916644875129\n", "2019-02-04 08:22:08,363 - chi2: 103.032890620087\n", "2019-02-04 08:22:08,491 - chi2: 103.0417626728884\n", "2019-02-04 08:22:08,751 - chi2: 103.0256661799862\n", "2019-02-04 08:22:09,008 - chi2: 103.03462321617444\n", "2019-02-04 08:22:09,269 - chi2: 103.03430066307754\n", "2019-02-04 08:22:09,398 - chi2: 103.03563741498331\n", "2019-02-04 08:22:09,657 - chi2: 103.03305840694483\n", "2019-02-04 08:22:09,945 - chi2: 103.01902045285374\n", "2019-02-04 08:22:10,079 - chi2: 103.02841203368611\n", "2019-02-04 08:22:10,382 - chi2: 103.03040863677447\n", "2019-02-04 08:22:10,514 - chi2: 103.02130365712449\n", "2019-02-04 08:22:10,643 - chi2: 103.02862970639801\n", "2019-02-04 08:22:10,902 - chi2: 103.01325268256703\n", "2019-02-04 08:22:11,160 - chi2: 103.00521702179881\n", "2019-02-04 08:22:11,440 - chi2: 102.99312097437254\n", "2019-02-04 08:22:11,583 - chi2: 103.00278861026337\n", "2019-02-04 08:22:11,730 - chi2: 103.00305420673227\n", "2019-02-04 08:22:11,871 - chi2: 102.99507724737802\n", "2019-02-04 08:22:12,003 - chi2: 103.00057827547963\n", "2019-02-04 08:22:12,265 - chi2: 102.97443620597761\n", "2019-02-04 08:22:12,398 - chi2: 102.98526106738669\n", "2019-02-04 08:22:12,666 - chi2: 102.95669543622157\n", "2019-02-04 08:22:12,801 - chi2: 102.96788430688645\n", "2019-02-04 08:22:12,937 - chi2: 102.9615802689315\n", "2019-02-04 08:22:13,201 - chi2: 102.92507395701467\n", "2019-02-04 08:22:13,331 - chi2: 102.93895249926662\n", "2019-02-04 08:22:13,461 - chi2: 102.94195884583509\n", "2019-02-04 08:22:13,591 - chi2: 102.93150370630202\n", "2019-02-04 08:22:13,850 - chi2: 102.89159642829708\n", "2019-02-04 08:22:14,112 - chi2: 102.83776901667859\n", "2019-02-04 08:22:14,241 - chi2: 102.8941864321551\n", "2019-02-04 08:22:14,370 - chi2: 102.8603284987217\n", "2019-02-04 08:22:14,501 - chi2: 102.85961141953035\n", "2019-02-04 08:22:14,630 - chi2: 102.84141025484195\n", "2019-02-04 08:22:14,761 - chi2: 102.8406652068327\n", "2019-02-04 08:22:15,019 - chi2: 102.76317889276214\n", "2019-02-04 08:22:15,149 - chi2: 102.779527410073\n", "2019-02-04 08:22:15,279 - chi2: 102.77221552364512\n", "2019-02-04 08:22:15,410 - chi2: 102.78312118017932\n", "2019-02-04 08:22:15,671 - chi2: 102.68776974365757\n", "2019-02-04 08:22:15,804 - chi2: 102.72472831507159\n", "2019-02-04 08:22:15,936 - chi2: 102.69490280469162\n", "2019-02-04 08:22:16,069 - chi2: 102.7093511531191\n", "2019-02-04 08:22:16,333 - chi2: 102.65952602202381\n", "2019-02-04 08:22:16,595 - chi2: 102.59233386924753\n", "2019-02-04 08:22:16,724 - chi2: 102.60551428691574\n", "2019-02-04 08:22:16,982 - chi2: 102.55467132137106\n", "2019-02-04 08:22:17,112 - chi2: 102.58888598602987\n", "2019-02-04 08:22:17,382 - chi2: 102.44062038962737\n", "2019-02-04 08:22:17,516 - chi2: 102.48092103594368\n", "2019-02-04 08:22:17,649 - chi2: 102.48557766088503\n", "2019-02-04 08:22:17,780 - chi2: 102.52251054728892\n", "2019-02-04 08:22:17,911 - chi2: 102.62388383333926\n", "2019-02-04 08:22:18,041 - chi2: 102.44897963861017\n", "2019-02-04 08:22:18,302 - chi2: 102.52115376293268\n", "2019-02-04 08:22:18,434 - chi2: 102.5378232442031\n", "2019-02-04 08:22:18,565 - chi2: 102.46502349028098\n", "2019-02-04 08:22:18,827 - chi2: 102.41889426096998\n", "2019-02-04 08:22:18,958 - chi2: 102.44408069649694\n", "2019-02-04 08:22:19,091 - chi2: 102.44444017940003\n", "2019-02-04 08:22:19,347 - chi2: 102.33596624601056\n", "2019-02-04 08:22:19,476 - chi2: 102.38658667124807\n", "2019-02-04 08:22:19,603 - chi2: 102.40470990043482\n", "2019-02-04 08:22:19,731 - chi2: 102.36281675087707\n", "2019-02-04 08:22:19,859 - chi2: 102.34134332501904\n", "2019-02-04 08:22:20,158 - chi2: 102.35517667184848\n", "2019-02-04 08:22:20,288 - chi2: 102.36556880091626\n", "2019-02-04 08:22:20,548 - chi2: 102.25252662755247\n", "2019-02-04 08:22:20,820 - chi2: 102.1722625817037\n", "2019-02-04 08:22:20,949 - chi2: 102.2637602962173\n", "2019-02-04 08:22:21,209 - chi2: 102.01593580347274\n", "2019-02-04 08:22:21,337 - chi2: 102.17585171922407\n", "2019-02-04 08:22:21,466 - chi2: 102.22418233933534\n", "2019-02-04 08:22:21,598 - chi2: 102.15771919339576\n", "2019-02-04 08:22:21,732 - chi2: 102.03431488939657\n", "2019-02-04 08:22:21,864 - chi2: 102.01813861113743\n", "2019-02-04 08:22:22,125 - chi2: 102.04624427419587\n", "2019-02-04 08:22:22,385 - chi2: 101.92122237719506\n", "2019-02-04 08:22:22,649 - chi2: 101.71475821912254\n", "2019-02-04 08:22:22,782 - chi2: 101.7830145043484\n", "2019-02-04 08:22:23,041 - chi2: 101.42033759401944\n", "2019-02-04 08:22:23,178 - chi2: 101.68702309765308\n", "2019-02-04 08:22:23,314 - chi2: 101.48467885707059\n", "2019-02-04 08:22:23,444 - chi2: 101.52012612539674\n", "2019-02-04 08:22:23,700 - chi2: 101.15415933824558\n", "2019-02-04 08:22:23,828 - chi2: 101.32221857514287\n", "2019-02-04 08:22:24,087 - chi2: 100.54706035182595\n", "2019-02-04 08:22:24,220 - chi2: 100.94477341266898\n", "2019-02-04 08:22:24,350 - chi2: 100.78551762148243\n", "2019-02-04 08:22:24,480 - chi2: 100.85224028629533\n", "2019-02-04 08:22:24,609 - chi2: 100.62913234469825\n", "2019-02-04 08:22:24,869 - chi2: 99.8675342662754\n", "2019-02-04 08:22:25,002 - chi2: 100.13854319383141\n", "2019-02-04 08:22:25,133 - chi2: 99.89458008427718\n", "2019-02-04 08:22:25,262 - chi2: 99.93642874084655\n", "2019-02-04 08:22:25,523 - chi2: 99.03459262355504\n", "2019-02-04 08:22:25,657 - chi2: 99.64418602354125\n", "2019-02-04 08:22:25,791 - chi2: 99.23897920412394\n", "2019-02-04 08:22:26,050 - chi2: 98.21708636470855\n", "2019-02-04 08:22:26,181 - chi2: 98.6956320185385\n", "2019-02-04 08:22:26,446 - chi2: 96.84268123404888\n", "2019-02-04 08:22:26,577 - chi2: 97.91890540753454\n", "2019-02-04 08:22:26,708 - chi2: 97.51868875437559\n", "2019-02-04 08:22:26,839 - chi2: 97.23353864537867\n", "2019-02-04 08:22:27,112 - chi2: 94.98971131603764\n", "2019-02-04 08:22:27,245 - chi2: 96.19418746605841\n", "2019-02-04 08:22:27,375 - chi2: 95.42648147323678\n", "2019-02-04 08:22:27,508 - chi2: 95.26329885418724\n", "2019-02-04 08:22:27,776 - chi2: 93.08046297573124\n", "2019-02-04 08:22:27,907 - chi2: 93.71703886079203\n", "2019-02-04 08:22:28,166 - chi2: 90.43996731056906\n", "2019-02-04 08:22:28,296 - chi2: 92.64456917721711\n", "2019-02-04 08:22:28,425 - chi2: 91.06350644413011\n", "2019-02-04 08:22:28,555 - chi2: 91.3329982113332\n", "2019-02-04 08:22:28,684 - chi2: 90.52949304040847\n", "2019-02-04 08:22:28,944 - chi2: 87.87826049846817\n", "2019-02-04 08:22:29,075 - chi2: 89.6095553439006\n", "2019-02-04 08:22:29,331 - chi2: 84.68230782016862\n", "2019-02-04 08:22:29,460 - chi2: 88.66292314019147\n", "2019-02-04 08:22:29,591 - chi2: 86.14202082901626\n", "2019-02-04 08:22:29,723 - chi2: 85.76568400906645\n", "2019-02-04 08:22:29,855 - chi2: 85.01217858549332\n", "2019-02-04 08:22:29,991 - chi2: 85.88011713985439\n", "2019-02-04 08:22:30,121 - chi2: 84.68249362871957\n", "2019-02-04 08:22:30,252 - chi2: 87.5674825393787\n", "2019-02-04 08:22:30,515 - chi2: 82.18469744503402\n", "2019-02-04 08:22:30,778 - chi2: 79.13136230837087\n", "2019-02-04 08:22:30,912 - chi2: 81.88675700079266\n", "2019-02-04 08:22:31,045 - chi2: 81.64177094597046\n", "2019-02-04 08:22:31,178 - chi2: 80.83389380101032\n", "2019-02-04 08:22:31,445 - chi2: 75.58557532571301\n", "2019-02-04 08:22:31,576 - chi2: 77.33080393565359\n", "2019-02-04 08:22:31,706 - chi2: 77.21196740129368\n", "2019-02-04 08:22:31,962 - chi2: 73.11557762777093\n", "2019-02-04 08:22:32,090 - chi2: 75.49510437019175\n", "2019-02-04 08:22:32,346 - chi2: 70.50774504637127\n", "2019-02-04 08:22:32,481 - chi2: 71.3429316868041\n", "2019-02-04 08:22:32,611 - chi2: 74.72357214950277\n", "2019-02-04 08:22:32,871 - chi2: 69.28876599008167\n", "2019-02-04 08:22:33,132 - chi2: 65.20126455430942\n", "2019-02-04 08:22:33,264 - chi2: 66.92625057666908\n", "2019-02-04 08:22:33,395 - chi2: 66.93480466383679\n", "2019-02-04 08:22:33,531 - chi2: 69.98002184648166\n", "2019-02-04 08:22:33,789 - chi2: 64.32106285591647\n", "2019-02-04 08:22:33,918 - chi2: 66.83072818222116\n", "2019-02-04 08:22:34,047 - chi2: 64.42598101016611\n", "2019-02-04 08:22:34,178 - chi2: 67.11557772745155\n", "2019-02-04 08:22:34,440 - chi2: 65.49936756186135\n", "2019-02-04 08:22:34,572 - chi2: 65.11551503279162\n", "2019-02-04 08:22:34,830 - chi2: 59.42214686736723\n", "2019-02-04 08:22:35,092 - chi2: 64.13325713469312\n", "2019-02-04 08:22:35,223 - chi2: 60.12681950535076\n", "2019-02-04 08:22:35,357 - chi2: 61.67605498254709\n", "2019-02-04 08:22:35,490 - chi2: 60.40443084978335\n", "2019-02-04 08:22:35,624 - chi2: 60.88498246753953\n", "2019-02-04 08:22:35,895 - chi2: 61.88368556911311\n", "2019-02-04 08:22:36,027 - chi2: 61.59574608328373\n", "2019-02-04 08:22:36,290 - chi2: 59.85390268523256\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:22:36,559 - chi2: 56.55509593667306\n", "2019-02-04 08:22:36,694 - chi2: 57.29010307470704\n", "2019-02-04 08:22:36,826 - chi2: 57.556032493614936\n", "2019-02-04 08:22:36,955 - chi2: 59.80724996467882\n", "2019-02-04 08:22:37,086 - chi2: 57.70751133993255\n", "2019-02-04 08:22:37,218 - chi2: 59.009078234655924\n", "2019-02-04 08:22:37,349 - chi2: 58.671591424881036\n", "2019-02-04 08:22:37,609 - chi2: 57.65359716723274\n", "2019-02-04 08:22:37,868 - chi2: 57.56579157198641\n", "2019-02-04 08:22:38,132 - chi2: 57.655977722869444\n", "2019-02-04 08:22:38,267 - chi2: 58.68431364055948\n", "2019-02-04 08:22:38,401 - chi2: 58.07908118318841\n", "2019-02-04 08:22:38,676 - chi2: 57.04281964801222\n", "2019-02-04 08:22:38,819 - chi2: 57.464422334237355\n", "2019-02-04 08:22:39,100 - chi2: 56.761599649676626\n", "2019-02-04 08:22:39,234 - chi2: 57.42570900487733\n", "2019-02-04 08:22:39,393 - chi2: 57.29212263759513\n", "2019-02-04 08:22:39,525 - chi2: 57.06002019611352\n", "2019-02-04 08:22:39,788 - chi2: 57.22061809149107\n", "2019-02-04 08:22:40,057 - chi2: 56.45901213364697\n", "2019-02-04 08:22:40,323 - chi2: 56.51733714111871\n", "2019-02-04 08:22:40,461 - chi2: 56.84267774098632\n", "2019-02-04 08:22:40,598 - chi2: 56.44612875165831\n", "2019-02-04 08:22:40,736 - chi2: 56.913830620106005\n", "2019-02-04 08:22:41,011 - chi2: 56.30028270597349\n", "2019-02-04 08:22:41,279 - chi2: 56.268826052699474\n", "2019-02-04 08:22:41,410 - chi2: 56.753556955817146\n", "2019-02-04 08:22:41,539 - chi2: 56.19503915692383\n", "2019-02-04 08:22:41,802 - chi2: 56.19096946863339\n", "2019-02-04 08:22:41,934 - chi2: 56.26146435841039\n", "2019-02-04 08:22:42,064 - chi2: 56.35958982632399\n", "2019-02-04 08:22:42,198 - chi2: 56.38143771392813\n", "2019-02-04 08:22:42,457 - chi2: 56.00511820676244\n", "2019-02-04 08:22:42,743 - chi2: 56.05322527506077\n", "2019-02-04 08:22:43,022 - chi2: 56.053373535847165\n", "2019-02-04 08:22:43,284 - chi2: 55.9787921888671\n", "2019-02-04 08:22:43,415 - chi2: 56.22597204674492\n", "2019-02-04 08:22:43,672 - chi2: 56.003653340864226\n", "2019-02-04 08:22:43,800 - chi2: 55.98313651058387\n", "2019-02-04 08:22:44,056 - chi2: 56.014736636496785\n", "2019-02-04 08:22:44,316 - chi2: 56.006977734880245\n", "2019-02-04 08:22:44,582 - chi2: 56.22731429513827\n", "2019-02-04 08:22:44,843 - chi2: 56.03329440004949\n", "2019-02-04 08:22:44,971 - chi2: 55.890858481302004\n", "2019-02-04 08:22:45,229 - chi2: 55.91468896246333\n", "2019-02-04 08:22:45,358 - chi2: 55.90522319451452\n", "2019-02-04 08:22:45,486 - chi2: 55.87960187921158\n", "2019-02-04 08:22:45,615 - chi2: 55.98377631988649\n", "2019-02-04 08:22:45,745 - chi2: 55.91250669499235\n", "2019-02-04 08:22:46,009 - chi2: 55.86248422534472\n", "2019-02-04 08:22:46,139 - chi2: 55.912748343071165\n", "2019-02-04 08:22:46,271 - chi2: 55.90670532456843\n", "2019-02-04 08:22:46,404 - chi2: 55.86802882326608\n", "2019-02-04 08:22:46,669 - chi2: 55.83126057151635\n", "2019-02-04 08:22:46,929 - chi2: 55.835685609400116\n", "2019-02-04 08:22:47,059 - chi2: 55.83442690601871\n", "2019-02-04 08:22:47,321 - chi2: 55.821055416716334\n", "2019-02-04 08:22:47,581 - chi2: 55.94477122678481\n", "2019-02-04 08:22:47,711 - chi2: 55.85212939988244\n", "2019-02-04 08:22:47,842 - chi2: 55.86180089470966\n", "2019-02-04 08:22:48,100 - chi2: 55.80790977924344\n", "2019-02-04 08:22:48,359 - chi2: 55.80802893086971\n", "2019-02-04 08:22:48,620 - chi2: 55.81053365646605\n", "2019-02-04 08:22:48,750 - chi2: 55.81281816621188\n", "2019-02-04 08:22:49,020 - chi2: 55.80020072952849\n", "2019-02-04 08:22:49,289 - chi2: 55.80052550131337\n", "2019-02-04 08:22:49,426 - chi2: 55.82579723450307\n", "2019-02-04 08:22:49,697 - chi2: 55.792041237304815\n", "2019-02-04 08:22:49,967 - chi2: 55.79375902815853\n", "2019-02-04 08:22:50,097 - chi2: 55.80541187693072\n", "2019-02-04 08:22:50,359 - chi2: 55.788859947236155\n", "2019-02-04 08:22:50,625 - chi2: 55.78963311092249\n", "2019-02-04 08:22:50,762 - chi2: 55.80577942936663\n", "2019-02-04 08:22:51,029 - chi2: 55.757953888777074\n", "2019-02-04 08:22:51,159 - chi2: 55.79213351500247\n", "2019-02-04 08:22:51,291 - chi2: 55.7922153175536\n", "2019-02-04 08:22:51,549 - chi2: 55.78137062646276\n", "2019-02-04 08:22:51,680 - chi2: 55.77519288030723\n", "2019-02-04 08:22:51,944 - chi2: 55.77747664286072\n", "2019-02-04 08:22:52,074 - chi2: 55.75983974292071\n", "2019-02-04 08:22:52,331 - chi2: 55.77335931763106\n", "2019-02-04 08:22:52,463 - chi2: 55.78504183392633\n", "2019-02-04 08:22:52,598 - chi2: 55.763456055113686\n", "2019-02-04 08:22:52,731 - chi2: 55.760584424925675\n", "2019-02-04 08:22:52,867 - chi2: 55.76457535145997\n", "2019-02-04 08:22:53,000 - chi2: 55.76236017696355\n", "2019-02-04 08:22:53,273 - chi2: 55.77187061500585\n", "2019-02-04 08:22:53,547 - chi2: 55.75825479531669\n", "2019-02-04 08:22:53,679 - chi2: 55.76091534166039\n", "2019-02-04 08:22:53,937 - chi2: 55.76105025003261\n", "2019-02-04 08:22:54,193 - chi2: 55.752864356959364\n", "2019-02-04 08:22:54,328 - chi2: 55.74902711689071\n", "2019-02-04 08:22:54,463 - chi2: 55.757006801019884\n", "2019-02-04 08:22:54,720 - chi2: 55.751869223631466\n", "2019-02-04 08:22:54,992 - chi2: 55.75233706075491\n", "2019-02-04 08:22:55,257 - chi2: 55.75231493631143\n", "2019-02-04 08:22:55,392 - chi2: 55.753905810881704\n", "2019-02-04 08:22:55,530 - chi2: 55.74861869810654\n", "2019-02-04 08:22:55,799 - chi2: 55.749182434333136\n", "2019-02-04 08:22:55,926 - chi2: 55.748714311219246\n", "2019-02-04 08:22:56,179 - chi2: 55.747688867628824\n", "2019-02-04 08:22:56,306 - chi2: 55.74882541386677\n", "2019-02-04 08:22:56,434 - chi2: 55.74724213520002\n", "2019-02-04 08:22:56,684 - chi2: 55.75716524022151\n", "2019-02-04 08:22:56,937 - chi2: 55.74582796022687\n", "2019-02-04 08:22:57,224 - chi2: 55.74553895384988\n", "2019-02-04 08:22:57,352 - chi2: 55.74867674308068\n", "2019-02-04 08:22:57,645 - chi2: 55.74499996159145\n", "2019-02-04 08:22:57,898 - chi2: 55.74546015451655\n", "2019-02-04 08:22:58,151 - chi2: 55.749457599724735\n", "2019-02-04 08:22:58,405 - chi2: 55.74924399961875\n", "2019-02-04 08:22:58,533 - chi2: 55.74417869539469\n", "2019-02-04 08:22:58,660 - chi2: 55.74503108435908\n", "2019-02-04 08:22:58,918 - chi2: 55.7431867358941\n", "2019-02-04 08:22:59,046 - chi2: 55.745718581327985\n", "2019-02-04 08:22:59,177 - chi2: 55.74437195441847\n", "2019-02-04 08:22:59,306 - chi2: 55.744521542360324\n", "2019-02-04 08:22:59,564 - chi2: 55.74161797452241\n", "2019-02-04 08:22:59,695 - chi2: 55.74226207518305\n", "2019-02-04 08:22:59,826 - chi2: 55.743322214264836\n", "2019-02-04 08:22:59,960 - chi2: 55.741740293746844\n", "2019-02-04 08:23:00,099 - chi2: 55.74205381378109\n", "2019-02-04 08:23:00,240 - chi2: 55.743873976973795\n", "2019-02-04 08:23:00,495 - chi2: 55.74193635834775\n", "2019-02-04 08:23:00,748 - chi2: 55.74185197464849\n", "2019-02-04 08:23:00,885 - chi2: 55.742927841844704\n", "2019-02-04 08:23:01,150 - chi2: 55.741691977328834\n", "2019-02-04 08:23:01,402 - chi2: 55.74177505883203\n", "2019-02-04 08:23:01,653 - chi2: 55.74203483430648\n", "2019-02-04 08:23:01,903 - chi2: 55.74127767299581\n", "2019-02-04 08:23:02,156 - chi2: 55.740721269810216\n", "2019-02-04 08:23:02,410 - chi2: 55.741456133126825\n", "2019-02-04 08:23:02,536 - chi2: 55.74121442074094\n", "2019-02-04 08:23:02,662 - chi2: 55.74129496843182\n", "2019-02-04 08:23:02,789 - chi2: 55.74148146691529\n", "2019-02-04 08:23:02,916 - chi2: 55.740945059170514\n", "2019-02-04 08:23:03,042 - chi2: 55.74076068720547\n", "2019-02-04 08:23:03,171 - chi2: 55.74124738766834\n", "2019-02-04 08:23:03,297 - chi2: 55.7407316159288\n", "2019-02-04 08:23:03,548 - chi2: 55.74081904853466\n", "2019-02-04 08:23:03,799 - chi2: 55.74187898672585\n", "2019-02-04 08:23:03,926 - chi2: 55.740930385260526\n", "2019-02-04 08:23:04,186 - chi2: 55.74050502172949\n", "2019-02-04 08:23:04,442 - chi2: 55.74083263118705\n", "2019-02-04 08:23:04,694 - chi2: 55.74058400683458\n", "2019-02-04 08:23:04,946 - chi2: 55.740526518182236\n", "2019-02-04 08:23:05,208 - chi2: 55.74125901856228\n", "2019-02-04 08:23:05,336 - chi2: 55.740646254731175\n", "2019-02-04 08:23:05,593 - chi2: 55.74035171694863\n", "2019-02-04 08:23:05,854 - chi2: 55.74037792514343\n", "2019-02-04 08:23:05,980 - chi2: 55.74040275282782\n", "2019-02-04 08:23:06,106 - chi2: 55.74048698375909\n", "2019-02-04 08:23:06,367 - chi2: 55.74041001712259\n", "2019-02-04 08:23:06,624 - chi2: 55.740182555038295\n", "2019-02-04 08:23:06,751 - chi2: 55.74000062299192\n", "2019-02-04 08:23:06,876 - chi2: 55.7402938011891\n", "2019-02-04 08:23:07,005 - chi2: 55.74014963776399\n", "2019-02-04 08:23:07,269 - chi2: 55.74016713731902\n", "2019-02-04 08:23:07,539 - chi2: 55.740129203921384\n", "2019-02-04 08:23:07,676 - chi2: 55.740234113418246\n", "2019-02-04 08:23:07,806 - chi2: 55.74021359064936\n", "2019-02-04 08:23:08,061 - chi2: 55.739812246434276\n", "2019-02-04 08:23:08,191 - chi2: 55.74020642658517\n", "2019-02-04 08:23:08,452 - chi2: 55.73990599261433\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:23:09,835 - chi2: 55.74004143165118\n", "2019-02-04 08:23:09,964 - chi2: 55.740093170932944\n", "2019-02-04 08:23:10,091 - chi2: 55.73999327158574\n", "2019-02-04 08:23:10,217 - chi2: 55.74003298015385\n", "2019-02-04 08:23:10,344 - chi2: 55.73995798479237\n", "2019-02-04 08:23:10,596 - chi2: 55.73996298336074\n", "2019-02-04 08:23:11,976 - chi2: 55.739805308938195\n", "2019-02-04 08:23:12,102 - chi2: 55.74000182387719\n", "2019-02-04 08:23:12,358 - chi2: 55.74003537351903\n", "2019-02-04 08:23:12,484 - chi2: 55.739816908592836\n", "2019-02-04 08:23:12,610 - chi2: 55.740014744449624\n", "2019-02-04 08:23:12,861 - chi2: 55.739858181176416\n", "2019-02-04 08:23:13,113 - chi2: 55.739858399027426\n", "2019-02-04 08:23:13,241 - chi2: 55.739856209687126\n", "2019-02-04 08:23:14,622 - chi2: 55.73990057310571\n", "2019-02-04 08:23:14,749 - chi2: 55.739969377692354\n", "2019-02-04 08:23:14,876 - chi2: 55.73992103127619\n", "2019-02-04 08:23:15,129 - chi2: 55.73996473636267\n", "2019-02-04 08:23:15,383 - chi2: 55.73989125090201\n", "2019-02-04 08:23:15,510 - chi2: 55.73972581817566\n", "2019-02-04 08:23:15,767 - chi2: 55.73984333413325\n", "2019-02-04 08:23:17,168 - chi2: 55.739965171392946\n", "2019-02-04 08:23:17,297 - chi2: 55.739899654447086\n", "2019-02-04 08:23:17,423 - chi2: 55.73984194221029\n", "2019-02-04 08:23:17,674 - chi2: 55.73987793116282\n", "2019-02-04 08:23:17,805 - chi2: 55.73984688173444\n", "2019-02-04 08:23:17,932 - chi2: 55.739765304518095\n", "2019-02-04 08:23:18,186 - chi2: 55.739784708663194\n", "2019-02-04 08:23:18,440 - chi2: 55.739736604231645\n", "2019-02-04 08:23:18,692 - chi2: 55.73967400762685\n", "2019-02-04 08:23:18,820 - chi2: 55.73971671544216\n", "2019-02-04 08:23:18,953 - chi2: 55.73973416072686\n", "2019-02-04 08:23:19,211 - chi2: 55.73972709684265\n", "2019-02-04 08:23:19,464 - chi2: 55.73973585467345\n", "2019-02-04 08:23:20,851 - chi2: 55.7396515873017\n", "2019-02-04 08:23:20,977 - chi2: 55.73974317730569\n", "2019-02-04 08:23:21,104 - chi2: 55.73971014665481\n", "2019-02-04 08:23:21,361 - chi2: 55.73976612133344\n", "2019-02-04 08:23:22,754 - chi2: 55.73975206910569\n", "2019-02-04 08:23:22,880 - chi2: 55.73973176564177\n", "2019-02-04 08:23:23,132 - chi2: 55.73972718627426\n", "2019-02-04 08:23:23,260 - chi2: 55.73963950416585\n", "2019-02-04 08:23:23,516 - chi2: 55.73979429942284\n", "2019-02-04 08:23:23,789 - chi2: 55.73958012096499\n", "2019-02-04 08:23:24,047 - chi2: 55.73966916626964\n", "2019-02-04 08:23:24,177 - chi2: 55.739667084662265\n", "2019-02-04 08:23:24,432 - chi2: 55.739580463258335\n", "2019-02-04 08:23:25,828 - chi2: 55.73967742153505\n", "2019-02-04 08:23:26,082 - chi2: 55.73977636215099\n", "2019-02-04 08:23:26,212 - chi2: 55.73966988204012\n", "2019-02-04 08:23:26,352 - chi2: 55.73960659835409\n", "2019-02-04 08:23:26,612 - chi2: 55.73959497740292\n", "2019-02-04 08:23:28,013 - chi2: 55.73967048882171\n", "2019-02-04 08:23:28,267 - chi2: 55.73962518923347\n", "2019-02-04 08:23:28,867 - chi2: 55.73952778023619\n", "2019-02-04 08:23:28,869 - -------------\n", "2019-02-04 08:23:28,870 - Cycle 1 \n", "2019-02-04 08:23:28,871 - Weights for region spec1 : SI=0.0 - SQ=10.0 - SU=10.0 - SV=10.0\n", "2019-02-04 08:23:28,872 - -------------\n", "2019-02-04 08:23:29,722 - chi2: 30.15786115286162\n", "2019-02-04 08:23:30,027 - chi2: 29.82684235462965\n", "2019-02-04 08:23:30,181 - chi2: 30.046654397040943\n", "2019-02-04 08:23:30,483 - chi2: 29.42486845544968\n", "2019-02-04 08:23:30,637 - chi2: 29.86955143153041\n", "2019-02-04 08:23:30,942 - chi2: 29.24415921179823\n", "2019-02-04 08:23:31,093 - chi2: 29.417780284469607\n", "2019-02-04 08:23:31,249 - chi2: 29.73259502577965\n", "2019-02-04 08:23:31,558 - chi2: 29.027193350098727\n", "2019-02-04 08:23:31,711 - chi2: 29.30529263379414\n", "2019-02-04 08:23:32,012 - chi2: 28.831429729964366\n", "2019-02-04 08:23:32,166 - chi2: 28.899444670035233\n", "2019-02-04 08:23:32,470 - chi2: 28.707293158473902\n", "2019-02-04 08:23:32,773 - chi2: 28.387338034312876\n", "2019-02-04 08:23:33,079 - chi2: 28.114861446059095\n", "2019-02-04 08:23:33,233 - chi2: 28.153796632525097\n", "2019-02-04 08:23:33,543 - chi2: 27.561915378379492\n", "2019-02-04 08:23:33,846 - chi2: 26.946213810765947\n", "2019-02-04 08:23:34,001 - chi2: 27.005904560917365\n", "2019-02-04 08:23:34,324 - chi2: 25.996915583649177\n", "2019-02-04 08:23:34,630 - chi2: 24.551946550221533\n", "2019-02-04 08:23:34,790 - chi2: 24.728385634162702\n", "2019-02-04 08:23:35,095 - chi2: 22.83900400239949\n", "2019-02-04 08:23:35,402 - chi2: 20.321717015751428\n", "2019-02-04 08:23:35,561 - chi2: 20.435142999680785\n", "2019-02-04 08:23:35,872 - chi2: 17.520673110441027\n", "2019-02-04 08:23:36,190 - chi2: 14.476508532125646\n", "2019-02-04 08:23:36,344 - chi2: 14.556135255571284\n", "2019-02-04 08:23:36,652 - chi2: 12.913213908605094\n", "2019-02-04 08:23:36,805 - chi2: 13.028849361832417\n", "2019-02-04 08:23:36,960 - chi2: 13.918048379214559\n", "2019-02-04 08:23:37,271 - chi2: 13.317056806755444\n", "2019-02-04 08:23:37,570 - chi2: 13.207677265413524\n", "2019-02-04 08:23:37,869 - chi2: 13.06139580971638\n", "2019-02-04 08:23:38,172 - chi2: 13.003506617668947\n", "2019-02-04 08:23:38,479 - chi2: 12.962858923143\n", "2019-02-04 08:23:38,780 - chi2: 12.936484349065289\n", "2019-02-04 08:23:39,085 - chi2: 12.924829661327701\n", "2019-02-04 08:23:39,402 - chi2: 12.93013477939974\n", "2019-02-04 08:23:39,702 - chi2: 12.915454965066834\n", "2019-02-04 08:23:39,858 - chi2: 12.92052630902305\n", "2019-02-04 08:23:40,161 - chi2: 12.912771884113535\n", "2019-02-04 08:23:40,464 - chi2: 12.911642149633957\n", "2019-02-04 08:23:40,768 - chi2: 12.91077900750835\n", "2019-02-04 08:23:41,072 - chi2: 12.910790030053843\n", "2019-02-04 08:23:41,381 - chi2: 12.909613213133587\n", "2019-02-04 08:23:41,693 - chi2: 12.91031900277726\n", "2019-02-04 08:23:41,997 - chi2: 12.910138810951427\n", "2019-02-04 08:23:42,150 - chi2: 12.90998301413335\n", "2019-02-04 08:23:42,458 - chi2: 12.909863318569476\n", "2019-02-04 08:23:42,786 - chi2: 12.91033494367943\n", "2019-02-04 08:23:43,087 - chi2: 12.907824149092587\n", "2019-02-04 08:23:43,395 - chi2: 12.909075879650107\n", "2019-02-04 08:23:43,546 - chi2: 12.90785803961736\n", "2019-02-04 08:23:43,700 - chi2: 12.908781389451082\n", "2019-02-04 08:23:44,009 - chi2: 12.906115400722424\n", "2019-02-04 08:23:44,317 - chi2: 12.903721909035953\n", "2019-02-04 08:23:44,467 - chi2: 12.907388984356846\n", "2019-02-04 08:23:44,619 - chi2: 12.906730185092737\n", "2019-02-04 08:23:44,944 - chi2: 12.902082447638834\n", "2019-02-04 08:23:45,247 - chi2: 12.89860803147282\n", "2019-02-04 08:23:45,397 - chi2: 12.900115378334746\n", "2019-02-04 08:23:45,702 - chi2: 12.88915358721836\n", "2019-02-04 08:23:45,860 - chi2: 12.890122480102228\n", "2019-02-04 08:23:46,014 - chi2: 12.891377829119683\n", "2019-02-04 08:23:46,316 - chi2: 12.877089442483864\n", "2019-02-04 08:23:46,619 - chi2: 12.862289214219588\n", "2019-02-04 08:23:46,771 - chi2: 12.876726435848974\n", "2019-02-04 08:23:47,071 - chi2: 12.849711944439118\n", "2019-02-04 08:23:47,372 - chi2: 12.835946775633605\n", "2019-02-04 08:23:47,521 - chi2: 12.83727526225312\n", "2019-02-04 08:23:47,824 - chi2: 12.797540024001908\n", "2019-02-04 08:23:47,974 - chi2: 12.82343102214567\n", "2019-02-04 08:23:48,126 - chi2: 12.819920414387655\n", "2019-02-04 08:23:48,280 - chi2: 12.81341846742597\n", "2019-02-04 08:23:48,596 - chi2: 12.812814585236184\n", "2019-02-04 08:23:48,747 - chi2: 12.797852961527662\n", "2019-02-04 08:23:49,052 - chi2: 12.782299358923359\n", "2019-02-04 08:23:49,357 - chi2: 12.783075801857446\n", "2019-02-04 08:23:49,508 - chi2: 12.785160925407872\n", "2019-02-04 08:23:49,659 - chi2: 12.797417253011048\n", "2019-02-04 08:23:49,810 - chi2: 12.793056213992983\n", "2019-02-04 08:23:49,962 - chi2: 12.790385077125636\n", "2019-02-04 08:23:50,269 - chi2: 12.782958099148576\n", "2019-02-04 08:23:50,580 - chi2: 12.78211703797221\n", "2019-02-04 08:23:50,884 - chi2: 12.781103225269254\n", "2019-02-04 08:23:51,185 - chi2: 12.78078878130472\n", "2019-02-04 08:23:51,336 - chi2: 12.780997829454677\n", "2019-02-04 08:23:51,637 - chi2: 12.780399463078384\n", "2019-02-04 08:23:51,942 - chi2: 12.780344012631192\n", "2019-02-04 08:23:52,099 - chi2: 12.780382680355988\n", "2019-02-04 08:23:52,409 - chi2: 12.78027156085927\n", "2019-02-04 08:23:52,709 - chi2: 12.780552398564563\n", "2019-02-04 08:23:52,862 - chi2: 12.780085477934943\n", "2019-02-04 08:23:53,168 - chi2: 12.779940191384028\n", "2019-02-04 08:23:53,475 - chi2: 12.779711870103956\n", "2019-02-04 08:23:53,629 - chi2: 12.77989376276615\n", "2019-02-04 08:23:53,934 - chi2: 12.779886378933709\n", "2019-02-04 08:23:54,084 - chi2: 12.779661594622592\n", "2019-02-04 08:23:54,385 - chi2: 12.779208143071184\n", "2019-02-04 08:23:54,686 - chi2: 12.77968711624677\n", "2019-02-04 08:23:54,838 - chi2: 12.779220597754904\n", "2019-02-04 08:23:54,992 - chi2: 12.779368372675663\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2019-02-04 08:23:55,302 - chi2: 12.778480823774974\n", "2019-02-04 08:23:55,603 - chi2: 12.777853380681993\n", "2019-02-04 08:23:55,756 - chi2: 12.778551461282525\n", "2019-02-04 08:23:55,906 - chi2: 12.778386948776536\n", "2019-02-04 08:23:56,206 - chi2: 12.776625758266245\n", "2019-02-04 08:23:56,356 - chi2: 12.77704294956321\n", "2019-02-04 08:23:56,506 - chi2: 12.777022533716867\n", "2019-02-04 08:23:56,807 - chi2: 12.774285789321915\n", "2019-02-04 08:23:56,956 - chi2: 12.774751773280805\n", "2019-02-04 08:23:57,106 - chi2: 12.774567765340482\n", "2019-02-04 08:23:57,413 - chi2: 12.771073984133327\n", "2019-02-04 08:23:57,713 - chi2: 12.767699308006502\n", "2019-02-04 08:23:57,865 - chi2: 12.768862955091306\n", "2019-02-04 08:23:58,017 - chi2: 12.768028980499803\n", "2019-02-04 08:23:58,318 - chi2: 12.758079393747787\n", "2019-02-04 08:23:58,468 - chi2: 12.760258681229493\n", "2019-02-04 08:23:58,618 - chi2: 12.758405720151254\n", "2019-02-04 08:23:58,918 - chi2: 12.750313213128376\n", "2019-02-04 08:23:59,219 - chi2: 12.737403125757707\n", "2019-02-04 08:23:59,370 - chi2: 12.741135368218927\n", "2019-02-04 08:23:59,673 - chi2: 12.72628428812559\n", "2019-02-04 08:23:59,981 - chi2: 12.7223886536483\n", "2019-02-04 08:24:00,283 - chi2: 12.708772497261116\n", "2019-02-04 08:24:00,436 - chi2: 12.711844194169956\n", "2019-02-04 08:24:00,737 - chi2: 12.717540042228842\n", "2019-02-04 08:24:01,039 - chi2: 12.715222692679347\n", "2019-02-04 08:24:01,341 - chi2: 12.70194844777076\n", "2019-02-04 08:24:01,490 - chi2: 12.703482746875661\n", "2019-02-04 08:24:01,790 - chi2: 12.706077225787544\n", "2019-02-04 08:24:01,941 - chi2: 12.703967234131598\n", "2019-02-04 08:24:02,091 - chi2: 12.70241590623188\n", "2019-02-04 08:24:02,394 - chi2: 12.699838226174199\n", "2019-02-04 08:24:02,693 - chi2: 12.693286865333524\n", "2019-02-04 08:24:02,844 - chi2: 12.701441436197191\n", "2019-02-04 08:24:03,145 - chi2: 12.69550410683864\n", "2019-02-04 08:24:03,449 - chi2: 12.685164842033764\n", "2019-02-04 08:24:03,747 - chi2: 12.692369679855439\n", "2019-02-04 08:24:03,897 - chi2: 12.686455635946269\n", "2019-02-04 08:24:04,199 - chi2: 12.679671087868805\n", "2019-02-04 08:24:04,353 - chi2: 12.686362581944236\n", "2019-02-04 08:24:04,651 - chi2: 12.671543219190996\n", "2019-02-04 08:24:04,952 - chi2: 12.679043062508086\n", "2019-02-04 08:24:05,102 - chi2: 12.673016901983535\n", "2019-02-04 08:24:05,404 - chi2: 12.663379248157579\n", "2019-02-04 08:24:05,706 - chi2: 12.663193932436853\n", "2019-02-04 08:24:05,856 - chi2: 12.669563610893107\n", "2019-02-04 08:24:06,156 - chi2: 12.665377089532841\n", "2019-02-04 08:24:06,310 - chi2: 12.662629236086849\n", "2019-02-04 08:24:06,609 - chi2: 12.662566888927916\n", "2019-02-04 08:24:06,908 - chi2: 12.66149897575618\n", "2019-02-04 08:24:07,211 - chi2: 12.66117288954166\n", "2019-02-04 08:24:07,509 - chi2: 12.66104448009875\n", "2019-02-04 08:24:07,808 - chi2: 12.66115298843556\n", "2019-02-04 08:24:08,106 - chi2: 12.660803670370393\n", "2019-02-04 08:24:08,409 - chi2: 12.66086058016407\n", "2019-02-04 08:24:08,706 - chi2: 12.66086610587556\n", "2019-02-04 08:24:09,004 - chi2: 12.660823319491321\n", "2019-02-04 08:24:09,305 - chi2: 12.660751233905517\n", "2019-02-04 08:24:09,604 - chi2: 12.660779973597979\n", "2019-02-04 08:24:09,903 - chi2: 12.660824043643744\n", "2019-02-04 08:24:10,054 - chi2: 12.660809565509775\n", "2019-02-04 08:24:10,358 - chi2: 12.660782043416722\n", "2019-02-04 08:24:10,508 - chi2: 12.660791751571072\n", "2019-02-04 08:24:10,807 - chi2: 12.660715352472677\n", "2019-02-04 08:24:10,957 - chi2: 12.660770911373216\n", "2019-02-04 08:24:11,257 - chi2: 12.660766948336683\n", "2019-02-04 08:24:11,559 - chi2: 12.660769296489576\n", "2019-02-04 08:24:11,858 - chi2: 12.66078023501115\n", "2019-02-04 08:24:12,008 - chi2: 12.660691043786723\n", "2019-02-04 08:24:12,311 - chi2: 12.66065959973836\n", "2019-02-04 08:24:13,213 - chi2: 12.660682870572243\n", "2019-02-04 08:24:13,515 - chi2: 12.660678229388962\n", "2019-02-04 08:24:13,835 - chi2: 12.660669855518012\n", "2019-02-04 08:24:14,135 - chi2: 12.660655010859308\n", "2019-02-04 08:24:15,041 - chi2: 12.66065407305971\n", "2019-02-04 08:24:15,193 - chi2: 12.660662717025312\n", "2019-02-04 08:24:16,098 - chi2: 12.660692267505796\n", "2019-02-04 08:24:16,732 - chi2: 12.66065407305971\n" ] } ], "source": [ "mod = hazel.Model('conf_spot.ini', working_mode='inversion', verbose=2)\n", "mod.read_observation()\n", "mod.open_output()\n", "mod.invert_external(minimize, method='Nelder-Mead')\n", "mod.write_output()\n", "mod.close_output()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we plot the results." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/scratch/miniconda3/envs/py36/lib/python3.6/site-packages/matplotlib/figure.py:2267: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", " warnings.warn(\"This figure includes Axes that are not compatible \"\n" ] }, { "data": { "image/png": "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\nUEmSJEmV/AtDA7AzZ5o44AAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "final = np.loadtxt('photospheres/model_photosphere.1d', skiprows=4)\n", "start = np.loadtxt('photospheres/model_photosphere_200.1d', skiprows=4)\n", "f = h5py.File('output.h5')\n", "pl.plot(f['ph1']['T'][0,0,:])\n", "pl.plot(final[:,1])\n", "pl.plot(start[:,1], 'x')\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's use an optimizer that uses first-order derivatives. Let's select the Newton-CG method:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2018-07-10 16:50:45,019 - Adding spectral region spec1\n", "2018-07-10 16:50:45,021 - - Reading wavelength axis from observations/10830.wavelength\n", "2018-07-10 16:50:45,027 - - Reading wavelength weights from observations/10830.weights\n", "2018-07-10 16:50:45,034 - - Using observations from observations/10830_stokes.1d\n", "2018-07-10 16:50:45,036 - - No mask for pixels\n", "2018-07-10 16:50:45,038 - - Using LOS ['0.0', '0.0', '90.0']\n", "2018-07-10 16:50:45,039 - - Using boundary condition ['1.0', '0.0', '0.0', '0.0']\n", "2018-07-10 16:50:45,041 - Using 1 cycles\n", "2018-07-10 16:50:45,043 - Adding atmospheres\n", "2018-07-10 16:50:45,045 - - New available photosphere : ph1\n", "2018-07-10 16:50:45,046 - * Adding line : [300]\n", "2018-07-10 16:50:45,048 - * Magnetic field reference frame : vertical\n", "2018-07-10 16:50:45,050 - * Reading 1D model photospheres/model_photosphere_200.1d as reference\n", "2018-07-10 16:50:45,057 - - New available chromosphere : ch1\n", "2018-07-10 16:50:45,059 - * Adding line : 10830\n", "2018-07-10 16:50:45,060 - * Magnetic field reference frame : vertical\n", "2018-07-10 16:50:45,062 - * Reading 1D model chromospheres/model_chromosphere.1d as reference\n", "/scratch/Dropbox/GIT/hazel2/hazel/transforms.py:19: RuntimeWarning: divide by zero encountered in log\n", " return np.log(x / (1.0 - x))\n", "2018-07-10 16:50:45,066 - - New available parametric : te1\n", "2018-07-10 16:50:45,068 - * Reading 1D model telluric/model_telluric.1d as reference\n", "2018-07-10 16:50:45,070 - Adding topologies\n", "2018-07-10 16:50:45,071 - - ph1 -> ch1 -> te1\n", "2018-07-10 16:50:45,073 - Removing unused atmospheres\n", "2018-07-10 16:50:45,074 - Number of pixels to invert : 1\n", "2018-07-10 16:50:45,098 - -------------\n", "2018-07-10 16:50:45,099 - Cycle 0 \n", "2018-07-10 16:50:45,101 - Weights for region spec1 : SI=1.0 - SQ=0.0 - SU=0.0 - SV=0.0\n", "2018-07-10 16:50:45,102 - -------------\n", "2018-07-10 16:50:45,930 - chi2: 60596.95373734312\n", "2018-07-10 16:50:46,542 - chi2: 243.02449839565205\n", "2018-07-10 16:50:54,937 - chi2: 243.02449839565205\n" ] } ], "source": [ "mod = hazel.Model('conf_single.ini', working_mode='inversion', verbose=2)\n", "mod.read_observation()\n", "mod.open_output()\n", "mod.invert_external(minimize, use_jacobian=True, method='Newton-CG')\n", "mod.write_output()\n", "mod.close_output()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "ename": "OSError", "evalue": "photospheres/model_photosphere.1d not found.", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mOSError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mfinal\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloadtxt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'photospheres/model_photosphere.1d'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mskiprows\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mstart\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloadtxt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'photospheres/model_photosphere_200.1d'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mskiprows\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mh5py\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'output.h5'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mpl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'ph1'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'T'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mpl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfinal\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/scratch/miniconda3/envs/py36/lib/python3.6/site-packages/numpy/lib/npyio.py\u001b[0m in \u001b[0;36mloadtxt\u001b[0;34m(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin, encoding)\u001b[0m\n\u001b[1;32m 924\u001b[0m \u001b[0mfname\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 925\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0m_is_string_like\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 926\u001b[0;31m \u001b[0mfh\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_datasource\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'rt'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mencoding\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 927\u001b[0m \u001b[0mfencoding\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfh\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'encoding'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'latin1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 928\u001b[0m \u001b[0mfh\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0miter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfh\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/scratch/miniconda3/envs/py36/lib/python3.6/site-packages/numpy/lib/_datasource.py\u001b[0m in \u001b[0;36mopen\u001b[0;34m(path, mode, destpath, encoding, newline)\u001b[0m\n\u001b[1;32m 260\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 261\u001b[0m \u001b[0mds\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mDataSource\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdestpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 262\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mds\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mencoding\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnewline\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnewline\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 263\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 264\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/scratch/miniconda3/envs/py36/lib/python3.6/site-packages/numpy/lib/_datasource.py\u001b[0m in \u001b[0;36mopen\u001b[0;34m(self, path, mode, encoding, newline)\u001b[0m\n\u001b[1;32m 616\u001b[0m encoding=encoding, newline=newline)\n\u001b[1;32m 617\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 618\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mIOError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"%s not found.\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 619\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 620\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mOSError\u001b[0m: photospheres/model_photosphere.1d not found." ] } ], "source": [ "final = np.loadtxt('photospheres/model_photosphere.1d', skiprows=4)\n", "start = np.loadtxt('photospheres/model_photosphere_200.1d', skiprows=4)\n", "f = h5py.File('output.h5')\n", "pl.plot(f['ph1']['T'][0,0,:])\n", "pl.plot(final[:,1])\n", "pl.plot(start[:,1], 'x')\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using other external optimizers (pro-mode)\n", "Using non-SciPy optimizers is slightly more complicated. For this purpose Hazel provides the necessary tools to use them. Here we show an example using the well-known Adam optimizer, broadly used for training deep neural networks. It is a first-order optimizer which uses derivative information. Let us first define a class that implements the Adam optimizer:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "class AdamOptimizer:\n", " def __init__(self, fun, x0, alpha=0.001, beta1=0.9, beta2=0.999, epsilon=1e-8):\n", " self.alpha = alpha\n", " self.beta1 = beta1\n", " self.beta2 = beta2\n", " self.epsilon = epsilon\n", " self.m = 0\n", " self.v = 0\n", " self.t = 0\n", " self.theta = x0\n", " self.fun = fun\n", "\n", " def optimize(self, n_iter):\n", " for i in range(n_iter):\n", " f, gradient = self.fun(self.theta)\n", " self.t = self.t + 1\n", " self.m = self.beta1*self.m + (1 - self.beta1)*gradient\n", " self.v = self.beta2*self.v + (1 - self.beta2)*(gradient**2)\n", " m_hat = self.m/(1 - self.beta1**self.t)\n", " v_hat = self.v/(1 - self.beta2**self.t)\n", " self.theta = self.theta - self.alpha*(m_hat/(np.sqrt(v_hat) - self.epsilon))\n", " print(\"Iter: {0} - chi2: {1}\".format(self.t, f))\n", " return self.theta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we instantiate the model, read the observations and open the output. Next, we need to follow what `invert_external` does. First, compute some factors used internally by Hazel. Loop over all cycles with the following steps: i) find the active parameters, ii) instantiate the optimizer with the `_func_grad` function provided by Hazel, iii) call the optimizer, iv) set the final model and v) propagate the new parameters to the final ones. Finally, we write the output." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2018-10-05 13:15:27,266 - Adding spectral region spec1\n", "2018-10-05 13:15:27,268 - - Reading wavelength axis from observations/10830.wavelength\n", "2018-10-05 13:15:27,271 - - Reading wavelength weights from observations/10830.weights\n", "2018-10-05 13:15:27,275 - - Using observations from observations/10830_stokes.1d\n", "2018-10-05 13:15:27,277 - - No mask for pixels\n", "2018-10-05 13:15:27,279 - - No instrumental profile\n", "2018-10-05 13:15:27,280 - - Using LOS ['0.0', '0.0', '90.0']\n", "2018-10-05 13:15:27,282 - - Using boundary condition ['1.0', '0.0', '0.0', '0.0']\n", "2018-10-05 13:15:27,283 - Using 1 cycles\n", "2018-10-05 13:15:27,285 - Not using randomizations\n", "2018-10-05 13:15:27,290 - Adding atmospheres\n", "2018-10-05 13:15:27,292 - - New available photosphere : ph1\n", "2018-10-05 13:15:27,294 - * Adding line : [300]\n", "2018-10-05 13:15:27,296 - * Magnetic field reference frame : vertical\n", "2018-10-05 13:15:27,301 - * Reading 1D model photospheres/model_photosphere_200.1d as reference\n", "2018-10-05 13:15:27,305 - - New available chromosphere : ch1\n", "2018-10-05 13:15:27,307 - * Adding line : 10830\n", "2018-10-05 13:15:27,308 - * Magnetic field reference frame : vertical\n", "2018-10-05 13:15:27,310 - * Reading 1D model chromospheres/model_chromosphere.1d as reference\n", "2018-10-05 13:15:27,315 - - New available parametric : te1\n", "2018-10-05 13:15:27,317 - * Reading 1D model telluric/model_telluric.1d as reference\n", "2018-10-05 13:15:27,320 - Adding topologies\n", "2018-10-05 13:15:27,321 - - ph1 -> ch1 -> te1\n", "2018-10-05 13:15:27,323 - Removing unused atmospheres\n", "2018-10-05 13:15:27,324 - Number of pixels to invert : 1\n", "2018-10-05 13:15:27,329 - Total number of free parameters in all cycles : 2\n" ] }, { "ename": "OSError", "evalue": "Unable to create file (unable to truncate a file which is already open)", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mOSError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mmod\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhazel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mModel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'conf_single.ini'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mworking_mode\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'inversion'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mmod\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_observation\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mmod\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen_output\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mmod\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mspectrum\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/scratch/Dropbox/GIT/hazel2/hazel/model.py\u001b[0m in \u001b[0;36mopen_output\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 311\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mopen_output\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 312\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moutput_handler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mGeneric_output_file\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moutput_file\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 313\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moutput_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 314\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 315\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mclose_output\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/scratch/Dropbox/GIT/hazel2/hazel/io.py\u001b[0m in \u001b[0;36mopen\u001b[0;34m(self, model)\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0;31m# Open the file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mextension\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'h5'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 33\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhandler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mh5py\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'w'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mextension\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'zarr'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/miniconda3/envs/py36/lib/python3.6/site-packages/h5py/_hl/files.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, name, mode, driver, libver, userblock_size, swmr, **kwds)\u001b[0m\n\u001b[1;32m 267\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mphil\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 268\u001b[0m \u001b[0mfapl\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmake_fapl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdriver\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlibver\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 269\u001b[0;31m \u001b[0mfid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmake_fid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0muserblock_size\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfapl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mswmr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mswmr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 270\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 271\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mswmr_support\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/miniconda3/envs/py36/lib/python3.6/site-packages/h5py/_hl/files.py\u001b[0m in \u001b[0;36mmake_fid\u001b[0;34m(name, mode, userblock_size, fapl, fcpl, swmr)\u001b[0m\n\u001b[1;32m 103\u001b[0m \u001b[0mfid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mh5f\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mh5f\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mACC_EXCL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfapl\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfapl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfcpl\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfcpl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 104\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'w'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 105\u001b[0;31m \u001b[0mfid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mh5f\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mh5f\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mACC_TRUNC\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfapl\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfapl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfcpl\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfcpl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 106\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'a'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 107\u001b[0m \u001b[0;31m# Open in append mode (read/write).\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32mh5py/_objects.pyx\u001b[0m in \u001b[0;36mh5py._objects.with_phil.wrapper\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mh5py/_objects.pyx\u001b[0m in \u001b[0;36mh5py._objects.with_phil.wrapper\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mh5py/h5f.pyx\u001b[0m in \u001b[0;36mh5py.h5f.create\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mOSError\u001b[0m: Unable to create file (unable to truncate a file which is already open)" ] } ], "source": [ "mod = hazel.Model('conf_single.ini', working_mode='inversion', verbose=2)\n", "mod.read_observation()\n", "mod.open_output()\n", "\n", "for k, v in mod.spectrum.items():\n", " v.factor_chi2 = 1.0 / (v.noise**2 * v.dof)\n", "\n", "for mod.cycle in range(mod.n_cycles):\n", " mod.find_active_parameters(mod.cycle)\n", " n_pars = len(mod.nodes)\n", " \n", " optimizer = AdamOptimizer(mod._func_grad, mod.nodes)\n", " \n", " tmp = optimizer.optimize(300)\n", " \n", " mod.set_new_model(tmp)\n", "\n", " mod.flatten_parameters_to_reference(mod.cycle)\n", " \n", "mod.write_output()\n", "mod.close_output()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/scratch/miniconda3/envs/py36/lib/python3.6/site-packages/matplotlib/figure.py:2267: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", " warnings.warn(\"This figure includes Axes that are not compatible \"\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "final = np.loadtxt('photospheres/model_photosphere.1d', skiprows=4)\n", "start = np.loadtxt('photospheres/model_photosphere_200.1d', skiprows=4)\n", "f = h5py.File('output.h5')\n", "pl.plot(f['ph1']['T'][0,0,:])\n", "pl.plot(final[:,1])\n", "pl.plot(start[:,1], 'x')\n", "f.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }