<reponame>gmke/WesternMeteorPyLib
""" Functions for calculating solar longitude from Julian date and vice versa. """

from __future__ import print_function, division, absolute_import

import datetime

import numpy as np
import scipy.optimize

from jplephem.spk import SPK

from wmpl.Config import config
from wmpl.Utils.Earth import calcEarthRectangularCoordJPL
from wmpl.Utils.TrajConversions import date2JD





# Define periodical constants
L0 = [
        [ 1.753470e+00, 0.000000e+00, 0.000000e+00 ],
        [ 3.341656e-02, 4.669257e+00, 6.283076e+03 ],
        [ 3.489428e-04, 4.626102e+00, 1.256615e+04 ],
        [ 3.417572e-05, 2.828866e+00, 3.523118e+00 ],
        [ 3.497056e-05, 2.744118e+00, 5.753385e+03 ],
        [ 3.135899e-05, 3.627670e+00, 7.771377e+04 ],
        [ 2.676218e-05, 4.418083e+00, 7.860419e+03 ],
        [ 2.342691e-05, 6.135162e+00, 3.930210e+03 ],
        [ 1.273165e-05, 2.037097e+00, 5.296910e+02 ],
        [ 1.324294e-05, 7.424634e-01, 1.150677e+04 ],
        [ 9.018540e-06, 2.045054e+00, 2.629832e+01 ],
        [ 1.199167e-05, 1.109629e+00, 1.577344e+03 ],
        [ 8.572230e-06, 3.508492e+00, 3.981490e+02 ],
        [ 7.797860e-06, 1.178827e+00, 5.223694e+03 ],
        [ 9.902500e-06, 5.232681e+00, 5.884927e+03 ],
        [ 7.531410e-06, 2.533391e+00, 5.507553e+03 ],
        [ 5.052670e-06, 4.582926e+00, 1.884923e+04 ],
        [ 4.923920e-06, 4.205057e+00, 7.755226e+02 ],
        [ 3.566720e-06, 2.919541e+00, 6.731030e-02 ],
        [ 2.841250e-06, 1.898692e+00, 7.962980e+02 ],
        [ 2.428790e-06, 3.448145e-01, 5.486778e+03 ],
        [ 3.170870e-06, 5.849019e+00, 1.179063e+04 ],
        [ 2.711120e-06, 3.148626e-01, 1.097708e+04 ],
        [ 2.062170e-06, 4.806466e+00, 2.544314e+03 ],
        [ 2.054780e-06, 1.869538e+00, 5.573143e+03 ],
        [ 2.023180e-06, 2.457678e+00, 6.069777e+03 ],
        [ 1.262250e-06, 1.082955e+00, 2.077540e+01 ],
        [ 1.555160e-06, 8.330608e-01, 2.132991e+02 ],
        [ 1.151320e-06, 6.454491e-01, 9.803211e-01 ],
        [ 1.028510e-06, 6.359985e-01, 4.694003e+03 ],
        [ 1.017240e-06, 4.266798e+00, 7.113547e+00 ],
        [ 9.920600e-07, 6.209929e+00, 2.146165e+03 ],
        [ 1.322120e-06, 3.411183e+00, 2.942463e+03 ],
        [ 9.760700e-07, 6.810134e-01, 1.554204e+02 ],
        [ 8.512800e-07, 1.298708e+00, 6.275962e+03 ],
        [ 7.465100e-07, 1.755089e+00, 5.088629e+03 ],
        [ 1.018950e-06, 9.756928e-01, 1.572084e+04 ],
        [ 8.471100e-07, 3.670801e+00, 7.143070e+04 ],
        [ 7.354700e-07, 4.679266e+00, 8.018209e+02 ],
        [ 7.387400e-07, 3.503194e+00, 3.154687e+03 ],
        [ 7.875700e-07, 3.036975e+00, 1.203646e+04 ],
        [ 7.963700e-07, 1.807913e+00, 1.726015e+04 ],
        [ 8.580300e-07, 5.983226e+00, 1.610007e+05 ],
        [ 5.696300e-07, 2.784305e+00, 6.286599e+03 ],
        [ 6.114800e-07, 1.818399e+00, 7.084897e+03 ],
        [ 6.962700e-07, 8.329762e-01, 9.437763e+03 ],
        [ 5.611600e-07, 4.386949e+00, 1.414350e+04 ],
        [ 6.244900e-07, 3.977639e+00, 8.827390e+03 ],
        [ 5.114500e-07, 2.830683e-01, 5.856478e+03 ],
        [ 5.557700e-07, 3.470061e+00, 6.279553e+03 ],
        [ 4.103600e-07, 5.368176e+00, 8.429241e+03 ],
        [ 5.160500e-07, 1.332827e+00, 1.748016e+03 ],
        [ 5.199200e-07, 1.891495e-01, 1.213955e+04 ],
        [ 4.900000e-07, 4.873501e-01, 1.194447e+03 ],
        [ 3.920000e-07, 6.168330e+00, 1.044739e+04 ],
        [ 3.557000e-07, 1.775969e+00, 6.812767e+03 ],
        [ 3.677000e-07, 6.041339e+00, 1.021329e+04 ],
        [ 3.659600e-07, 2.569575e+00, 1.059382e+03 ],
        [ 3.329600e-07, 5.931028e-01, 1.778985e+04 ],
        [ 3.595400e-07, 1.708758e+00, 2.352866e+03 ],
        [ 4.093800e-07, 2.398509e+00, 1.965105e+04 ],
        [ 3.004700e-07, 2.739751e+00, 1.349867e+03 ],
        [ 3.041200e-07, 4.429446e-01, 8.399685e+04 ],
        [ 2.366300e-07, 4.847362e-01, 8.031092e+03 ],
        [ 2.357400e-07, 2.065281e+00, 3.340612e+03 ],
        [ 2.108900e-07, 4.148255e+00, 9.517184e+02 ],
        [ 2.473800e-07, 2.148476e-01, 3.590429e+00 ],
        [ 2.535200e-07, 3.164709e+00, 4.690480e+03 ],
        [ 2.282300e-07, 5.221952e+00, 4.705732e+03 ],
        [ 2.141900e-07, 1.425639e+00, 1.673046e+04 ],
        [ 2.189100e-07, 5.555943e+00, 5.535694e+02 ],
        [ 1.748100e-07, 4.560529e+00, 1.350651e+02 ],
        [ 1.992700e-07, 5.222091e+00, 1.216800e+04 ],
        [ 1.986000e-07, 5.774702e+00, 6.309374e+03 ],
        [ 2.030000e-07, 3.713379e-01, 2.838593e+02 ],
        [ 1.442100e-07, 4.193151e+00, 2.427286e+02 ],
        [ 1.622500e-07, 5.988378e+00, 1.176985e+04 ],
        [ 1.507700e-07, 4.195672e+00, 6.256778e+03 ],
        [ 1.912400e-07, 3.822200e+00, 2.358126e+04 ],
        [ 1.888800e-07, 5.386269e+00, 1.498544e+05 ],
        [ 1.434600e-07, 3.723551e+00, 3.802767e+01 ],
        [ 1.789800e-07, 2.214906e+00, 1.336797e+04 ],
        [ 1.205400e-07, 2.622296e+00, 9.555997e+02 ],
        [ 1.128700e-07, 1.773933e-01, 4.164312e+03 ],
        [ 1.397300e-07, 4.401346e+00, 6.681225e+03 ],
        [ 1.362100e-07, 1.889345e+00, 7.632943e+03 ],
        [ 1.250300e-07, 1.130524e+00, 5.522924e+00 ],
        [ 1.049800e-07, 5.359100e+00, 1.592596e+03 ],
        [ 9.803000e-08, 9.994817e-01, 1.137170e+04 ],
        [ 9.220000e-08, 4.571386e+00, 4.292331e+03 ],
        [ 1.032700e-07, 6.199822e+00, 6.438496e+03 ],
        [ 1.200300e-07, 1.003515e+00, 6.327837e+02 ],
        [ 1.082700e-07, 3.273452e-01, 1.030928e+02 ],
        [ 8.356000e-08, 4.539027e+00, 2.513230e+04 ],
        [ 1.000500e-07, 6.029150e+00, 5.746271e+03 ],
        [ 8.409000e-08, 3.299462e+00, 7.234794e+03 ],
        [ 8.006000e-08, 5.821453e+00, 2.844919e+01 ],
        [ 1.052300e-07, 9.387046e-01, 1.192625e+04 ],
        [ 7.686000e-08, 3.121436e+00, 7.238676e+03 ],
        [ 9.378000e-08, 2.624138e+00, 5.760498e+03 ],
        [ 8.127000e-08, 6.112278e+00, 4.732031e+03 ],
        [ 9.232000e-08, 4.834423e-01, 5.225774e+02 ],
        [ 9.802000e-08, 5.244139e+00, 2.751147e+04 ],
        [ 7.871000e-08, 9.959013e-01, 5.643179e+03 ],
        [ 8.123000e-08, 6.270530e+00, 4.265982e+02 ],
        [ 9.048000e-08, 5.336863e+00, 6.386169e+03 ],
        [ 8.621000e-08, 4.165372e+00, 7.058598e+03 ],
        [ 6.297000e-08, 4.717231e+00, 6.836645e+03 ],
        [ 7.575000e-08, 3.973814e+00, 1.149966e+04 ],
        [ 7.756000e-08, 2.957284e+00, 2.301354e+04 ],
        [ 7.314000e-08, 6.065252e-01, 1.151388e+04 ],
        [ 5.955000e-08, 2.876410e+00, 6.283143e+03 ],
        [ 6.534000e-08, 5.790464e+00, 1.807370e+04 ],
        [ 7.188000e-08, 3.998315e+00, 7.478160e+01 ],
        [ 7.346000e-08, 4.385824e+00, 3.163919e+02 ],
        [ 5.413000e-08, 5.391990e+00, 4.194846e+02 ],
        [ 5.127000e-08, 2.360596e+00, 1.097356e+04 ],
        [ 7.056000e-08, 3.225844e-01, 2.630839e+02 ],
        [ 6.624000e-08, 3.664742e+00, 1.729818e+04 ],
        [ 6.762000e-08, 5.911318e+00, 9.095555e+04 ],
        [ 4.938000e-08, 5.736722e+00, 9.917697e+03 ],
        [ 5.547000e-08, 2.451526e+00, 1.235285e+04 ],
        [ 5.958000e-08, 3.320513e+00, 6.283009e+03 ],
        [ 4.471000e-08, 2.063861e+00, 7.079374e+03 ],
        [ 6.153000e-08, 1.458233e+00, 2.331413e+05 ],
        [ 4.348000e-08, 4.423386e+00, 5.216580e+03 ],
        [ 6.124000e-08, 1.074948e+00, 1.980483e+04 ],
        [ 4.488000e-08, 3.652850e+00, 2.061855e+02 ],
        [ 4.020000e-08, 8.399582e-01, 2.035532e+01 ],
        [ 5.188000e-08, 4.065039e+00, 6.208294e+03 ],
        [ 5.307000e-08, 3.821673e-01, 3.144168e+04 ],
        [ 3.785000e-08, 2.343692e+00, 3.881335e+00 ],
        [ 4.497000e-08, 3.272308e+00, 1.101511e+04 ],
        [ 4.132000e-08, 9.212985e-01, 3.738761e+03 ],
        [ 3.521000e-08, 5.978448e+00, 3.894182e+03 ],
        [ 4.215000e-08, 1.906017e+00, 2.458316e+02 ],
        [ 3.701000e-08, 5.030675e+00, 5.368045e+02 ],
        [ 3.866000e-08, 1.826330e+00, 1.185622e+04 ],
        [ 3.652000e-08, 1.018406e+00, 1.620077e+04 ],
        [ 3.390000e-08, 9.778487e-01, 8.635942e+03 ],
        [ 3.737000e-08, 2.953789e+00, 3.128389e+03 ],
        [ 3.507000e-08, 3.712919e+00, 6.290189e+03 ],
        [ 3.086000e-08, 3.646469e+00, 1.063667e+01 ],
        [ 3.397000e-08, 1.105894e+00, 1.471232e+04 ],
        [ 3.334000e-08, 8.368490e-01, 6.496375e+03 ],
        [ 2.805000e-08, 2.585037e+00, 1.431417e+04 ],
        [ 3.650000e-08, 1.083441e+00, 8.886006e+04 ],
        [ 3.388000e-08, 3.201824e+00, 5.120601e+03 ],
        [ 3.252000e-08, 3.478575e+00, 6.133513e+03 ],
        [ 2.553000e-08, 3.948690e+00, 1.990745e+03 ],
        [ 3.520000e-08, 2.055597e+00, 2.442876e+05 ],
        [ 2.565000e-08, 1.560724e+00, 2.354323e+04 ],
        [ 2.621000e-08, 3.856394e+00, 2.666070e+02 ],
        [ 2.954000e-08, 3.396926e+00, 9.225539e+03 ],
        [ 2.876000e-08, 6.026333e+00, 1.547176e+05 ],
        [ 2.395000e-08, 1.161301e+00, 1.098419e+04 ],
        [ 3.161000e-08, 1.327989e+00, 1.087399e+04 ],
        [ 3.163000e-08, 5.089465e+00, 2.122839e+04 ],
        [ 2.361000e-08, 4.272125e+00, 6.040347e+03 ],
        [ 3.030000e-08, 1.802100e+00, 3.537189e+04 ],
        [ 2.343000e-08, 3.576890e+00, 1.096997e+04 ],
        [ 2.618000e-08, 2.578702e+00, 2.248385e+04 ],
        [ 2.113000e-08, 3.717112e+00, 6.514762e+04 ],
        [ 2.019000e-08, 8.139392e-01, 1.706729e+02 ],
        [ 2.003000e-08, 3.809102e-01, 6.172870e+03 ],
        [ 2.506000e-08, 3.743782e+00, 1.057541e+04 ],
        [ 2.381000e-08, 1.058136e-01, 7.046237e+00 ],
        [ 1.949000e-08, 4.868925e+00, 3.602787e+01 ],
        [ 2.074000e-08, 4.228025e+00, 5.650292e+03 ],
        [ 1.924000e-08, 5.594605e+00, 6.282096e+03 ],
        [ 1.949000e-08, 1.069996e+00, 5.230807e+03 ],
        [ 1.988000e-08, 5.197347e+00, 6.262300e+03 ],
        [ 1.887000e-08, 3.743657e+00, 2.387844e+01 ],
        [ 1.787000e-08, 1.259297e+00, 1.255904e+04 ],
        [ 1.883000e-08, 1.903641e+00, 1.525247e+01 ],
        [ 1.816000e-08, 3.680838e+00, 1.511047e+04 ],
        [ 1.701000e-08, 4.411096e+00, 1.102063e+02 ],
        [ 1.990000e-08, 3.932958e+00, 6.206810e+03 ],
        [ 2.103000e-08, 7.535494e-01, 1.352175e+04 ],
        [ 1.774000e-08, 4.875052e-01, 1.551045e+03 ],
        [ 1.882000e-08, 8.668546e-01, 2.200391e+04 ],
        [ 1.924000e-08, 1.229011e+00, 7.099330e+02 ],
        [ 2.073000e-08, 4.625316e+00, 6.037244e+03 ],
        [ 1.924000e-08, 6.023184e-01, 6.284056e+03 ],
        [ 1.596000e-08, 3.983329e+00, 1.391602e+04 ],
        [ 1.664000e-08, 4.419470e+00, 8.662240e+03 ],
        [ 1.971000e-08, 1.045607e+00, 1.820933e+04 ],
        [ 1.942000e-08, 4.313360e+00, 6.244943e+03 ],
        [ 1.476000e-08, 9.327452e-01, 2.379164e+03 ],
        [ 1.810000e-08, 4.911214e-01, 1.484473e+00 ],
        [ 1.346000e-08, 1.515748e+00, 4.136910e+03 ],
        [ 1.528000e-08, 5.618336e+00, 6.127655e+03 ],
        [ 1.791000e-08, 3.221911e+00, 3.930210e+04 ],
        [ 1.747000e-08, 3.055953e+00, 1.831954e+04 ],
        [ 1.432000e-08, 4.511240e+00, 2.042657e+04 ],
        [ 1.695000e-08, 2.204942e-01, 2.515860e+04 ],
        [ 1.242000e-08, 4.466654e+00, 1.725663e+04 ],
        [ 1.463000e-08, 4.692486e+00, 1.494532e+04 ],
        [ 1.205000e-08, 1.869119e+00, 4.590910e+03 ],
        [ 1.190000e-08, 2.741700e+00, 1.256967e+04 ],
        [ 1.222000e-08, 5.181201e+00, 5.333900e+03 ],
        [ 1.390000e-08, 5.428886e+00, 1.435713e+05 ],
        [ 1.473000e-08, 1.704871e+00, 1.171296e+04 ],
        [ 1.362000e-08, 2.610695e+00, 6.062663e+03 ],
        [ 1.148000e-08, 6.030084e+00, 3.634621e+03 ],
        [ 1.198000e-08, 5.152961e+00, 1.017726e+04 ],
        [ 1.266000e-08, 1.142249e-01, 1.842263e+04 ],
        [ 1.411000e-08, 1.099109e+00, 3.496033e+03 ],
        [ 1.349000e-08, 2.998046e+00, 1.765478e+04 ],
        [ 1.253000e-08, 2.798449e+00, 1.672838e+05 ],
        [ 1.311000e-08, 1.609411e+00, 5.481255e+03 ],
        [ 1.079000e-08, 6.203045e+00, 3.286357e+00 ],
        [ 1.181000e-08, 1.206538e+00, 1.315420e+02 ],
        [ 1.254000e-08, 5.451033e+00, 6.076890e+03 ],
        [ 1.036000e-08, 2.321370e+00, 7.342458e+03 ],
        [ 1.117000e-08, 3.884234e-01, 9.491756e+02 ],
        [ 9.660000e-09, 3.183521e+00, 1.108729e+04 ],
        [ 1.171000e-08, 3.396352e+00, 1.256263e+04 ],
        [ 1.121000e-08, 7.263181e-01, 2.204126e+02 ],
        [ 1.024000e-08, 2.193811e+00, 1.140368e+04 ],
        [ 8.880000e-09, 3.911672e+00, 4.686889e+03 ],
        [ 9.100000e-09, 1.988027e+00, 7.358765e+02 ],
        [ 8.230000e-09, 4.882220e-01, 2.407292e+04 ],
        [ 1.096000e-08, 6.173778e+00, 5.436993e+03 ],
        [ 9.080000e-09, 4.495915e-01, 7.477523e+03 ],
        [ 9.740000e-09, 1.529963e+00, 9.623688e+03 ],
        [ 8.400000e-09, 1.795406e+00, 5.429879e+03 ],
        [ 7.780000e-09, 6.177037e+00, 3.813304e+01 ],
        [ 7.760000e-09, 4.098600e+00, 1.422709e+01 ],
        [ 1.068000e-08, 4.642096e+00, 4.323231e+04 ],
        [ 9.540000e-09, 1.499859e+00, 1.162475e+03 ],
        [ 9.070000e-09, 8.698687e-01, 1.034430e+04 ],
        [ 9.310000e-09, 4.060499e+00, 2.876692e+04 ],
        [ 7.390000e-09, 5.043682e+00, 6.398973e+02 ],
        [ 9.650000e-09, 3.442867e+00, 1.589073e+03 ],
        [ 7.630000e-09, 5.863048e+00, 1.685848e+04 ],
        [ 9.530000e-09, 4.208015e+00, 1.119038e+04 ],
        [ 7.080000e-09, 1.724323e+00, 1.309584e+04 ],
        [ 9.690000e-09, 1.644372e+00, 2.908881e+04 ],
        [ 7.170000e-09, 1.668868e-01, 1.172935e+01 ],
        [ 9.620000e-09, 3.531019e+00, 1.241659e+04 ],
        [ 7.450000e-09, 5.777411e+00, 1.259245e+04 ],
        [ 6.720000e-09, 1.910912e+00, 3.932153e+00 ],
        [ 6.710000e-09, 5.462408e+00, 1.805293e+04 ],
        [ 6.750000e-09, 6.283116e+00, 4.535059e+03 ],
        [ 6.840000e-09, 3.997501e-01, 5.849364e+03 ],
        [ 7.990000e-09, 2.985906e-01, 1.213244e+04 ],
        [ 7.580000e-09, 9.637072e-01, 1.052268e+03 ],
        [ 7.820000e-09, 5.338757e+00, 1.351787e+04 ],
        [ 7.300000e-09, 1.701150e+00, 1.726727e+04 ],
        [ 7.490000e-09, 2.596070e+00, 1.160986e+04 ],
        [ 7.340000e-09, 2.784205e+00, 6.408776e+02 ],
        [ 6.880000e-09, 5.150977e+00, 1.649636e+04 ],
        [ 7.700000e-09, 1.624593e+00, 4.701117e+03 ],
        [ 6.330000e-09, 2.205884e+00, 2.593412e+04 ],
        [ 7.600000e-09, 4.213172e+00, 3.773736e+02 ],
        [ 5.840000e-09, 2.134201e+00, 1.055759e+04 ],
        [ 5.720000e-09, 2.464975e-01, 9.779109e+03 ],
        [ 5.730000e-09, 3.164353e+00, 5.332141e+02 ],
        [ 6.850000e-09, 3.193443e+00, 1.214667e+04 ],
        [ 6.750000e-09, 9.617923e-01, 1.045450e+04 ],
        [ 6.480000e-09, 1.463273e+00, 6.268849e+03 ],
        [ 5.890000e-09, 2.505435e+00, 3.097884e+03 ],
        [ 5.510000e-09, 5.281063e+00, 9.388006e+03 ],
        [ 6.960000e-09, 3.653422e+00, 4.804209e+03 ],
        [ 6.690000e-09, 2.510301e+00, 2.388894e+03 ],
        [ 5.500000e-09, 6.883090e-02, 2.019909e+04 ],
        [ 6.290000e-09, 4.133510e+00, 4.589273e+04 ],
        [ 6.780000e-09, 6.091902e+00, 1.356253e+02 ],
        [ 5.930000e-09, 1.501295e+00, 2.268582e+05 ],
        [ 5.420000e-09, 3.585820e+00, 6.148011e+03 ],
        [ 5.990000e-09, 6.120581e+00, 1.887553e+04 ],
        [ 6.820000e-09, 5.022136e+00, 1.725304e+04 ],
        [ 5.650000e-09, 4.293092e+00, 1.193337e+04 ],
        [ 4.860000e-09, 7.774620e-01, 2.740156e+01 ],
        [ 5.030000e-09, 5.897456e-01, 1.567108e+04 ],
        [ 6.160000e-09, 4.065399e+00, 2.274761e+02 ],
        [ 5.370000e-09, 2.150644e+00, 2.195416e+04 ],
        [ 6.690000e-09, 6.069955e+00, 4.716252e+04 ],
        [ 5.400000e-09, 2.834442e+00, 5.326787e+03 ],
        [ 4.740000e-09, 4.034683e-01, 6.915860e+03 ],
        [ 5.320000e-09, 5.261311e+00, 1.098881e+04 ],
        [ 5.820000e-09, 3.245331e+00, 1.537788e+02 ],
        [ 6.410000e-09, 3.247118e+00, 2.107035e+03 ],
        [ 6.190000e-09, 3.083021e+00, 3.301902e+04 ],
        [ 4.660000e-09, 3.149824e+00, 1.044027e+04 ],
        [ 4.660000e-09, 9.070884e-01, 5.966684e+03 ],
        [ 5.280000e-09, 8.192645e-01, 8.135503e+02 ],
        [ 6.030000e-09, 3.813789e+00, 3.164282e+05 ],
        [ 5.590000e-09, 1.818950e+00, 1.799603e+04 ],
        [ 4.370000e-09, 2.286317e+00, 6.303851e+03 ],
        [ 5.180000e-09, 4.860683e+00, 2.059724e+04 ],
        [ 4.240000e-09, 6.235200e+00, 6.489261e+03 ],
        [ 5.180000e-09, 6.176178e+00, 2.438175e-01 ],
        [ 4.040000e-09, 5.728043e+00, 5.642198e+03 ],
        [ 4.580000e-09, 1.341178e+00, 6.287008e+03 ],
        [ 5.480000e-09, 5.684545e+00, 1.554275e+05 ],
        [ 5.470000e-09, 1.033915e+00, 3.646350e+03 ],
        [ 4.280000e-09, 4.698097e+00, 8.460828e+02 ],
        [ 4.130000e-09, 6.025207e+00, 6.279485e+03 ],
        [ 5.340000e-09, 3.030306e+00, 6.656749e+04 ],
        [ 3.830000e-09, 1.490556e+00, 1.980095e+04 ],
        [ 4.110000e-09, 5.283842e+00, 1.845108e+04 ],
        [ 3.520000e-09, 4.688916e+00, 4.907302e+03 ],
        [ 4.800000e-09, 5.365727e+00, 3.489244e+02 ],
        [ 3.440000e-09, 5.891575e+00, 6.546160e+03 ],
        [ 3.400000e-09, 3.755744e-01, 1.311972e+04 ],
        [ 4.340000e-09, 4.984179e+00, 6.702560e+03 ],
        [ 3.320000e-09, 2.689093e+00, 2.929662e+04 ],
        [ 4.480000e-09, 2.164785e+00, 5.905702e+03 ],
        [ 3.440000e-09, 2.065466e+00, 4.975703e+01 ],
        [ 3.150000e-09, 1.240238e+00, 4.061219e+03 ],
        [ 3.240000e-09, 2.308975e+00, 5.017508e+03 ],
        [ 4.130000e-09, 1.717169e-01, 6.286666e+03 ],
        [ 4.310000e-09, 3.866011e+00, 1.248989e+04 ],
        [ 3.490000e-09, 4.553725e+00, 4.933208e+03 ],
        [ 3.230000e-09, 4.197114e-01, 1.077089e+04 ],
        [ 3.410000e-09, 2.686129e+00, 1.104570e+01 ],
        [ 3.160000e-09, 3.529666e+00, 1.778273e+04 ],
        [ 3.150000e-09, 5.633573e+00, 5.688219e+02 ],
        [ 3.400000e-09, 3.835712e+00, 1.066069e+04 ],
        [ 2.960000e-09, 6.270327e-01, 2.099539e+04 ],
        [ 4.050000e-09, 1.000850e+00, 1.646033e+04 ],
        [ 4.140000e-09, 1.219988e+00, 5.109273e+04 ],
        [ 3.360000e-09, 4.714659e+00, 6.179983e+03 ],
        [ 3.610000e-09, 3.712356e+00, 2.823723e+04 ],
        [ 3.270000e-09, 1.056065e+00, 1.191914e+04 ],
        [ 3.270000e-09, 6.142224e+00, 6.254627e+03 ],
        [ 2.680000e-09, 2.472243e+00, 6.647560e+02 ],
        [ 2.690000e-09, 1.862109e+00, 2.314156e+04 ],
        [ 3.450000e-09, 9.346129e-01, 6.058731e+03 ],
        [ 3.530000e-09, 4.500337e+00, 3.694923e+04 ],
        [ 3.440000e-09, 6.261661e+00, 2.435678e+04 ],
        [ 3.000000e-09, 4.469640e+00, 6.418141e+03 ],
        [ 2.600000e-09, 4.049675e+00, 6.525804e+03 ],
        [ 2.980000e-09, 2.200188e+00, 1.561375e+05 ],
        [ 2.530000e-09, 3.499308e+00, 2.986433e+04 ],
        [ 2.540000e-09, 2.448835e+00, 5.331357e+03 ],
        [ 2.960000e-09, 8.434118e-01, 5.729506e+03 ],
        [ 2.410000e-09, 2.007213e+00, 1.673758e+04 ],
        [ 3.110000e-09, 1.236680e+00, 6.281591e+03 ],
        [ 3.320000e-09, 3.555769e+00, 7.668637e+03 ],
        [ 2.360000e-09, 2.474372e+00, 6.245048e+03 ],
        [ 2.640000e-09, 4.439244e+00, 1.296430e+04 ],
        [ 2.570000e-09, 1.796545e+00, 1.108017e+04 ],
        [ 2.600000e-09, 3.330776e+00, 5.888450e+03 ],
        [ 2.850000e-09, 3.088636e-01, 1.182316e+04 ],
        [ 2.900000e-09, 5.701419e+00, 7.767377e+01 ],
        [ 2.550000e-09, 4.009397e+00, 5.881404e+03 ],
        [ 2.530000e-09, 4.733185e+00, 1.672335e+04 ],
        [ 2.280000e-09, 9.533366e-01, 5.540086e+03 ],
        [ 2.810000e-09, 1.291996e+00, 2.280574e+04 ],
        [ 3.190000e-09, 1.386332e+00, 1.630962e+05 ],
        [ 2.240000e-09, 1.651563e+00, 1.002790e+04 ],
        [ 2.260000e-09, 3.412538e-01, 1.779696e+04 ],
        [ 2.360000e-09, 4.198174e+00, 1.966976e+01 ],
        [ 2.810000e-09, 4.141149e+00, 1.253985e+04 ],
        [ 2.750000e-09, 5.503069e+00, 3.253255e+01 ],
        [ 2.230000e-09, 5.233342e+00, 5.689837e+01 ],
        [ 2.170000e-09, 6.085988e+00, 6.805653e+03 ],
        [ 2.280000e-09, 5.171144e+00, 1.172007e+04 ],
        [ 2.740000e-09, 4.507168e+00, 6.016469e+03 ],
        [ 2.450000e-09, 3.964863e+00, 2.277520e+01 ],
        [ 2.200000e-09, 4.720781e+00, 6.628559e+00 ],
        [ 2.070000e-09, 5.717014e+00, 4.155079e+01 ],
        [ 2.040000e-09, 3.912274e+00, 2.699735e+03 ],
        [ 2.090000e-09, 8.688197e-01, 6.321104e+03 ],
        [ 2.000000e-09, 2.119844e+00, 4.274518e+03 ],
        [ 2.000000e-09, 5.398399e+00, 6.019992e+03 ],
        [ 2.090000e-09, 5.676063e+00, 1.129347e+04 ],
        [ 2.520000e-09, 1.649657e+00, 9.380960e+03 ],
        [ 2.750000e-09, 5.048269e+00, 7.329713e+01 ],
        [ 2.080000e-09, 1.882073e+00, 1.130058e+04 ],
        [ 2.060000e-09, 5.072849e+00, 6.277553e+03 ],
        [ 2.720000e-09, 7.464092e-01, 1.975493e+03 ],
        [ 1.990000e-09, 3.308131e+00, 2.274341e+04 ],
        [ 2.690000e-09, 4.485608e+00, 6.447199e+04 ],
        [ 1.920000e-09, 2.174636e+00, 5.863591e+03 ],
        [ 2.280000e-09, 5.853731e+00, 1.280188e+02 ],
        [ 2.610000e-09, 2.643212e+00, 5.502294e+04 ],
        [ 1.960000e-09, 2.485376e+00, 1.606218e+04 ],
        [ 1.870000e-09, 1.318918e+00, 2.982631e+04 ],
        [ 2.200000e-09, 5.750121e+00, 2.942951e+01 ],
        [ 1.870000e-09, 4.032306e+00, 4.679650e+02 ],
        [ 2.000000e-09, 5.605553e+00, 1.066495e+03 ],
        [ 2.310000e-09, 1.098027e+00, 1.234181e+04 ],
        [ 1.980000e-09, 2.947423e-01, 1.495632e+02 ],
        [ 2.490000e-09, 5.104770e+00, 7.875672e+03 ],
        [ 1.790000e-09, 8.706620e-01, 1.272157e+04 ],
        [ 2.030000e-09, 1.569143e+00, 2.828699e+04 ],
        [ 1.980000e-09, 3.540616e+00, 3.091413e+01 ],
        [ 1.710000e-09, 3.453660e+00, 5.327476e+03 ],
        [ 1.830000e-09, 7.232542e-01, 6.272030e+03 ],
        [ 2.160000e-09, 2.971752e+00, 1.940280e+04 ],
        [ 1.680000e-09, 2.515599e+00, 2.393786e+04 ],
        [ 1.950000e-09, 9.045393e-02, 1.564007e+02 ],
        [ 2.160000e-09, 4.216238e-01, 2.353971e+04 ],
        [ 1.890000e-09, 3.754253e-01, 9.814604e+03 ],
        [ 2.070000e-09, 2.017525e+00, 2.380045e+05 ],
        [ 2.180000e-09, 2.368359e+00, 1.662737e+04 ],
        [ 1.660000e-09, 4.231830e+00, 1.684067e+04 ],
        [ 2.000000e-09, 2.021533e+00, 1.609768e+04 ],
        [ 1.690000e-09, 9.131873e-01, 9.597923e+01 ],
        [ 2.110000e-09, 5.733706e+00, 1.518973e+02 ],
        [ 2.040000e-09, 4.264309e-01, 5.154639e+02 ],
        [ 2.120000e-09, 3.002231e+00, 1.204357e+04 ],
        [ 1.920000e-09, 5.461536e+00, 6.379055e+03 ],
        [ 1.600000e-09, 6.237984e+00, 2.022534e+02 ],
        [ 2.150000e-09, 2.088907e-01, 5.621843e+03 ],
        [ 1.500000e-09, 3.129998e+00, 7.998211e+02 ],
        [ 1.870000e-09, 2.123458e+00, 4.916633e+02 ],
        [ 1.920000e-09, 1.339288e+00, 3.946259e+02 ],
        [ 1.490000e-09, 2.656976e+00, 2.133564e+01 ],
        [ 1.460000e-09, 5.580212e+00, 4.123711e+02 ],
        [ 1.560000e-09, 3.756577e+00, 1.232342e+04 ],
        [ 1.430000e-09, 3.282485e+00, 2.982144e+01 ],
        [ 1.440000e-09, 1.078625e+00, 1.265567e+03 ],
        [ 1.480000e-09, 2.338663e-01, 1.002184e+04 ],
        [ 1.640000e-09, 9.428873e-01, 1.491902e+04 ],
        [ 1.930000e-09, 5.927511e+00, 4.087944e+04 ],
        [ 1.400000e-09, 4.976124e+00, 1.589435e+02 ],
        [ 1.480000e-09, 2.616518e+00, 1.715706e+04 ],
        [ 1.400000e-09, 3.669479e+00, 2.608402e+04 ],
        [ 1.470000e-09, 5.099682e+00, 6.612329e+02 ],
        [ 1.470000e-09, 1.369767e+00, 4.171426e+03 ],
        [ 1.340000e-09, 4.794326e+00, 1.111866e+02 ],
        [ 1.400000e-09, 1.277480e+00, 1.076635e+02 ],
        [ 1.710000e-09, 2.775862e+00, 2.673595e+04 ],
        [ 1.830000e-09, 5.434184e+00, 3.696998e+02 ],
        [ 1.340000e-09, 3.091329e+00, 1.781252e+01 ],
        [ 1.320000e-09, 3.056339e+00, 2.249096e+04 ],
        [ 1.810000e-09, 4.229507e+00, 9.669709e+02 ],
        [ 1.660000e-09, 3.676604e+00, 1.550862e+04 ],
        [ 1.520000e-09, 5.288858e+00, 1.266924e+04 ],
        [ 1.500000e-09, 5.868194e+00, 9.723863e+04 ],
        [ 1.450000e-09, 5.073308e+00, 8.730820e+01 ],
        [ 1.330000e-09, 5.654711e+00, 3.197231e+01 ],
        [ 1.240000e-09, 2.833262e+00, 1.256622e+04 ],
        [ 1.400000e-09, 5.842127e+00, 2.247674e+04 ],
        [ 1.340000e-09, 3.128581e+00, 3.221720e+04 ],
        [ 1.370000e-09, 8.648746e-01, 9.924810e+03 ],
        [ 1.720000e-09, 1.983696e+00, 1.742425e+05 ],
        [ 1.700000e-09, 4.411153e+00, 3.275745e+05 ],
        [ 1.280000e-09, 4.490876e+00, 3.141538e+04 ],
        [ 1.510000e-09, 4.654209e-01, 3.960965e+04 ],
        [ 1.530000e-09, 3.788018e+00, 1.736325e+04 ],
        [ 1.650000e-09, 5.316541e+00, 1.694376e+04 ],
        [ 1.650000e-09, 4.067476e+00, 5.895315e+04 ],
        [ 1.180000e-09, 6.384633e-01, 6.065916e+00 ],
        [ 1.590000e-09, 8.608696e-01, 2.219950e+05 ],
        [ 1.190000e-09, 5.964329e+00, 1.385895e+03 ],
        [ 1.140000e-09, 5.165161e+00, 2.568587e+04 ],
        [ 1.120000e-09, 4.928892e+00, 5.680326e+01 ],
        [ 1.190000e-09, 2.406267e+00, 1.863593e+04 ],
        [ 1.150000e-09, 2.337448e-01, 4.189244e+02 ],
        [ 1.130000e-09, 2.793876e+00, 6.272439e+03 ],
        [ 1.220000e-09, 9.369407e-01, 2.449241e+04 ],
        [ 1.330000e-09, 4.871556e+00, 2.234526e+04 ],
        [ 1.130000e-09, 3.803629e+00, 6.293713e+03 ],
        [ 1.300000e-09, 3.729960e+00, 1.257327e+04 ],
        [ 1.070000e-09, 3.402272e+00, 2.139354e+04 ],
        [ 1.220000e-09, 1.003857e+00, 9.514313e+04 ],
        [ 1.400000e-09, 1.094131e+00, 4.480965e+04 ],
        [ 1.120000e-09, 6.054624e+00, 4.337117e+02 ],
        [ 1.230000e-09, 4.556402e+00, 2.394244e+05 ],
        [ 1.040000e-09, 1.549315e+00, 1.279515e+02 ],
        [ 1.110000e-09, 3.041865e+00, 8.982811e+03 ],
        [ 1.020000e-09, 4.124485e+00, 1.566404e+04 ],
        [ 1.070000e-09, 4.679194e+00, 7.769076e+04 ],
        [ 1.180000e-09, 4.523202e+00, 1.900465e+04 ],
        [ 1.070000e-09, 5.717745e+00, 7.773678e+04 ],
        [ 1.030000e-09, 4.793321e+00, 3.379454e+04 ],
        [ 1.430000e-09, 1.812018e+00, 4.214069e+03 ],
        [ 1.020000e-09, 3.758178e+00, 5.886454e+04 ],
        [ 1.250000e-09, 1.144192e+00, 6.256702e+02 ],
        [ 1.240000e-09, 3.277365e+00, 1.256608e+04 ],
        [ 1.100000e-09, 1.087057e+00, 2.787043e+03 ],
        [ 1.020000e-09, 4.751196e+00, 1.224265e+04 ],
        [ 1.010000e-09, 4.912894e+00, 4.016721e+02 ],
        [ 1.380000e-09, 2.895790e+00, 9.411465e+03 ],
        [ 1.290000e-09, 1.235160e+00, 1.202935e+04 ],
        [ 1.380000e-09, 2.456547e+00, 7.576560e+03 ],
        [ 9.800000e-10, 5.447718e+00, 2.902649e+04 ],
        [ 1.340000e-09, 1.431052e+00, 8.646461e+04 ],
        [ 1.080000e-09, 9.898977e-01, 5.636065e+03 ],
        [ 1.170000e-09, 5.173628e+00, 3.452031e+04 ],
        [ 9.700000e-10, 3.347171e+00, 1.631098e+04 ],
        [ 1.070000e-09, 2.945479e+00, 2.460261e+04 ],
        [ 9.800000e-10, 4.370419e+00, 3.451326e+04 ],
        [ 1.250000e-09, 2.721828e+00, 2.406581e+04 ],
        [ 1.110000e-09, 5.889913e-01, 6.303431e+03 ],
        [ 1.020000e-09, 6.693803e-01, 1.023958e+04 ],
        [ 1.190000e-09, 1.216665e+00, 1.478867e+03 ],
        [ 1.110000e-09, 1.043219e+00, 1.652266e+04 ],
        [ 9.400000e-10, 4.310763e+00, 2.688032e+04 ],
        [ 9.800000e-10, 4.142484e+00, 6.599468e+03 ],
        [ 9.500000e-10, 2.898077e+00, 3.491141e+04 ],
        [ 9.700000e-10, 8.964232e-01, 7.198063e+04 ],
        [ 9.500000e-10, 6.571773e-01, 6.288599e+03 ],
        [ 1.160000e-09, 4.199672e+00, 2.067007e+02 ],
        [ 9.500000e-10, 1.783155e+00, 1.813929e+04 ],
        [ 9.900000e-10, 1.374378e+00, 1.039027e+03 ],
        [ 1.260000e-09, 3.216425e+00, 3.052819e+05 ],
        [ 9.400000e-10, 6.899503e-01, 7.834121e+03 ],
        [ 9.500000e-10, 5.581114e+00, 3.104930e+03 ],
        [ 1.080000e-09, 5.269664e-01, 2.767458e+02 ],
        [ 1.240000e-09, 3.438999e+00, 1.721470e+05 ],
        [ 8.700000e-10, 1.187649e+00, 1.884211e+04 ],
        [ 8.700000e-10, 9.094166e-02, 1.514139e+04 ],
        [ 1.080000e-09, 1.033634e+00, 8.257698e+04 ],
        [ 1.190000e-09, 2.867291e+00, 9.039482e+04 ],
        [ 1.040000e-09, 3.392186e+00, 2.909729e+02 ],
        [ 9.400000e-10, 5.682849e+00, 3.236710e+04 ],
        [ 1.170000e-09, 7.847596e-01, 8.328691e+04 ],
        [ 1.050000e-09, 3.965511e+00, 6.357857e+03 ],
        [ 9.400000e-10, 4.034432e+00, 1.334167e+04 ],
        [ 9.600000e-10, 9.274257e-01, 1.062905e+03 ],
        [ 8.900000e-10, 4.453718e+00, 7.927749e+02 ],
        [ 8.700000e-10, 4.001348e-01, 9.027992e+04 ],
        [ 1.130000e-09, 2.481653e+00, 4.873986e+04 ],
        [ 8.700000e-10, 3.431229e+00, 2.770754e+04 ],
        [ 1.010000e-09, 5.320816e+00, 2.301586e+03 ],
        [ 8.400000e-10, 6.702091e-01, 2.862834e+04 ],
        [ 8.200000e-10, 8.706009e-01, 1.024120e+04 ],
        [ 8.600000e-10, 4.620648e+00, 3.614741e+04 ],
        [ 8.000000e-10, 4.776496e+00, 6.819880e+03 ],
        [ 9.500000e-10, 2.870329e+00, 2.302065e+04 ],
        [ 1.070000e-09, 5.778649e+00, 3.411511e+04 ],
        [ 1.100000e-09, 3.328989e+00, 7.214063e+04 ],
        [ 8.700000e-10, 4.406577e+00, 1.421786e+02 ],
        [ 1.030000e-09, 4.225067e+00, 3.066615e+04 ],
        [ 8.200000e-10, 3.894044e+00, 5.547199e+03 ],
        [ 1.090000e-09, 1.945461e+00, 2.427911e+04 ],
        [ 8.700000e-10, 4.324720e+00, 7.429901e+02 ],
        [ 1.070000e-09, 4.915809e+00, 2.770350e+02 ],
        [ 8.800000e-10, 2.101808e+00, 2.648217e+04 ],
        [ 8.600000e-10, 4.018950e+00, 1.249137e+04 ],
        [ 1.060000e-09, 5.490924e+00, 6.288336e+04 ],
        [ 8.000000e-10, 6.197857e+00, 6.709674e+03 ],
        [ 1.050000e-09, 2.441665e+00, 6.298328e+03 ],
        [ 8.300000e-10, 4.906622e+00, 5.128034e+01 ],
        [ 7.400000e-10, 2.346226e+00, 7.018952e+03 ],
        [ 7.800000e-10, 6.069473e+00, 1.484345e+05 ],
        [ 7.900000e-10, 3.030482e+00, 8.389693e+02 ],
        [ 7.300000e-10, 3.050087e+00, 5.677186e+02 ],
        [ 1.020000e-09, 3.592238e+00, 2.238076e+04 ],
        [ 8.400000e-10, 4.660437e-01, 4.514122e+01 ],
        [ 9.200000e-10, 4.129177e+00, 1.821644e+04 ],
        [ 9.100000e-10, 4.938240e-01, 6.453749e+03 ],
        [ 7.300000e-10, 1.724466e+00, 2.142447e+04 ],
        [ 6.900000e-10, 1.493727e+00, 2.154896e+04 ],
        [ 6.900000e-10, 4.731810e+00, 8.858315e+03 ],
        [ 7.700000e-10, 4.768378e-01, 1.152100e+04 ],
        [ 7.800000e-10, 5.439426e+00, 1.526589e+04 ],
        [ 7.700000e-10, 2.537738e+00, 7.626607e+01 ],
        [ 6.900000e-10, 2.539326e+00, 9.910583e+03 ],
        [ 7.500000e-10, 1.559473e-01, 2.300643e+04 ],
        [ 7.800000e-10, 2.410050e+00, 6.393282e+03 ],
        [ 6.700000e-10, 5.051528e+00, 5.737580e+04 ],
        [ 7.700000e-10, 3.910756e+00, 2.438308e+04 ],
        [ 6.700000e-10, 7.823915e-01, 1.277945e+04 ],
        [ 7.100000e-10, 1.248179e+00, 1.041999e+04 ],
        [ 6.700000e-10, 5.778512e+00, 6.311525e+03 ],
        [ 6.100000e-10, 2.667058e+00, 1.885275e+04 ],
        [ 7.900000e-10, 1.891373e+00, 6.528907e+03 ],
        [ 8.400000e-10, 5.115237e+00, 5.031720e+04 ],
        [ 5.900000e-10, 3.382904e+00, 3.570771e+04 ],
        [ 6.500000e-10, 4.667679e+00, 2.670965e+04 ],
        [ 7.900000e-10, 5.597738e+00, 7.196039e+04 ],
        [ 6.100000e-10, 3.307338e+00, 1.884570e+04 ],
        [ 5.700000e-10, 3.908313e+00, 5.999217e+03 ],
        [ 5.800000e-10, 3.925728e+00, 3.034888e+04 ],
        [ 6.100000e-10, 5.695046e-02, 7.856896e+03 ],
        [ 6.100000e-10, 5.632980e+00, 7.863943e+03 ],
        [ 6.800000e-10, 2.539861e+00, 2.045287e+04 ],
        [ 5.300000e-10, 5.440216e+00, 3.237098e+04 ],
        [ 5.900000e-10, 4.956951e+00, 1.192527e+04 ],
        [ 5.900000e-10, 5.346682e+00, 1.372882e+05 ],
        [ 5.600000e-10, 4.057800e+00, 1.789294e+04 ],
        [ 5.300000e-10, 3.941825e+00, 1.862488e+04 ],
        [ 4.900000e-10, 2.117828e+00, 2.259405e+04 ],
        [ 6.200000e-10, 2.471541e+00, 1.234574e+04 ],
        [ 4.900000e-10, 5.765969e+00, 1.860650e+04 ],
        [ 5.200000e-10, 6.209021e+00, 2.194711e+04 ],
        [ 5.100000e-10, 3.132880e+00, 3.332658e+04 ],
        [ 5.700000e-10, 6.170034e+00, 6.130601e+04 ],
        [ 6.400000e-10, 5.665965e+00, 3.459636e+04 ],
        [ 6.600000e-10, 3.922623e+00, 6.985335e+04 ],
        [ 5.300000e-10, 5.511194e+00, 7.771025e+04 ],
        [ 5.300000e-10, 4.885740e+00, 7.771729e+04 ],
        [ 4.800000e-10, 2.713991e+00, 2.076043e+04 ],
        [ 4.600000e-10, 6.083762e+00, 2.982278e+04 ],
        [ 5.200000e-10, 3.139748e-01, 3.772475e+04 ],
        [ 4.500000e-10, 5.535872e+00, 6.262721e+03 ],
        [ 5.900000e-10, 2.454379e+00, 6.916643e+04 ],
        [ 6.000000e-10, 5.242616e+00, 5.660028e+04 ],
        [ 5.100000e-10, 6.157943e+00, 1.161698e+04 ],
        [ 6.000000e-10, 1.747581e+00, 4.403413e+04 ],
        [ 4.900000e-10, 5.089731e+00, 3.399062e+04 ],
        [ 4.400000e-10, 3.282709e+00, 2.942463e+04 ],
        [ 5.200000e-10, 5.348669e+00, 2.831329e+04 ],
        [ 5.900000e-10, 2.123850e+00, 3.617371e+04 ],
        [ 5.000000e-10, 4.648093e-01, 2.528772e+04 ],
        [ 4.400000e-10, 2.055035e+00, 6.365888e+04 ],
        [ 4.400000e-10, 1.710092e+00, 1.336245e+04 ],
        [ 4.100000e-10, 3.917213e+00, 6.279195e+03 ],
        [ 4.200000e-10, 1.521060e+00, 2.355034e+04 ],
        [ 4.200000e-10, 3.109383e+00, 8.467248e+04 ],
        [ 4.100000e-10, 3.788630e+00, 3.505000e+04 ],
        [ 4.200000e-10, 5.575435e+00, 3.850028e+04 ],
        [ 4.000000e-10, 5.551457e+00, 1.256517e+04 ],
        [ 5.400000e-10, 8.893549e-01, 5.029091e+04 ],
        [ 5.500000e-10, 2.502685e+00, 7.782867e+04 ],
        [ 5.400000e-10, 4.162579e+00, 2.291045e+04 ],
        [ 4.100000e-10, 2.321412e+00, 6.286957e+03 ],
        [ 4.500000e-10, 3.185906e+00, 4.558517e+04 ],
        [ 4.500000e-10, 2.243489e+00, 2.364632e+04 ],
        [ 4.300000e-10, 3.878921e+00, 6.549683e+03 ],
        [ 4.800000e-10, 2.113641e+00, 3.157080e+04 ],
        [ 4.300000e-10, 5.550996e+00, 1.235997e+04 ],
        [ 4.100000e-10, 4.881916e+00, 2.353612e+04 ],
        [ 4.900000e-10, 2.447909e+00, 1.361380e+04 ],
        [ 4.700000e-10, 3.581817e+00, 4.797096e+03 ]]
    
L1 = [
        [ 6.283076e+03, 0.000000e+00, 0.000000e+00 ],
        [ 2.060589e-03, 2.678235e+00, 6.283076e+03 ],
        [ 4.303419e-05, 2.635122e+00, 1.256615e+04 ],
        [ 4.252640e-06, 1.590470e+00, 3.523118e+00 ],
        [ 1.090170e-06, 2.966310e+00, 1.577344e+03 ],
        [ 9.347900e-07, 2.592111e+00, 1.884923e+04 ],
        [ 1.193050e-06, 5.795558e+00, 2.629832e+01 ],
        [ 7.212100e-07, 1.138406e+00, 5.296910e+02 ],
        [ 6.778400e-07, 1.874533e+00, 3.981490e+02 ],
        [ 6.735000e-07, 4.409328e+00, 5.507553e+03 ],
        [ 5.904500e-07, 2.888158e+00, 5.223694e+03 ],
        [ 5.597600e-07, 2.174717e+00, 1.554204e+02 ],
        [ 4.541100e-07, 3.979950e-01, 7.962980e+02 ],
        [ 3.629800e-07, 4.687544e-01, 7.755226e+02 ],
        [ 2.896200e-07, 2.647323e+00, 7.113547e+00 ],
        [ 1.909700e-07, 1.846284e+00, 5.486778e+03 ],
        [ 2.084400e-07, 5.341383e+00, 9.803211e-01 ],
        [ 1.850800e-07, 4.968552e+00, 2.132991e+02 ],
        [ 1.623300e-07, 3.216587e-02, 2.544314e+03 ],
        [ 1.729300e-07, 2.991168e+00, 6.275962e+03 ],
        [ 1.583200e-07, 1.430493e+00, 2.146165e+03 ],
        [ 1.460800e-07, 1.204698e+00, 1.097708e+04 ],
        [ 1.187700e-07, 3.258051e+00, 5.088629e+03 ],
        [ 1.151400e-07, 2.075021e+00, 4.694003e+03 ],
        [ 9.721000e-08, 4.239259e+00, 1.349867e+03 ],
        [ 9.969000e-08, 1.302634e+00, 6.286599e+03 ],
        [ 9.452000e-08, 2.699568e+00, 2.427286e+02 ],
        [ 1.246100e-07, 2.834323e+00, 1.748016e+03 ],
        [ 1.180800e-07, 5.273798e+00, 1.194447e+03 ],
        [ 8.577000e-08, 5.644761e+00, 9.517184e+02 ],
        [ 1.064100e-07, 7.661472e-01, 5.535694e+02 ],
        [ 7.576000e-08, 5.300562e+00, 2.352866e+03 ],
        [ 5.764000e-08, 1.772284e+00, 1.059382e+03 ],
        [ 6.385000e-08, 2.650345e+00, 9.437763e+03 ],
        [ 5.223000e-08, 5.661358e+00, 7.143070e+04 ],
        [ 5.315000e-08, 9.111002e-01, 3.154687e+03 ],
        [ 6.101000e-08, 4.666337e+00, 4.690480e+03 ],
        [ 4.335000e-08, 2.393456e-01, 6.812767e+03 ],
        [ 5.041000e-08, 1.424897e+00, 6.438496e+03 ],
        [ 4.259000e-08, 7.735554e-01, 1.044739e+04 ],
        [ 5.200000e-08, 1.855288e+00, 8.018209e+02 ],
        [ 3.744000e-08, 2.001199e+00, 8.031092e+03 ],
        [ 3.553000e-08, 2.427896e+00, 1.414350e+04 ],
        [ 3.372000e-08, 3.862108e+00, 1.592596e+03 ],
        [ 3.380000e-08, 8.854539e-01, 1.203646e+04 ],
        [ 3.196000e-08, 3.197133e+00, 4.705732e+03 ],
        [ 3.221000e-08, 6.160105e-01, 8.429241e+03 ],
        [ 4.132000e-08, 5.239926e+00, 7.084897e+03 ],
        [ 2.970000e-08, 6.070298e+00, 4.292331e+03 ],
        [ 2.900000e-08, 2.324642e+00, 2.035532e+01 ],
        [ 3.504000e-08, 4.799767e+00, 6.279553e+03 ],
        [ 2.950000e-08, 1.431089e+00, 5.746271e+03 ],
        [ 2.697000e-08, 4.803652e+00, 7.234794e+03 ],
        [ 2.531000e-08, 6.222900e+00, 6.836645e+03 ],
        [ 2.745000e-08, 9.346607e-01, 5.760498e+03 ],
        [ 3.250000e-08, 3.399519e+00, 7.632943e+03 ],
        [ 2.278000e-08, 5.003399e+00, 1.778985e+04 ],
        [ 2.076000e-08, 3.955513e+00, 1.021329e+04 ],
        [ 2.061000e-08, 2.224077e+00, 5.856478e+03 ],
        [ 2.252000e-08, 5.671667e+00, 1.149966e+04 ],
        [ 2.148000e-08, 5.201827e+00, 1.151388e+04 ],
        [ 1.886000e-08, 5.319854e-01, 3.340612e+03 ],
        [ 1.875000e-08, 4.735120e+00, 8.399685e+04 ],
        [ 2.060000e-08, 2.549853e+00, 2.513230e+04 ],
        [ 1.794000e-08, 1.474353e+00, 4.164312e+03 ],
        [ 1.778000e-08, 3.024731e+00, 5.522924e+00 ],
        [ 2.036000e-08, 9.090817e-01, 6.256778e+03 ],
        [ 2.064000e-08, 2.270513e+00, 5.225774e+02 ],
        [ 1.773000e-08, 3.030905e+00, 5.753385e+03 ],
        [ 1.569000e-08, 6.124062e+00, 5.216580e+03 ],
        [ 1.590000e-08, 4.637137e+00, 3.286357e+00 ],
        [ 1.533000e-08, 4.203056e+00, 1.336797e+04 ],
        [ 1.427000e-08, 1.190875e+00, 3.894182e+03 ],
        [ 1.376000e-08, 4.249559e+00, 4.265982e+02 ],
        [ 1.375000e-08, 3.093013e+00, 1.350651e+02 ],
        [ 1.308000e-08, 3.084921e+00, 5.643179e+03 ],
        [ 1.340000e-08, 5.765132e+00, 6.040347e+03 ],
        [ 1.250000e-08, 3.077482e+00, 1.192625e+04 ],
        [ 1.551000e-08, 3.076641e+00, 6.681225e+03 ],
        [ 1.148000e-08, 3.241442e+00, 1.216800e+04 ],
        [ 1.268000e-08, 2.092012e+00, 6.290189e+03 ],
        [ 1.248000e-08, 3.445069e+00, 5.368045e+02 ],
        [ 1.118000e-08, 2.318301e+00, 1.673046e+04 ],
        [ 1.105000e-08, 5.319660e+00, 2.387844e+01 ],
        [ 1.012000e-08, 3.749535e+00, 7.860419e+03 ],
        [ 1.025000e-08, 2.446838e+00, 1.990745e+03 ],
        [ 9.620000e-09, 8.177102e-01, 3.881335e+00 ],
        [ 9.110000e-09, 4.172435e-01, 7.079374e+03 ],
        [ 1.091000e-08, 3.982336e+00, 1.150677e+04 ],
        [ 9.570000e-09, 4.076714e+00, 6.127655e+03 ],
        [ 8.350000e-09, 5.283487e+00, 1.179063e+04 ],
        [ 8.020000e-09, 3.887791e+00, 1.097356e+04 ],
        [ 7.730000e-09, 2.410444e+00, 1.589073e+03 ],
        [ 7.580000e-09, 1.300344e+00, 1.030928e+02 ],
        [ 7.490000e-09, 4.962814e+00, 6.496375e+03 ],
        [ 7.650000e-09, 3.363124e+00, 3.602787e+01 ],
        [ 9.150000e-09, 5.415498e+00, 2.061855e+02 ],
        [ 7.760000e-09, 2.575891e+00, 1.137170e+04 ],
        [ 7.720000e-09, 3.983634e+00, 9.555997e+02 ],
        [ 7.490000e-09, 5.179002e+00, 1.096997e+04 ],
        [ 8.060000e-09, 3.422612e-01, 9.917697e+03 ],
        [ 7.280000e-09, 5.209626e+00, 3.802767e+01 ],
        [ 6.850000e-09, 2.775930e+00, 2.077540e+01 ],
        [ 6.360000e-09, 4.282422e+00, 2.844919e+01 ],
        [ 6.080000e-09, 5.632785e+00, 1.098419e+04 ],
        [ 7.040000e-09, 5.607394e+00, 3.738761e+03 ],
        [ 6.850000e-09, 3.887615e-01, 1.525247e+01 ],
        [ 6.010000e-09, 7.348960e-01, 4.194846e+02 ],
        [ 7.160000e-09, 2.652869e+00, 6.309374e+03 ],
        [ 5.840000e-09, 5.545087e+00, 1.729818e+04 ],
        [ 6.280000e-09, 1.117331e+00, 7.058598e+03 ],
        [ 6.880000e-09, 2.596841e+00, 3.496033e+03 ],
        [ 4.850000e-09, 4.447071e-01, 1.235285e+04 ],
        [ 5.620000e-09, 2.825104e+00, 3.930210e+03 ],
        [ 5.970000e-09, 5.276758e+00, 1.057541e+04 ],
        [ 5.830000e-09, 3.189315e+00, 4.732031e+03 ],
        [ 5.260000e-09, 5.017377e+00, 5.884927e+03 ],
        [ 5.400000e-09, 1.291827e+00, 6.408776e+02 ],
        [ 4.810000e-09, 5.497215e+00, 5.230807e+03 ],
        [ 4.060000e-09, 5.212530e+00, 2.204126e+02 ],
        [ 3.950000e-09, 1.874899e+00, 1.620077e+04 ],
        [ 3.670000e-09, 8.853354e-01, 6.283143e+03 ],
        [ 3.690000e-09, 3.847781e+00, 1.807370e+04 ],
        [ 3.790000e-09, 3.799172e-01, 1.017726e+04 ],
        [ 3.560000e-09, 3.841529e+00, 1.171296e+04 ],
        [ 3.740000e-09, 5.015775e+00, 7.046237e+00 ],
        [ 3.810000e-09, 4.302504e+00, 6.062663e+03 ],
        [ 4.710000e-09, 8.638894e-01, 6.069777e+03 ],
        [ 3.670000e-09, 1.329438e+00, 6.283009e+03 ],
        [ 4.600000e-09, 5.196672e+00, 6.284056e+03 ],
        [ 3.330000e-09, 5.542504e+00, 4.686889e+03 ],
        [ 3.410000e-09, 4.365245e+00, 7.238676e+03 ],
        [ 3.360000e-09, 4.002059e+00, 3.097884e+03 ],
        [ 3.590000e-09, 6.226798e+00, 2.458316e+02 ],
        [ 3.070000e-09, 2.352990e+00, 1.706729e+02 ],
        [ 3.430000e-09, 3.771649e+00, 6.076890e+03 ],
        [ 2.960000e-09, 5.441388e+00, 1.726015e+04 ],
        [ 3.280000e-09, 1.381771e-01, 1.101511e+04 ],
        [ 2.690000e-09, 1.133082e+00, 1.256967e+04 ],
        [ 2.630000e-09, 5.507375e-03, 4.136910e+03 ],
        [ 2.820000e-09, 5.043996e+00, 7.477523e+03 ],
        [ 2.800000e-09, 3.137032e+00, 1.255904e+04 ],
        [ 2.590000e-09, 9.388227e-01, 5.642198e+03 ],
        [ 2.920000e-09, 1.984263e+00, 1.213244e+04 ],
        [ 2.470000e-09, 3.842448e+00, 5.429879e+03 ],
        [ 3.190000e-09, 5.041701e+00, 9.061774e+04 ],
        [ 2.450000e-09, 5.704697e+00, 6.514762e+04 ],
        [ 3.180000e-09, 1.355820e+00, 7.805159e+04 ],
        [ 2.410000e-09, 9.946979e-01, 3.634621e+03 ],
        [ 2.460000e-09, 3.061681e+00, 1.102063e+02 ],
        [ 2.390000e-09, 6.118545e+00, 1.185622e+04 ],
        [ 2.670000e-09, 6.529761e-01, 2.122839e+04 ],
        [ 2.620000e-09, 1.510705e+00, 1.214667e+04 ],
        [ 2.300000e-09, 1.759238e+00, 9.779109e+03 ],
        [ 2.230000e-09, 2.009670e+00, 6.172870e+03 ],
        [ 2.460000e-09, 1.104117e+00, 6.282096e+03 ],
        [ 2.140000e-09, 4.038405e+00, 1.431417e+04 ],
        [ 2.120000e-09, 2.136956e+00, 5.849364e+03 ],
        [ 2.070000e-09, 3.077242e+00, 1.172935e+01 ],
        [ 2.070000e-09, 6.103033e+00, 2.354323e+04 ],
        [ 2.660000e-09, 1.007200e+00, 2.388894e+03 ],
        [ 2.170000e-09, 6.278402e+00, 1.726727e+04 ],
        [ 2.310000e-09, 5.373728e+00, 1.391602e+04 ],
        [ 2.040000e-09, 2.346153e+00, 2.666070e+02 ],
        [ 1.950000e-09, 5.550155e+00, 6.133513e+03 ],
        [ 2.030000e-09, 4.656168e+00, 2.407292e+04 ],
        [ 1.880000e-09, 2.526823e+00, 6.525804e+03 ],
        [ 1.770000e-09, 1.734269e+00, 1.547176e+05 ],
        [ 1.870000e-09, 4.765013e+00, 4.535059e+03 ],
        [ 1.860000e-09, 4.630805e+00, 1.044027e+04 ],
        [ 1.830000e-09, 3.200608e+00, 8.635942e+03 ],
        [ 1.720000e-09, 1.455517e+00, 9.225539e+03 ],
        [ 1.620000e-09, 3.306651e+00, 6.398973e+02 ],
        [ 1.680000e-09, 2.176714e+00, 2.740156e+01 ],
        [ 1.600000e-09, 1.681687e+00, 1.511047e+04 ],
        [ 1.940000e-09, 2.792438e+00, 7.342458e+03 ],
        [ 1.830000e-09, 5.627352e-01, 1.351787e+04 ],
        [ 1.720000e-09, 5.970395e+00, 4.701117e+03 ],
        [ 1.790000e-09, 3.584508e+00, 8.730820e+01 ],
        [ 1.520000e-09, 2.840705e+00, 5.650292e+03 ],
        [ 1.560000e-09, 1.071561e+00, 1.831954e+04 ],
        [ 1.820000e-09, 4.405362e-01, 1.725304e+04 ],
        [ 1.420000e-09, 1.462901e+00, 1.108729e+04 ],
        [ 1.310000e-09, 5.409121e+00, 2.699735e+03 ],
        [ 1.440000e-09, 2.073121e+00, 2.515860e+04 ],
        [ 1.470000e-09, 6.151078e+00, 9.623688e+03 ],
        [ 1.410000e-09, 5.557400e+00, 1.045450e+04 ],
        [ 1.350000e-09, 6.098129e-02, 1.672335e+04 ],
        [ 1.230000e-09, 5.811948e+00, 1.725663e+04 ],
        [ 1.240000e-09, 2.362694e+00, 4.933208e+03 ],
        [ 1.260000e-09, 3.474839e+00, 2.248385e+04 ],
        [ 1.590000e-09, 5.639447e+00, 5.729506e+03 ],
        [ 1.370000e-09, 1.938117e+00, 2.042657e+04 ],
        [ 1.230000e-09, 3.928160e+00, 1.799603e+04 ],
        [ 1.480000e-09, 3.025426e+00, 1.551045e+03 ],
        [ 1.210000e-09, 5.537321e-02, 1.309584e+04 ],
        [ 1.200000e-09, 5.919043e+00, 6.206810e+03 ],
        [ 1.340000e-09, 3.111229e+00, 2.195416e+04 ],
        [ 1.190000e-09, 5.521439e+00, 7.099330e+02 ],
        [ 1.220000e-09, 3.008400e+00, 1.980095e+04 ],
        [ 1.270000e-09, 1.375342e+00, 1.494532e+04 ],
        [ 1.410000e-09, 2.568863e+00, 1.052268e+03 ],
        [ 1.230000e-09, 2.836712e+00, 1.191914e+04 ],
        [ 1.180000e-09, 8.191829e-01, 5.331357e+03 ],
        [ 1.510000e-09, 2.687286e+00, 1.176985e+04 ],
        [ 1.190000e-09, 5.086540e+00, 5.481255e+03 ],
        [ 1.130000e-09, 4.426757e+00, 1.842263e+04 ],
        [ 1.530000e-09, 2.460218e+00, 1.193337e+04 ],
        [ 1.080000e-09, 1.049365e+00, 1.140368e+04 ],
        [ 1.280000e-09, 9.981046e-01, 8.827390e+03 ],
        [ 1.440000e-09, 2.548697e+00, 2.274761e+02 ],
        [ 1.500000e-09, 4.506314e+00, 2.379164e+03 ],
        [ 1.090000e-09, 2.926906e-01, 1.673758e+04 ],
        [ 1.220000e-09, 4.230400e+00, 2.942951e+01 ],
        [ 1.110000e-09, 5.169707e+00, 1.778273e+04 ],
        [ 1.050000e-09, 1.617382e+00, 1.311972e+04 ],
        [ 1.000000e-09, 3.522047e+00, 1.805293e+04 ],
        [ 1.080000e-09, 1.084931e+00, 1.685848e+04 ],
        [ 1.350000e-09, 3.201606e+00, 6.262300e+03 ],
        [ 1.060000e-09, 1.960851e+00, 7.478160e+01 ],
        [ 1.290000e-09, 4.859494e+00, 1.649636e+04 ],
        [ 1.100000e-09, 2.306058e+00, 1.646033e+04 ],
        [ 9.700000e-10, 3.509189e+00, 5.333900e+03 ],
        [ 9.900000e-10, 3.564173e+00, 7.358765e+02 ],
        [ 9.600000e-10, 3.409185e+00, 1.572084e+04 ],
        [ 9.400000e-10, 5.016010e+00, 3.128389e+03 ],
        [ 9.700000e-10, 1.655799e+00, 5.332141e+02 ],
        [ 9.200000e-10, 8.921920e-01, 2.929662e+04 ],
        [ 1.230000e-09, 3.160621e+00, 9.380960e+03 ],
        [ 1.020000e-09, 1.204935e+00, 2.302065e+04 ],
        [ 8.800000e-10, 2.212655e+00, 1.272157e+04 ],
        [ 8.900000e-10, 1.543227e+00, 2.019909e+04 ],
        [ 1.210000e-09, 6.198604e+00, 9.388006e+03 ],
        [ 8.900000e-10, 4.080823e+00, 2.280574e+04 ],
        [ 9.800000e-10, 1.091767e+00, 1.204357e+04 ],
        [ 8.600000e-10, 1.136490e+00, 1.435713e+05 ],
        [ 8.800000e-10, 5.969805e+00, 1.076635e+02 ],
        [ 8.200000e-10, 5.015612e+00, 2.200391e+04 ],
        [ 9.400000e-10, 1.696157e+00, 2.300643e+04 ],
        [ 8.100000e-10, 3.006647e+00, 2.118764e+03 ],
        [ 9.800000e-10, 1.392153e+00, 8.662240e+03 ],
        [ 8.000000e-10, 5.163410e+00, 1.779696e+04 ],
        [ 8.200000e-10, 5.868940e+00, 2.787043e+03 ],
        [ 7.700000e-10, 8.072369e-01, 1.672838e+05 ],
        [ 9.100000e-10, 5.749024e+00, 2.142447e+04 ],
        [ 7.600000e-10, 5.671837e+00, 1.422709e+01 ],
        [ 8.100000e-10, 6.166195e+00, 1.039027e+03 ],
        [ 7.600000e-10, 3.214499e+00, 1.111866e+02 ],
        [ 7.800000e-10, 1.375315e+00, 2.194711e+04 ],
        [ 7.400000e-10, 3.588142e+00, 1.160986e+04 ],
        [ 7.700000e-10, 4.848465e+00, 2.274341e+04 ],
        [ 9.000000e-10, 1.488690e+00, 1.567108e+04 ],
        [ 8.200000e-10, 3.486184e+00, 2.908881e+04 ],
        [ 7.100000e-10, 2.215916e+00, 1.202935e+04 ],
        [ 6.900000e-10, 1.936257e+00, 1.356253e+02 ],
        [ 7.000000e-10, 2.665528e+00, 1.887553e+04 ],
        [ 6.900000e-10, 5.414781e+00, 2.673595e+04 ],
        [ 7.900000e-10, 5.151582e+00, 1.232342e+04 ],
        [ 7.800000e-10, 4.170141e+00, 1.066495e+03 ],
        [ 6.500000e-10, 5.645847e+00, 1.213955e+04 ],
        [ 7.100000e-10, 3.898048e+00, 2.277944e+04 ],
        [ 6.300000e-10, 4.539688e+00, 8.982811e+03 ],
        [ 7.600000e-10, 3.290889e+00, 2.942463e+03 ],
        [ 6.900000e-10, 9.423211e-01, 1.491902e+04 ],
        [ 6.300000e-10, 4.091865e+00, 1.606218e+04 ],
        [ 6.500000e-10, 3.345804e+00, 5.128034e+01 ],
        [ 6.500000e-10, 5.757575e+00, 5.267007e+04 ],
        [ 5.700000e-10, 5.250503e+00, 2.099539e+04 ],
        [ 6.100000e-10, 1.922907e+00, 6.805653e+03 ],
        [ 6.100000e-10, 8.878902e-02, 1.336245e+04 ],
        [ 7.600000e-10, 1.869477e+00, 2.528772e+04 ],
        [ 5.600000e-10, 4.253965e+00, 6.709674e+03 ],
        [ 5.800000e-10, 4.794297e+00, 6.286362e+03 ],
        [ 7.300000e-10, 5.329909e-01, 2.301586e+03 ],
        [ 7.000000e-10, 4.312434e+00, 1.940280e+04 ],
        [ 6.700000e-10, 2.538523e+00, 3.773736e+02 ],
        [ 5.600000e-10, 3.208168e+00, 2.488957e+04 ],
        [ 5.400000e-10, 5.173365e+00, 2.608402e+04 ],
        [ 5.300000e-10, 3.176754e+00, 1.845108e+04 ],
        [ 5.300000e-10, 3.615293e+00, 7.767377e+01 ],
        [ 5.300000e-10, 4.546755e-01, 3.066615e+04 ],
        [ 5.300000e-10, 2.977616e+00, 2.154896e+04 ],
        [ 6.100000e-10, 1.480573e-01, 2.301354e+04 ],
        [ 5.100000e-10, 3.328040e+00, 5.689837e+01 ],
        [ 5.200000e-10, 3.413040e+00, 2.314156e+04 ],
        [ 5.800000e-10, 3.136387e+00, 3.092783e+02 ],
        [ 5.400000e-10, 1.608965e+00, 1.334167e+04 ],
        [ 5.300000e-10, 5.814264e+00, 1.619366e+04 ],
        [ 6.700000e-10, 6.279179e+00, 2.234526e+04 ],
        [ 5.000000e-10, 4.257764e-01, 2.568587e+04 ],
        [ 4.800000e-10, 7.020455e-01, 1.162475e+03 ],
        [ 6.600000e-10, 3.643500e+00, 1.526589e+04 ],
        [ 5.000000e-10, 5.743829e+00, 1.966976e+01 ],
        [ 5.400000e-10, 1.972774e+00, 2.358126e+04 ],
        [ 5.100000e-10, 1.237132e+00, 1.253985e+04 ],
        [ 4.600000e-10, 5.414317e+00, 3.301902e+04 ],
        [ 4.600000e-10, 4.806408e+00, 1.965105e+04 ],
        [ 5.000000e-10, 1.238475e+00, 2.247674e+04 ],
        [ 5.100000e-10, 4.919134e+00, 1.259245e+04 ],
        [ 4.600000e-10, 2.413700e+00, 9.806854e+04 ],
        [ 4.500000e-10, 3.452271e+00, 3.077450e+04 ],
        [ 4.500000e-10, 4.396591e+00, 4.337117e+02 ],
        [ 4.500000e-10, 3.719211e+00, 1.820933e+04 ],
        [ 4.400000e-10, 2.476839e+00, 2.435678e+04 ],
        [ 4.900000e-10, 2.178351e+00, 1.352175e+04 ],
        [ 4.600000e-10, 2.614273e-01, 1.104570e+01 ],
        [ 4.500000e-10, 2.462306e+00, 5.186825e+04 ],
        [ 4.300000e-10, 4.294585e+00, 2.823019e+04 ],
        [ 4.800000e-10, 8.955171e-01, 5.660028e+04 ],
        [ 4.200000e-10, 3.634107e+00, 4.590910e+03 ],
        [ 4.900000e-10, 3.177577e+00, 6.303851e+03 ],
        [ 4.300000e-10, 4.933503e+00, 1.002184e+04 ],
        [ 5.200000e-10, 3.654102e+00, 7.872149e+03 ],
        [ 4.100000e-10, 4.821668e+00, 1.098881e+04 ],
        [ 4.000000e-10, 1.818916e+00, 3.459636e+04 ],
        [ 4.300000e-10, 1.941650e+00, 1.903437e+03 ],
        [ 4.100000e-10, 7.446185e-01, 2.393786e+04 ],
        [ 4.500000e-10, 5.455750e+00, 6.053049e+04 ],
        [ 5.000000e-10, 5.673556e+00, 1.821644e+04 ],
        [ 4.000000e-10, 4.502010e-02, 3.852657e+04 ],
        [ 5.300000e-10, 3.648076e+00, 1.192527e+04 ],
        [ 4.200000e-10, 5.192929e+00, 1.900465e+04 ],
        [ 4.100000e-10, 9.430968e-01, 9.924810e+03 ],
        [ 3.900000e-10, 4.611843e+00, 9.597923e+01 ],
        [ 4.900000e-10, 2.055325e+00, 1.257327e+04 ],
        [ 4.500000e-10, 3.737178e+00, 7.875672e+03 ],
        [ 4.300000e-10, 1.140785e+00, 4.975703e+01 ],
        [ 3.900000e-10, 1.705394e+00, 3.221720e+04 ],
        [ 3.700000e-10, 1.293904e+00, 3.108408e+02 ],
        [ 3.800000e-10, 9.597093e-01, 6.647560e+02 ],
        [ 3.900000e-10, 8.595736e-01, 1.652266e+04 ],
        [ 4.000000e-10, 1.001708e+00, 3.694923e+04 ],
        [ 4.000000e-10, 3.781647e+00, 5.579846e+04 ],
        [ 3.700000e-10, 5.422371e+00, 6.286666e+03 ],
        [ 3.600000e-10, 1.681677e+00, 1.034430e+04 ],
        [ 4.000000e-10, 5.132173e+00, 1.566404e+04 ],
        [ 4.900000e-10, 3.627413e+00, 7.771377e+04 ],
        [ 4.500000e-10, 6.158779e+00, 2.828699e+04 ],
        [ 3.600000e-10, 3.321585e+00, 1.620789e+04 ],
        [ 3.500000e-10, 5.839178e+00, 6.321104e+03 ],
        [ 3.600000e-10, 1.807842e+00, 6.279789e+03 ],
        [ 3.500000e-10, 4.602792e+00, 2.823723e+04 ],
        [ 3.300000e-10, 4.730178e-01, 1.863593e+04 ],
        [ 3.500000e-10, 4.365710e+00, 4.873986e+04 ],
        [ 3.100000e-10, 3.068280e+00, 6.819880e+03 ],
        [ 3.100000e-10, 2.402032e+00, 2.862834e+04 ],
        [ 3.400000e-10, 1.900964e+00, 1.296430e+04 ],
        [ 2.900000e-10, 6.092910e+00, 1.860650e+04 ],
        [ 2.800000e-10, 3.420461e+00, 6.288599e+03 ],
        [ 2.800000e-10, 3.437361e+00, 3.411511e+04 ],
        [ 2.900000e-10, 1.489208e+00, 6.489261e+03 ],
        [ 2.800000e-10, 3.074747e+00, 2.982278e+04 ],
        [ 3.800000e-10, 2.446083e+00, 3.141538e+04 ],
        [ 2.800000e-10, 2.983926e+00, 6.277553e+03 ],
        [ 2.700000e-10, 5.035560e+00, 1.277945e+04 ],
        [ 2.700000e-10, 5.408130e+00, 2.608790e+04 ],
        [ 3.800000e-10, 5.564399e+00, 2.783204e+04 ],
        [ 2.600000e-10, 3.876859e+00, 6.262721e+03 ],
        [ 2.700000e-10, 6.155654e+00, 2.875981e+04 ],
        [ 2.500000e-10, 5.171222e+00, 6.915860e+03 ],
        [ 2.700000e-10, 4.031320e+00, 9.910583e+03 ],
        [ 3.300000e-10, 3.977634e+00, 1.241073e+04 ],
        [ 2.400000e-10, 5.313071e+00, 2.902649e+04 ],
        [ 2.500000e-10, 8.105521e-01, 3.617371e+04 ],
        [ 2.400000e-10, 1.287061e+00, 2.449143e+04 ],
        [ 2.100000e-10, 2.025485e+00, 2.876692e+04 ],
        [ 2.100000e-10, 6.075451e+00, 1.813929e+04 ],
        [ 2.200000e-10, 2.311999e+00, 6.303431e+03 ],
        [ 2.300000e-10, 1.352351e+00, 4.951538e+04 ],
        [ 2.300000e-10, 2.927659e+00, 6.523622e+04 ],
        [ 1.900000e-10, 3.636660e-02, 2.986433e+04 ],
        [ 2.000000e-10, 9.137407e-01, 4.558517e+04 ],
        [ 2.100000e-10, 4.450030e+00, 2.249096e+04 ],
        [ 2.200000e-10, 1.971194e+00, 3.451326e+04 ],
        [ 2.000000e-10, 4.116827e+00, 1.715706e+04 ],
        [ 2.400000e-10, 1.402439e+00, 1.471232e+04 ],
        [ 2.200000e-10, 2.197597e+00, 3.157080e+04 ],
        [ 2.100000e-10, 1.487398e+00, 6.130601e+04 ],
        [ 2.500000e-10, 5.714656e+00, 2.593412e+04 ]]

L2 = [
        [ 8.721859e-05, 1.072536e+00, 6.283076e+03 ],
        [ 9.909900e-06, 3.141593e+00, 0.000000e+00 ],
        [ 2.948330e-06, 4.371735e-01, 1.256615e+04 ],
        [ 2.733800e-07, 5.295636e-02, 3.523118e+00 ],
        [ 1.633300e-07, 5.188202e+00, 2.629832e+01 ],
        [ 1.574500e-07, 3.685047e+00, 1.554204e+02 ],
        [ 9.425000e-08, 2.966711e-01, 1.884923e+04 ],
        [ 8.938000e-08, 2.057063e+00, 7.771377e+04 ],
        [ 6.940000e-08, 8.269154e-01, 7.755226e+02 ],
        [ 5.061000e-08, 4.662432e+00, 1.577344e+03 ],
        [ 4.060000e-08, 1.030670e+00, 7.113547e+00 ],
        [ 3.464000e-08, 5.140212e+00, 7.962980e+02 ],
        [ 3.172000e-08, 6.054793e+00, 5.507553e+03 ],
        [ 3.020000e-08, 1.192400e+00, 2.427286e+02 ],
        [ 2.885000e-08, 6.117059e+00, 5.296910e+02 ],
        [ 3.809000e-08, 3.440434e+00, 5.573143e+03 ],
        [ 2.719000e-08, 3.036325e-01, 3.981490e+02 ],
        [ 2.365000e-08, 4.376661e+00, 5.223694e+03 ],
        [ 2.538000e-08, 2.279664e+00, 5.535694e+02 ],
        [ 2.078000e-08, 3.754351e+00, 9.803211e-01 ],
        [ 1.675000e-08, 9.014995e-01, 9.517184e+02 ],
        [ 1.534000e-08, 5.758958e+00, 1.349867e+03 ],
        [ 1.224000e-08, 2.972858e+00, 2.146165e+03 ],
        [ 1.449000e-08, 4.364016e+00, 1.748016e+03 ],
        [ 1.341000e-08, 3.720194e+00, 1.194447e+03 ],
        [ 1.253000e-08, 2.948887e+00, 6.438496e+03 ],
        [ 9.990000e-09, 5.986653e+00, 6.286599e+03 ],
        [ 9.170000e-09, 4.797222e+00, 5.088629e+03 ],
        [ 8.290000e-09, 3.310214e+00, 2.132991e+02 ],
        [ 1.102000e-08, 1.270944e+00, 1.610007e+05 ],
        [ 7.640000e-09, 3.412316e+00, 5.486778e+03 ],
        [ 1.046000e-08, 6.037419e-01, 3.154687e+03 ],
        [ 8.870000e-09, 5.233640e+00, 7.084897e+03 ],
        [ 6.440000e-09, 1.599744e+00, 2.544314e+03 ],
        [ 6.810000e-09, 3.427429e+00, 4.694003e+03 ],
        [ 6.060000e-09, 2.476890e+00, 1.097708e+04 ],
        [ 7.060000e-09, 6.193697e+00, 4.690480e+03 ],
        [ 6.430000e-09, 1.981199e+00, 8.018209e+02 ],
        [ 5.020000e-09, 1.444155e+00, 6.836645e+03 ],
        [ 4.900000e-09, 2.338898e+00, 1.592596e+03 ],
        [ 4.580000e-09, 1.308679e+00, 4.292331e+03 ],
        [ 4.310000e-09, 3.542536e-02, 7.234794e+03 ],
        [ 3.490000e-09, 9.877927e-01, 6.040347e+03 ],
        [ 3.850000e-09, 1.570656e+00, 7.143070e+04 ],
        [ 3.710000e-09, 3.161491e+00, 6.309374e+03 ],
        [ 3.480000e-09, 6.498095e-01, 1.059382e+03 ],
        [ 4.580000e-09, 3.815057e+00, 1.498544e+05 ],
        [ 3.020000e-09, 1.917239e+00, 1.044739e+04 ],
        [ 3.060000e-09, 3.554059e+00, 8.031092e+03 ],
        [ 3.950000e-09, 4.937427e+00, 7.632943e+03 ],
        [ 3.140000e-09, 3.180584e+00, 2.352866e+03 ],
        [ 2.810000e-09, 4.417514e+00, 9.437763e+03 ],
        [ 2.760000e-09, 2.710758e+00, 3.894182e+03 ],
        [ 2.980000e-09, 2.520458e+00, 6.127655e+03 ],
        [ 2.720000e-09, 2.437019e-01, 2.513230e+04 ],
        [ 2.510000e-09, 5.544938e-01, 6.279553e+03 ],
        [ 2.240000e-09, 1.407902e+00, 4.705732e+03 ],
        [ 2.580000e-09, 5.295108e+00, 6.812767e+03 ],
        [ 1.780000e-09, 9.263667e-01, 1.990745e+03 ],
        [ 2.170000e-09, 6.854363e-01, 6.256778e+03 ],
        [ 1.540000e-09, 7.780863e-01, 1.414350e+04 ],
        [ 1.500000e-09, 2.406370e+00, 4.265982e+02 ],
        [ 1.960000e-09, 6.068779e+00, 6.408776e+02 ],
        [ 1.370000e-09, 2.219476e+00, 8.429241e+03 ],
        [ 1.270000e-09, 5.473803e+00, 1.203646e+04 ],
        [ 1.210000e-09, 3.327405e+00, 1.778985e+04 ],
        [ 1.230000e-09, 2.160045e+00, 1.021329e+04 ],
        [ 1.160000e-09, 4.970514e-01, 7.058598e+03 ],
        [ 1.380000e-09, 2.361817e+00, 1.150677e+04 ],
        [ 1.010000e-09, 8.630000e-01, 6.290189e+03 ],
        [ 1.180000e-09, 5.823178e+00, 7.860419e+03 ],
        [ 9.200000e-10, 5.116400e+00, 7.079374e+03 ],
        [ 1.250000e-09, 2.654245e+00, 8.886006e+04 ],
        [ 8.800000e-10, 4.311882e+00, 8.399685e+04 ],
        [ 8.400000e-10, 3.576828e+00, 1.673046e+04 ],
        [ 9.700000e-10, 5.580113e+00, 1.336797e+04 ],
        [ 1.020000e-09, 2.058531e+00, 8.730820e+01 ],
        [ 8.000000e-10, 4.738271e+00, 1.192625e+04 ],
        [ 8.000000e-10, 5.413441e+00, 1.097356e+04 ],
        [ 1.060000e-09, 4.109790e+00, 3.496033e+03 ],
        [ 7.500000e-10, 4.891669e+00, 5.643179e+03 ],
        [ 1.000000e-09, 3.626457e+00, 2.442876e+05 ],
        [ 9.600000e-10, 1.394436e+00, 6.681225e+03 ],
        [ 6.900000e-10, 1.883992e+00, 1.017726e+04 ],
        [ 8.700000e-10, 4.084215e-01, 1.101511e+04 ],
        [ 6.600000e-10, 9.944483e-01, 6.525804e+03 ],
        [ 6.600000e-10, 1.424718e+00, 9.917697e+03 ],
        [ 6.700000e-10, 5.512410e+00, 3.097884e+03 ],
        [ 7.600000e-10, 2.715647e+00, 4.164312e+03 ],
        [ 8.500000e-10, 4.965552e-01, 1.057541e+04 ],
        [ 7.700000e-10, 3.516939e+00, 1.185622e+04 ],
        [ 6.200000e-10, 3.625876e+00, 1.649636e+04 ],
        [ 5.400000e-10, 5.259574e+00, 3.340612e+03 ],
        [ 5.300000e-10, 1.109022e+00, 8.635942e+03 ],
        [ 4.900000e-10, 5.657611e+00, 2.042657e+04 ],
        [ 6.400000e-10, 5.792112e+00, 2.388894e+03 ],
        [ 4.600000e-10, 5.450927e+00, 6.275962e+03 ],
        [ 5.700000e-10, 4.970772e+00, 1.494532e+04 ],
        [ 4.300000e-10, 3.306857e+00, 9.779109e+03 ],
        [ 4.200000e-10, 1.614128e+00, 1.216800e+04 ],
        [ 4.900000e-10, 3.927155e+00, 5.729506e+03 ],
        [ 4.200000e-10, 6.348126e-01, 2.699735e+03 ],
        [ 5.600000e-10, 4.340386e+00, 9.095555e+04 ],
        [ 4.000000e-10, 5.668714e+00, 1.171296e+04 ],
        [ 3.900000e-10, 3.109113e+00, 1.620077e+04 ],
        [ 4.000000e-10, 5.713384e+00, 7.099330e+02 ],
        [ 5.300000e-10, 6.170673e+00, 2.331413e+05 ],
        [ 3.700000e-10, 3.209517e-01, 2.435678e+04 ],
        [ 3.500000e-10, 9.555707e-01, 1.729818e+04 ],
        [ 3.500000e-10, 6.491340e-01, 2.515860e+04 ],
        [ 4.100000e-10, 1.538504e+00, 6.514762e+04 ],
        [ 3.500000e-10, 7.765563e-01, 1.391602e+04 ],
        [ 3.100000e-10, 5.358974e+00, 5.331357e+03 ],
        [ 3.000000e-10, 4.481147e+00, 2.354323e+04 ],
        [ 3.200000e-10, 3.459770e+00, 7.477523e+03 ],
        [ 2.900000e-10, 3.466480e+00, 1.311972e+04 ],
        [ 3.800000e-10, 2.908640e+00, 1.272157e+04 ],
        [ 2.900000e-10, 3.133910e+00, 4.136910e+03 ],
        [ 3.500000e-10, 3.797171e+00, 1.435713e+05 ],
        [ 2.700000e-10, 9.572609e-01, 1.255904e+04 ],
        [ 2.600000e-10, 4.953269e+00, 5.753385e+03 ],
        [ 3.200000e-10, 3.499439e+00, 6.284056e+03 ],
        [ 2.600000e-10, 4.592763e+00, 5.884927e+03 ],
        [ 2.600000e-10, 1.539589e+00, 1.547176e+05 ],
        [ 2.300000e-10, 4.880129e+00, 1.309584e+04 ],
        [ 2.300000e-10, 3.593571e-01, 3.141538e+04 ],
        [ 2.400000e-10, 5.115151e+00, 1.831954e+04 ],
        [ 2.100000e-10, 5.738729e+00, 1.256967e+04 ],
        [ 2.100000e-10, 1.329012e+00, 1.098881e+04 ],
        [ 1.900000e-10, 2.242632e+00, 1.807370e+04 ],
        [ 1.900000e-10, 3.142532e+00, 6.496375e+03 ],
        [ 2.100000e-10, 2.801220e+00, 6.282096e+03 ],
        [ 2.300000e-10, 1.428876e-01, 6.283009e+03 ],
        [ 1.900000e-10, 4.282095e+00, 3.930210e+03 ],
        [ 1.600000e-10, 2.593321e-01, 1.179063e+04 ],
        [ 1.500000e-10, 6.096235e+00, 1.351787e+04 ],
        [ 2.000000e-10, 5.063589e+00, 6.283143e+03 ],
        [ 1.500000e-10, 1.076807e+00, 4.933208e+03 ],
        [ 1.900000e-10, 5.740006e+00, 3.128389e+03 ],
        [ 1.600000e-10, 6.189242e+00, 7.342458e+03 ],
        [ 1.300000e-10, 1.691050e+00, 4.535059e+03 ],
        [ 1.500000e-10, 3.369684e+00, 1.726015e+04 ],
        [ 1.000000e-10, 3.788850e+00, 2.200391e+04 ],
        [ 1.100000e-10, 2.128520e+00, 7.875672e+03 ]]

L3 = [
        [ 2.890580e-06, 5.841731e+00, 6.283076e+03 ],
        [ 2.071200e-07, 6.049839e+00, 1.256615e+04 ],
        [ 2.962000e-08, 5.195606e+00, 1.554204e+02 ],
        [ 2.527000e-08, 3.141593e+00, 0.000000e+00 ],
        [ 1.288000e-08, 4.721976e+00, 3.523118e+00 ],
        [ 6.350000e-09, 5.969049e+00, 2.427286e+02 ],
        [ 5.700000e-09, 5.541829e+00, 1.884923e+04 ],
        [ 4.020000e-09, 3.786066e+00, 5.535694e+02 ],
        [ 7.200000e-10, 4.371319e+00, 6.286599e+03 ],
        [ 6.700000e-10, 9.113390e-01, 6.127655e+03 ],
        [ 3.700000e-10, 5.286112e+00, 6.438496e+03 ],
        [ 2.100000e-10, 2.949172e+00, 6.309374e+03 ],
        [ 1.500000e-10, 3.630375e+00, 7.143070e+04 ],
        [ 1.100000e-10, 4.832615e+00, 2.513230e+04 ],
        [ 1.100000e-10, 5.842590e+00, 6.525804e+03 ],
        [ 1.200000e-10, 3.822970e+00, 7.058598e+03 ],
        [ 1.300000e-10, 2.399917e+00, 5.729506e+03 ],
        [ 8.000000e-11, 5.539033e-01, 6.040347e+03 ],
        [ 8.000000e-11, 1.462990e+00, 1.185622e+04 ],
        [ 8.000000e-11, 5.075359e+00, 6.256778e+03 ],
        [ 6.000000e-11, 2.888035e+00, 5.507553e+03 ],
        [ 5.000000e-11, 3.870193e+00, 1.203646e+04 ],
        [ 5.000000e-11, 2.708389e+00, 8.399685e+04 ]]

L4 = [
        [ 7.714000e-08, 4.141173e+00, 6.283076e+03 ],
        [ 1.016000e-08, 3.275736e+00, 1.256615e+04 ],
        [ 4.200000e-09, 4.189285e-01, 1.554204e+02 ],
        [ 4.700000e-10, 3.505911e+00, 1.884923e+04 ],
        [ 4.100000e-10, 3.140326e+00, 3.523118e+00 ],
        [ 3.500000e-10, 5.011108e+00, 5.573143e+03 ],
        [ 1.000000e-10, 5.648166e+00, 6.127655e+03 ],
        [ 1.300000e-10, 4.860924e-01, 7.771377e+04 ],
        [ 7.000000e-11, 2.841392e+00, 1.610007e+05 ],
        [ 4.000000e-11, 3.655090e+00, 2.513230e+04 ],
        [ 2.000000e-11, 5.488060e-01, 6.438496e+03 ]]

L5 = [
        [ 1.720000e-09, 2.748542e+00, 6.283076e+03 ],
        [ 5.000000e-10, 2.013530e+00, 1.554204e+02 ],
        [ 2.800000e-10, 2.933700e+00, 1.256615e+04 ],
        [ 5.000000e-11, 1.938292e+00, 1.884923e+04 ]]






def jd2SolLonVSOP(jd):
    """ Convert the given Julian date to solar longitude using VSOP87, J2000.0 epoch.

    Source: From VSOP87B.ear, ftp://ftp.imcce.fr/pub/ephem/planets/vsop87/

    Arguments:
        jd: [float] julian date

    Return:
        [float] solar longitude in radians, J2000.0 epoch

    """

    # Number of millennia since 2000
    T = (jd - 2451545.0)/365250.0

    terms = [L0, L1, L2, L3, L4, L5]
    term_sizes = [len(L0), len(L1), len(L2), len(L3), len(L4), len(L5)]

    # Calculate periodic terms
    S = np.zeros(6)
    for i, term_size in enumerate(term_sizes):

        L = terms[i]
        S[i] = np.sum([L[p][0]*np.cos((L[p][1] + L[p][2]*T)%(2*np.pi)) for p in range(term_size)])


    # Calculate the Solar longitude
    L = np.pi
    for i in range(6):
        L += S[i]*(T**i)

    # Wrap the solar longitude to [0, 2pi] range
    L = L%(2*np.pi)

    return L




def jd2SolLonSteyaert(jd):
    """ Convert the given Julian date to solar longitude, J2000.0 epoch. Chris Steyaert method.

    Reference: Steyaert, C. (1991). Calculating the solar longitude 2000.0. WGN, Journal of the International 
        Meteor Organization, 19, 31-34.

    Arguments:
        jd: [float] julian date

    Return:
        [float] solar longitude in radians, J2000.0 epoch

    """

    # Define time constants
    A0 = [334166, 3489, 350, 342, 314, 268, 234, 132, 127, 120, 99, 90, 86, 78, 75, 51, 49, 36, 32, 28, 27, 
        24, 21, 21, 20, 16, 13, 13]

    B0 = [4.669257, 4.6261, 2.744, 2.829, 3.628, 4.418, 6.135, 0.742, 2.037, 1.110, 5.233, 2.045, 3.508, 
        1.179, 2.533, 4.58, 4.21, 2.92, 5.85, 1.90, 0.31, 0.34, 4.81, 1.87, 2.46, 0.83, 3.41, 1.08]

    C0 = [6283.07585, 12566.1517, 5753.385, 3.523, 77713.771, 7860.419, 3930.210, 11506.77, 529.691, 1577.344, 
        5884.927, 26.298, 398.149, 5223.694, 5507.553, 18849.23, 775.52, 0.07, 11790.63, 796.3, 10977.08, 
        5486.78, 2544.31, 5573.14, 6069.78, 213.3, 2942.46, 20.78]

    A1 = [20606, 430, 43]
    B1 = [2.67823, 2.635, 1.59]
    C1 = [6283.07585, 12566.152, 3.52]

    A2 = [872, 29]
    B2 = [1.073, 0.44]
    C2 = [6283.07585, 12566.15]

    A3 = 29
    B3 = 5.84
    C3 = 6283.07585

    # Number of millennia since 2000
    T = (jd - 2451545.0)/365250.0

    # Mean solar longitude
    L0 = 4.8950627 + 6283.07585*T - 0.0000099*T**2

    # Wrap L0 to [0, 2pi] range
    L0 = L0%(2*np.pi)

    # Periodical terms
    S0 = np.sum([A0[i]*np.cos((B0[i] + C0[i]*T)%(2*np.pi)) for i in range(28)])
    S1 = np.sum([A1[i]*np.cos((B1[i] + C1[i]*T)%(2*np.pi)) for i in range(3)])
    S2 = np.sum([A2[i]*np.cos((B2[i] + C2[i]*T)%(2*np.pi)) for i in range(2)])
    S3 = A3*np.cos((B3 + C3*T)%(2*np.pi))

    # Solar longitude of J2000.0
    L = L0 + (S0 + S1*T + S2*T**2 + S3*T**3)*1e-7

    # Bound to solar longitude to the [0, 2pi] range
    L = L%(2*np.pi)

    return L



def jd2SolLonJPL(jd):
    """ Convert the given Julian date to solar longitude using JPL ephemerids, DE430, J2000.0 epoch.

    Source: From VSOP87B.ear, ftp://ftp.imcce.fr/pub/ephem/planets/vsop87/

    Arguments:
        jd: [float] julian date

    Return:
        [float] solar longitude in radians, J2000.0 epoch

    """

    # Load the JPL ephemerids data
    jpl_ephem_data = SPK.open(config.jpl_ephem_file)

    # Get the position of the Earth (km) and its velocity (km/s) at the given Julian date (J2000 epoch),
    # relative to the centre of mass of the Sun
    earth_pos, earth_vel = calcEarthRectangularCoordJPL(jd, jpl_ephem_data, sun_centre_origin=True)

    # Calculate the solar longitude
    la_sun = np.arctan2(earth_pos[1], earth_pos[0]) + np.pi
    la_sun = la_sun%(2*np.pi)

    return la_sun

jd2SolLonJPL_vect = np.vectorize(jd2SolLonJPL)


def _solLon2jd(solFunc, year, month, L):
    """ Internal function. Numerically calculates the Julian date from the given solar longitude with the
        given method. The inverse precision is around 0.5 milliseconds.

        Because the solar longitudes around Dec 31 and Jan 1 can be ambigous, the month also has to be given.

    Arguments:
        solFunc: [function] Function which calculates solar longitudes from Julian dates.
        year: [int] Year of the event.
        month: [int] Month of the event.
        L: [float] Solar longitude (radians), J2000 epoch.

    Return:
        JD: [float] Julian date.

    """

    def _previousMonth(year, month):
        """ Internal function. Calculates the previous month. """

        dt = datetime.datetime(year, month, 1, 0, 0, 0)

        # Get some day in the next month
        next_month = dt.replace(day=1) - datetime.timedelta(days=4)

        return next_month.year, next_month.month


    def _nextMonth(year, month):
        """ Internal function. Calculates the next month. """

        dt = datetime.datetime(year, month, 1, 0, 0, 0)

        # Get some day in the next month
        next_month = dt.replace(day=28) + datetime.timedelta(days=4)

        return next_month.year, next_month.month


    # Calculate the upper and lower bounds for the Julian date using the given year
    prev_year, prev_month = _previousMonth(year, month)
    jd_min = date2JD(prev_year, prev_month, 1, 0, 0, 0)

    next_year, next_month = _nextMonth(year, month)
    jd_max = date2JD(next_year, next_month, 28, 23, 59, 59)

    # Function which returns the difference between the given JD and solar longitude that is being matched
    sol_res_func = lambda jd, sol_lon: (np.sin(sol_lon) - np.sin(solFunc(jd)))**2 + (np.cos(sol_lon) \
        - np.cos(solFunc(jd)))**2

    # Find the Julian date corresponding to the given solar longitude
    res = scipy.optimize.minimize(sol_res_func, x0=[(jd_min + jd_max)/2], args=(L), \
        bounds=[(jd_min, jd_max)], tol=1e-13)

    return res.x[0]



def solLon2jdVSOP(*args):
    """ Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch using VSOP84.
    
    Arguments:
        year: [int] Year of the event.
        month: [int] Month of the event.
        L: [float] Solar longitude (radians), J2000 epoch.

    Return:
        JD: [float] Julian date.

    """

    return _solLon2jd(jd2SolLonVSOP, *args)



def solLon2jdSteyaert(*args):
    """ Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch. Chris Steyaert method. 
    
    Arguments:
        year: [int] Year of the event.
        month: [int] Month of the event.
        L: [float] Solar longitude (radians), J2000 epoch.

    Return:
        JD: [float] Julian date.

    """

    return _solLon2jd(jd2SolLonSteyaert, *args)



def solLon2jdJPL(*args):
    """ Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch using DE430 JPL ephemerids.
    
    Arguments:
        year: [int] Year of the event.
        month: [int] Month of the event.
        L: [float] Solar longitude (radians), J2000 epoch.

    Return:
        JD: [float] Julian date.

    """

    return _solLon2jd(jd2SolLonJPL, *args)




if __name__ == "__main__":

    ### Test all solar longitude functions and see the difference between the solar longitudes they return

    year = 2012

    for month in range(1, 13):

        for day in [1, 10, 20]:

            jd = date2JD(year, month, day, np.random.uniform(0, 24), np.random.uniform(0, 60), np.random.uniform(0, 60))

            #jd = date2JD(2011, 2, 4, 23, 20, 42.16)
            #jd = date2JD(2012, 12, 13, 8, 20, 33.07)
            #jd = date2JD(2012, 12, 13, 8, 21, 34.51)
            #jd = date2JD(2012, 12, 13, 8, 22, 20.10)
            #jd = date2JD(2012, 12, 13, 8, 24, 01.63)

            print('------------------------------------')
            print('JD: {:.12f}'.format(jd))

            print('Steyaert:', np.degrees(jd2SolLonSteyaert(jd)))
            print('VSOP:', np.degrees(jd2SolLonVSOP(jd)))
            print('JPL:', np.degrees(jd2SolLonJPL(jd)))


            # Solar longitude to Julian date

            jd_steyaert = solLon2jdSteyaert(year, month, jd2SolLonSteyaert(jd))
            print('JD inverse Steyaert: {:.12f} +/- {:.6f} s'.format(jd_steyaert, 24*60*60*abs(jd - jd_steyaert)))

            jd_vsop = solLon2jdVSOP(year, month, jd2SolLonVSOP(jd))
            print('JD inverse     VSOP: {:.12f} +/- {:.6f} s'.format(jd_vsop, 24*60*60*abs(jd - jd_vsop)))

            jd_jpl = solLon2jdJPL(year, month, jd2SolLonJPL(jd))
            print('JD inverse      JPL: {:.12f} +/- {:.6f} s'.format(jd_jpl, 24*60*60*abs(jd - jd_jpl)))
""" Functions for calculating solar longitude from Julian date and vice versa. """

from __future__ import print_function, division, absolute_import

import datetime

import numpy as np
import scipy.optimize

from jplephem.spk import SPK

from wmpl.Config import config
from wmpl.Utils.Earth import calcEarthRectangularCoordJPL
from wmpl.Utils.TrajConversions import date2JD





# Define periodical constants
L0 = [
        [ 1.753470e+00, 0.000000e+00, 0.000000e+00 ],
        [ 3.341656e-02, 4.669257e+00, 6.283076e+03 ],
        [ 3.489428e-04, 4.626102e+00, 1.256615e+04 ],
        [ 3.417572e-05, 2.828866e+00, 3.523118e+00 ],
        [ 3.497056e-05, 2.744118e+00, 5.753385e+03 ],
        [ 3.135899e-05, 3.627670e+00, 7.771377e+04 ],
        [ 2.676218e-05, 4.418083e+00, 7.860419e+03 ],
        [ 2.342691e-05, 6.135162e+00, 3.930210e+03 ],
        [ 1.273165e-05, 2.037097e+00, 5.296910e+02 ],
        [ 1.324294e-05, 7.424634e-01, 1.150677e+04 ],
        [ 9.018540e-06, 2.045054e+00, 2.629832e+01 ],
        [ 1.199167e-05, 1.109629e+00, 1.577344e+03 ],
        [ 8.572230e-06, 3.508492e+00, 3.981490e+02 ],
        [ 7.797860e-06, 1.178827e+00, 5.223694e+03 ],
        [ 9.902500e-06, 5.232681e+00, 5.884927e+03 ],
        [ 7.531410e-06, 2.533391e+00, 5.507553e+03 ],
        [ 5.052670e-06, 4.582926e+00, 1.884923e+04 ],
        [ 4.923920e-06, 4.205057e+00, 7.755226e+02 ],
        [ 3.566720e-06, 2.919541e+00, 6.731030e-02 ],
        [ 2.841250e-06, 1.898692e+00, 7.962980e+02 ],
        [ 2.428790e-06, 3.448145e-01, 5.486778e+03 ],
        [ 3.170870e-06, 5.849019e+00, 1.179063e+04 ],
        [ 2.711120e-06, 3.148626e-01, 1.097708e+04 ],
        [ 2.062170e-06, 4.806466e+00, 2.544314e+03 ],
        [ 2.054780e-06, 1.869538e+00, 5.573143e+03 ],
        [ 2.023180e-06, 2.457678e+00, 6.069777e+03 ],
        [ 1.262250e-06, 1.082955e+00, 2.077540e+01 ],
        [ 1.555160e-06, 8.330608e-01, 2.132991e+02 ],
        [ 1.151320e-06, 6.454491e-01, 9.803211e-01 ],
        [ 1.028510e-06, 6.359985e-01, 4.694003e+03 ],
        [ 1.017240e-06, 4.266798e+00, 7.113547e+00 ],
        [ 9.920600e-07, 6.209929e+00, 2.146165e+03 ],
        [ 1.322120e-06, 3.411183e+00, 2.942463e+03 ],
        [ 9.760700e-07, 6.810134e-01, 1.554204e+02 ],
        [ 8.512800e-07, 1.298708e+00, 6.275962e+03 ],
        [ 7.465100e-07, 1.755089e+00, 5.088629e+03 ],
        [ 1.018950e-06, 9.756928e-01, 1.572084e+04 ],
        [ 8.471100e-07, 3.670801e+00, 7.143070e+04 ],
        [ 7.354700e-07, 4.679266e+00, 8.018209e+02 ],
        [ 7.387400e-07, 3.503194e+00, 3.154687e+03 ],
        [ 7.875700e-07, 3.036975e+00, 1.203646e+04 ],
        [ 7.963700e-07, 1.807913e+00, 1.726015e+04 ],
        [ 8.580300e-07, 5.983226e+00, 1.610007e+05 ],
        [ 5.696300e-07, 2.784305e+00, 6.286599e+03 ],
        [ 6.114800e-07, 1.818399e+00, 7.084897e+03 ],
        [ 6.962700e-07, 8.329762e-01, 9.437763e+03 ],
        [ 5.611600e-07, 4.386949e+00, 1.414350e+04 ],
        [ 6.244900e-07, 3.977639e+00, 8.827390e+03 ],
        [ 5.114500e-07, 2.830683e-01, 5.856478e+03 ],
        [ 5.557700e-07, 3.470061e+00, 6.279553e+03 ],
        [ 4.103600e-07, 5.368176e+00, 8.429241e+03 ],
        [ 5.160500e-07, 1.332827e+00, 1.748016e+03 ],
        [ 5.199200e-07, 1.891495e-01, 1.213955e+04 ],
        [ 4.900000e-07, 4.873501e-01, 1.194447e+03 ],
        [ 3.920000e-07, 6.168330e+00, 1.044739e+04 ],
        [ 3.557000e-07, 1.775969e+00, 6.812767e+03 ],
        [ 3.677000e-07, 6.041339e+00, 1.021329e+04 ],
        [ 3.659600e-07, 2.569575e+00, 1.059382e+03 ],
        [ 3.329600e-07, 5.931028e-01, 1.778985e+04 ],
        [ 3.595400e-07, 1.708758e+00, 2.352866e+03 ],
        [ 4.093800e-07, 2.398509e+00, 1.965105e+04 ],
        [ 3.004700e-07, 2.739751e+00, 1.349867e+03 ],
        [ 3.041200e-07, 4.429446e-01, 8.399685e+04 ],
        [ 2.366300e-07, 4.847362e-01, 8.031092e+03 ],
        [ 2.357400e-07, 2.065281e+00, 3.340612e+03 ],
        [ 2.108900e-07, 4.148255e+00, 9.517184e+02 ],
        [ 2.473800e-07, 2.148476e-01, 3.590429e+00 ],
        [ 2.535200e-07, 3.164709e+00, 4.690480e+03 ],
        [ 2.282300e-07, 5.221952e+00, 4.705732e+03 ],
        [ 2.141900e-07, 1.425639e+00, 1.673046e+04 ],
        [ 2.189100e-07, 5.555943e+00, 5.535694e+02 ],
        [ 1.748100e-07, 4.560529e+00, 1.350651e+02 ],
        [ 1.992700e-07, 5.222091e+00, 1.216800e+04 ],
        [ 1.986000e-07, 5.774702e+00, 6.309374e+03 ],
        [ 2.030000e-07, 3.713379e-01, 2.838593e+02 ],
        [ 1.442100e-07, 4.193151e+00, 2.427286e+02 ],
        [ 1.622500e-07, 5.988378e+00, 1.176985e+04 ],
        [ 1.507700e-07, 4.195672e+00, 6.256778e+03 ],
        [ 1.912400e-07, 3.822200e+00, 2.358126e+04 ],
        [ 1.888800e-07, 5.386269e+00, 1.498544e+05 ],
        [ 1.434600e-07, 3.723551e+00, 3.802767e+01 ],
        [ 1.789800e-07, 2.214906e+00, 1.336797e+04 ],
        [ 1.205400e-07, 2.622296e+00, 9.555997e+02 ],
        [ 1.128700e-07, 1.773933e-01, 4.164312e+03 ],
        [ 1.397300e-07, 4.401346e+00, 6.681225e+03 ],
        [ 1.362100e-07, 1.889345e+00, 7.632943e+03 ],
        [ 1.250300e-07, 1.130524e+00, 5.522924e+00 ],
        [ 1.049800e-07, 5.359100e+00, 1.592596e+03 ],
        [ 9.803000e-08, 9.994817e-01, 1.137170e+04 ],
        [ 9.220000e-08, 4.571386e+00, 4.292331e+03 ],
        [ 1.032700e-07, 6.199822e+00, 6.438496e+03 ],
        [ 1.200300e-07, 1.003515e+00, 6.327837e+02 ],
        [ 1.082700e-07, 3.273452e-01, 1.030928e+02 ],
        [ 8.356000e-08, 4.539027e+00, 2.513230e+04 ],
        [ 1.000500e-07, 6.029150e+00, 5.746271e+03 ],
        [ 8.409000e-08, 3.299462e+00, 7.234794e+03 ],
        [ 8.006000e-08, 5.821453e+00, 2.844919e+01 ],
        [ 1.052300e-07, 9.387046e-01, 1.192625e+04 ],
        [ 7.686000e-08, 3.121436e+00, 7.238676e+03 ],
        [ 9.378000e-08, 2.624138e+00, 5.760498e+03 ],
        [ 8.127000e-08, 6.112278e+00, 4.732031e+03 ],
        [ 9.232000e-08, 4.834423e-01, 5.225774e+02 ],
        [ 9.802000e-08, 5.244139e+00, 2.751147e+04 ],
        [ 7.871000e-08, 9.959013e-01, 5.643179e+03 ],
        [ 8.123000e-08, 6.270530e+00, 4.265982e+02 ],
        [ 9.048000e-08, 5.336863e+00, 6.386169e+03 ],
        [ 8.621000e-08, 4.165372e+00, 7.058598e+03 ],
        [ 6.297000e-08, 4.717231e+00, 6.836645e+03 ],
        [ 7.575000e-08, 3.973814e+00, 1.149966e+04 ],
        [ 7.756000e-08, 2.957284e+00, 2.301354e+04 ],
        [ 7.314000e-08, 6.065252e-01, 1.151388e+04 ],
        [ 5.955000e-08, 2.876410e+00, 6.283143e+03 ],
        [ 6.534000e-08, 5.790464e+00, 1.807370e+04 ],
        [ 7.188000e-08, 3.998315e+00, 7.478160e+01 ],
        [ 7.346000e-08, 4.385824e+00, 3.163919e+02 ],
        [ 5.413000e-08, 5.391990e+00, 4.194846e+02 ],
        [ 5.127000e-08, 2.360596e+00, 1.097356e+04 ],
        [ 7.056000e-08, 3.225844e-01, 2.630839e+02 ],
        [ 6.624000e-08, 3.664742e+00, 1.729818e+04 ],
        [ 6.762000e-08, 5.911318e+00, 9.095555e+04 ],
        [ 4.938000e-08, 5.736722e+00, 9.917697e+03 ],
        [ 5.547000e-08, 2.451526e+00, 1.235285e+04 ],
        [ 5.958000e-08, 3.320513e+00, 6.283009e+03 ],
        [ 4.471000e-08, 2.063861e+00, 7.079374e+03 ],
        [ 6.153000e-08, 1.458233e+00, 2.331413e+05 ],
        [ 4.348000e-08, 4.423386e+00, 5.216580e+03 ],
        [ 6.124000e-08, 1.074948e+00, 1.980483e+04 ],
        [ 4.488000e-08, 3.652850e+00, 2.061855e+02 ],
        [ 4.020000e-08, 8.399582e-01, 2.035532e+01 ],
        [ 5.188000e-08, 4.065039e+00, 6.208294e+03 ],
        [ 5.307000e-08, 3.821673e-01, 3.144168e+04 ],
        [ 3.785000e-08, 2.343692e+00, 3.881335e+00 ],
        [ 4.497000e-08, 3.272308e+00, 1.101511e+04 ],
        [ 4.132000e-08, 9.212985e-01, 3.738761e+03 ],
        [ 3.521000e-08, 5.978448e+00, 3.894182e+03 ],
        [ 4.215000e-08, 1.906017e+00, 2.458316e+02 ],
        [ 3.701000e-08, 5.030675e+00, 5.368045e+02 ],
        [ 3.866000e-08, 1.826330e+00, 1.185622e+04 ],
        [ 3.652000e-08, 1.018406e+00, 1.620077e+04 ],
        [ 3.390000e-08, 9.778487e-01, 8.635942e+03 ],
        [ 3.737000e-08, 2.953789e+00, 3.128389e+03 ],
        [ 3.507000e-08, 3.712919e+00, 6.290189e+03 ],
        [ 3.086000e-08, 3.646469e+00, 1.063667e+01 ],
        [ 3.397000e-08, 1.105894e+00, 1.471232e+04 ],
        [ 3.334000e-08, 8.368490e-01, 6.496375e+03 ],
        [ 2.805000e-08, 2.585037e+00, 1.431417e+04 ],
        [ 3.650000e-08, 1.083441e+00, 8.886006e+04 ],
        [ 3.388000e-08, 3.201824e+00, 5.120601e+03 ],
        [ 3.252000e-08, 3.478575e+00, 6.133513e+03 ],
        [ 2.553000e-08, 3.948690e+00, 1.990745e+03 ],
        [ 3.520000e-08, 2.055597e+00, 2.442876e+05 ],
        [ 2.565000e-08, 1.560724e+00, 2.354323e+04 ],
        [ 2.621000e-08, 3.856394e+00, 2.666070e+02 ],
        [ 2.954000e-08, 3.396926e+00, 9.225539e+03 ],
        [ 2.876000e-08, 6.026333e+00, 1.547176e+05 ],
        [ 2.395000e-08, 1.161301e+00, 1.098419e+04 ],
        [ 3.161000e-08, 1.327989e+00, 1.087399e+04 ],
        [ 3.163000e-08, 5.089465e+00, 2.122839e+04 ],
        [ 2.361000e-08, 4.272125e+00, 6.040347e+03 ],
        [ 3.030000e-08, 1.802100e+00, 3.537189e+04 ],
        [ 2.343000e-08, 3.576890e+00, 1.096997e+04 ],
        [ 2.618000e-08, 2.578702e+00, 2.248385e+04 ],
        [ 2.113000e-08, 3.717112e+00, 6.514762e+04 ],
        [ 2.019000e-08, 8.139392e-01, 1.706729e+02 ],
        [ 2.003000e-08, 3.809102e-01, 6.172870e+03 ],
        [ 2.506000e-08, 3.743782e+00, 1.057541e+04 ],
        [ 2.381000e-08, 1.058136e-01, 7.046237e+00 ],
        [ 1.949000e-08, 4.868925e+00, 3.602787e+01 ],
        [ 2.074000e-08, 4.228025e+00, 5.650292e+03 ],
        [ 1.924000e-08, 5.594605e+00, 6.282096e+03 ],
        [ 1.949000e-08, 1.069996e+00, 5.230807e+03 ],
        [ 1.988000e-08, 5.197347e+00, 6.262300e+03 ],
        [ 1.887000e-08, 3.743657e+00, 2.387844e+01 ],
        [ 1.787000e-08, 1.259297e+00, 1.255904e+04 ],
        [ 1.883000e-08, 1.903641e+00, 1.525247e+01 ],
        [ 1.816000e-08, 3.680838e+00, 1.511047e+04 ],
        [ 1.701000e-08, 4.411096e+00, 1.102063e+02 ],
        [ 1.990000e-08, 3.932958e+00, 6.206810e+03 ],
        [ 2.103000e-08, 7.535494e-01, 1.352175e+04 ],
        [ 1.774000e-08, 4.875052e-01, 1.551045e+03 ],
        [ 1.882000e-08, 8.668546e-01, 2.200391e+04 ],
        [ 1.924000e-08, 1.229011e+00, 7.099330e+02 ],
        [ 2.073000e-08, 4.625316e+00, 6.037244e+03 ],
        [ 1.924000e-08, 6.023184e-01, 6.284056e+03 ],
        [ 1.596000e-08, 3.983329e+00, 1.391602e+04 ],
        [ 1.664000e-08, 4.419470e+00, 8.662240e+03 ],
        [ 1.971000e-08, 1.045607e+00, 1.820933e+04 ],
        [ 1.942000e-08, 4.313360e+00, 6.244943e+03 ],
        [ 1.476000e-08, 9.327452e-01, 2.379164e+03 ],
        [ 1.810000e-08, 4.911214e-01, 1.484473e+00 ],
        [ 1.346000e-08, 1.515748e+00, 4.136910e+03 ],
        [ 1.528000e-08, 5.618336e+00, 6.127655e+03 ],
        [ 1.791000e-08, 3.221911e+00, 3.930210e+04 ],
        [ 1.747000e-08, 3.055953e+00, 1.831954e+04 ],
        [ 1.432000e-08, 4.511240e+00, 2.042657e+04 ],
        [ 1.695000e-08, 2.204942e-01, 2.515860e+04 ],
        [ 1.242000e-08, 4.466654e+00, 1.725663e+04 ],
        [ 1.463000e-08, 4.692486e+00, 1.494532e+04 ],
        [ 1.205000e-08, 1.869119e+00, 4.590910e+03 ],
        [ 1.190000e-08, 2.741700e+00, 1.256967e+04 ],
        [ 1.222000e-08, 5.181201e+00, 5.333900e+03 ],
        [ 1.390000e-08, 5.428886e+00, 1.435713e+05 ],
        [ 1.473000e-08, 1.704871e+00, 1.171296e+04 ],
        [ 1.362000e-08, 2.610695e+00, 6.062663e+03 ],
        [ 1.148000e-08, 6.030084e+00, 3.634621e+03 ],
        [ 1.198000e-08, 5.152961e+00, 1.017726e+04 ],
        [ 1.266000e-08, 1.142249e-01, 1.842263e+04 ],
        [ 1.411000e-08, 1.099109e+00, 3.496033e+03 ],
        [ 1.349000e-08, 2.998046e+00, 1.765478e+04 ],
        [ 1.253000e-08, 2.798449e+00, 1.672838e+05 ],
        [ 1.311000e-08, 1.609411e+00, 5.481255e+03 ],
        [ 1.079000e-08, 6.203045e+00, 3.286357e+00 ],
        [ 1.181000e-08, 1.206538e+00, 1.315420e+02 ],
        [ 1.254000e-08, 5.451033e+00, 6.076890e+03 ],
        [ 1.036000e-08, 2.321370e+00, 7.342458e+03 ],
        [ 1.117000e-08, 3.884234e-01, 9.491756e+02 ],
        [ 9.660000e-09, 3.183521e+00, 1.108729e+04 ],
        [ 1.171000e-08, 3.396352e+00, 1.256263e+04 ],
        [ 1.121000e-08, 7.263181e-01, 2.204126e+02 ],
        [ 1.024000e-08, 2.193811e+00, 1.140368e+04 ],
        [ 8.880000e-09, 3.911672e+00, 4.686889e+03 ],
        [ 9.100000e-09, 1.988027e+00, 7.358765e+02 ],
        [ 8.230000e-09, 4.882220e-01, 2.407292e+04 ],
        [ 1.096000e-08, 6.173778e+00, 5.436993e+03 ],
        [ 9.080000e-09, 4.495915e-01, 7.477523e+03 ],
        [ 9.740000e-09, 1.529963e+00, 9.623688e+03 ],
        [ 8.400000e-09, 1.795406e+00, 5.429879e+03 ],
        [ 7.780000e-09, 6.177037e+00, 3.813304e+01 ],
        [ 7.760000e-09, 4.098600e+00, 1.422709e+01 ],
        [ 1.068000e-08, 4.642096e+00, 4.323231e+04 ],
        [ 9.540000e-09, 1.499859e+00, 1.162475e+03 ],
        [ 9.070000e-09, 8.698687e-01, 1.034430e+04 ],
        [ 9.310000e-09, 4.060499e+00, 2.876692e+04 ],
        [ 7.390000e-09, 5.043682e+00, 6.398973e+02 ],
        [ 9.650000e-09, 3.442867e+00, 1.589073e+03 ],
        [ 7.630000e-09, 5.863048e+00, 1.685848e+04 ],
        [ 9.530000e-09, 4.208015e+00, 1.119038e+04 ],
        [ 7.080000e-09, 1.724323e+00, 1.309584e+04 ],
        [ 9.690000e-09, 1.644372e+00, 2.908881e+04 ],
        [ 7.170000e-09, 1.668868e-01, 1.172935e+01 ],
        [ 9.620000e-09, 3.531019e+00, 1.241659e+04 ],
        [ 7.450000e-09, 5.777411e+00, 1.259245e+04 ],
        [ 6.720000e-09, 1.910912e+00, 3.932153e+00 ],
        [ 6.710000e-09, 5.462408e+00, 1.805293e+04 ],
        [ 6.750000e-09, 6.283116e+00, 4.535059e+03 ],
        [ 6.840000e-09, 3.997501e-01, 5.849364e+03 ],
        [ 7.990000e-09, 2.985906e-01, 1.213244e+04 ],
        [ 7.580000e-09, 9.637072e-01, 1.052268e+03 ],
        [ 7.820000e-09, 5.338757e+00, 1.351787e+04 ],
        [ 7.300000e-09, 1.701150e+00, 1.726727e+04 ],
        [ 7.490000e-09, 2.596070e+00, 1.160986e+04 ],
        [ 7.340000e-09, 2.784205e+00, 6.408776e+02 ],
        [ 6.880000e-09, 5.150977e+00, 1.649636e+04 ],
        [ 7.700000e-09, 1.624593e+00, 4.701117e+03 ],
        [ 6.330000e-09, 2.205884e+00, 2.593412e+04 ],
        [ 7.600000e-09, 4.213172e+00, 3.773736e+02 ],
        [ 5.840000e-09, 2.134201e+00, 1.055759e+04 ],
        [ 5.720000e-09, 2.464975e-01, 9.779109e+03 ],
        [ 5.730000e-09, 3.164353e+00, 5.332141e+02 ],
        [ 6.850000e-09, 3.193443e+00, 1.214667e+04 ],
        [ 6.750000e-09, 9.617923e-01, 1.045450e+04 ],
        [ 6.480000e-09, 1.463273e+00, 6.268849e+03 ],
        [ 5.890000e-09, 2.505435e+00, 3.097884e+03 ],
        [ 5.510000e-09, 5.281063e+00, 9.388006e+03 ],
        [ 6.960000e-09, 3.653422e+00, 4.804209e+03 ],
        [ 6.690000e-09, 2.510301e+00, 2.388894e+03 ],
        [ 5.500000e-09, 6.883090e-02, 2.019909e+04 ],
        [ 6.290000e-09, 4.133510e+00, 4.589273e+04 ],
        [ 6.780000e-09, 6.091902e+00, 1.356253e+02 ],
        [ 5.930000e-09, 1.501295e+00, 2.268582e+05 ],
        [ 5.420000e-09, 3.585820e+00, 6.148011e+03 ],
        [ 5.990000e-09, 6.120581e+00, 1.887553e+04 ],
        [ 6.820000e-09, 5.022136e+00, 1.725304e+04 ],
        [ 5.650000e-09, 4.293092e+00, 1.193337e+04 ],
        [ 4.860000e-09, 7.774620e-01, 2.740156e+01 ],
        [ 5.030000e-09, 5.897456e-01, 1.567108e+04 ],
        [ 6.160000e-09, 4.065399e+00, 2.274761e+02 ],
        [ 5.370000e-09, 2.150644e+00, 2.195416e+04 ],
        [ 6.690000e-09, 6.069955e+00, 4.716252e+04 ],
        [ 5.400000e-09, 2.834442e+00, 5.326787e+03 ],
        [ 4.740000e-09, 4.034683e-01, 6.915860e+03 ],
        [ 5.320000e-09, 5.261311e+00, 1.098881e+04 ],
        [ 5.820000e-09, 3.245331e+00, 1.537788e+02 ],
        [ 6.410000e-09, 3.247118e+00, 2.107035e+03 ],
        [ 6.190000e-09, 3.083021e+00, 3.301902e+04 ],
        [ 4.660000e-09, 3.149824e+00, 1.044027e+04 ],
        [ 4.660000e-09, 9.070884e-01, 5.966684e+03 ],
        [ 5.280000e-09, 8.192645e-01, 8.135503e+02 ],
        [ 6.030000e-09, 3.813789e+00, 3.164282e+05 ],
        [ 5.590000e-09, 1.818950e+00, 1.799603e+04 ],
        [ 4.370000e-09, 2.286317e+00, 6.303851e+03 ],
        [ 5.180000e-09, 4.860683e+00, 2.059724e+04 ],
        [ 4.240000e-09, 6.235200e+00, 6.489261e+03 ],
        [ 5.180000e-09, 6.176178e+00, 2.438175e-01 ],
        [ 4.040000e-09, 5.728043e+00, 5.642198e+03 ],
        [ 4.580000e-09, 1.341178e+00, 6.287008e+03 ],
        [ 5.480000e-09, 5.684545e+00, 1.554275e+05 ],
        [ 5.470000e-09, 1.033915e+00, 3.646350e+03 ],
        [ 4.280000e-09, 4.698097e+00, 8.460828e+02 ],
        [ 4.130000e-09, 6.025207e+00, 6.279485e+03 ],
        [ 5.340000e-09, 3.030306e+00, 6.656749e+04 ],
        [ 3.830000e-09, 1.490556e+00, 1.980095e+04 ],
        [ 4.110000e-09, 5.283842e+00, 1.845108e+04 ],
        [ 3.520000e-09, 4.688916e+00, 4.907302e+03 ],
        [ 4.800000e-09, 5.365727e+00, 3.489244e+02 ],
        [ 3.440000e-09, 5.891575e+00, 6.546160e+03 ],
        [ 3.400000e-09, 3.755744e-01, 1.311972e+04 ],
        [ 4.340000e-09, 4.984179e+00, 6.702560e+03 ],
        [ 3.320000e-09, 2.689093e+00, 2.929662e+04 ],
        [ 4.480000e-09, 2.164785e+00, 5.905702e+03 ],
        [ 3.440000e-09, 2.065466e+00, 4.975703e+01 ],
        [ 3.150000e-09, 1.240238e+00, 4.061219e+03 ],
        [ 3.240000e-09, 2.308975e+00, 5.017508e+03 ],
        [ 4.130000e-09, 1.717169e-01, 6.286666e+03 ],
        [ 4.310000e-09, 3.866011e+00, 1.248989e+04 ],
        [ 3.490000e-09, 4.553725e+00, 4.933208e+03 ],
        [ 3.230000e-09, 4.197114e-01, 1.077089e+04 ],
        [ 3.410000e-09, 2.686129e+00, 1.104570e+01 ],
        [ 3.160000e-09, 3.529666e+00, 1.778273e+04 ],
        [ 3.150000e-09, 5.633573e+00, 5.688219e+02 ],
        [ 3.400000e-09, 3.835712e+00, 1.066069e+04 ],
        [ 2.960000e-09, 6.270327e-01, 2.099539e+04 ],
        [ 4.050000e-09, 1.000850e+00, 1.646033e+04 ],
        [ 4.140000e-09, 1.219988e+00, 5.109273e+04 ],
        [ 3.360000e-09, 4.714659e+00, 6.179983e+03 ],
        [ 3.610000e-09, 3.712356e+00, 2.823723e+04 ],
        [ 3.270000e-09, 1.056065e+00, 1.191914e+04 ],
        [ 3.270000e-09, 6.142224e+00, 6.254627e+03 ],
        [ 2.680000e-09, 2.472243e+00, 6.647560e+02 ],
        [ 2.690000e-09, 1.862109e+00, 2.314156e+04 ],
        [ 3.450000e-09, 9.346129e-01, 6.058731e+03 ],
        [ 3.530000e-09, 4.500337e+00, 3.694923e+04 ],
        [ 3.440000e-09, 6.261661e+00, 2.435678e+04 ],
        [ 3.000000e-09, 4.469640e+00, 6.418141e+03 ],
        [ 2.600000e-09, 4.049675e+00, 6.525804e+03 ],
        [ 2.980000e-09, 2.200188e+00, 1.561375e+05 ],
        [ 2.530000e-09, 3.499308e+00, 2.986433e+04 ],
        [ 2.540000e-09, 2.448835e+00, 5.331357e+03 ],
        [ 2.960000e-09, 8.434118e-01, 5.729506e+03 ],
        [ 2.410000e-09, 2.007213e+00, 1.673758e+04 ],
        [ 3.110000e-09, 1.236680e+00, 6.281591e+03 ],
        [ 3.320000e-09, 3.555769e+00, 7.668637e+03 ],
        [ 2.360000e-09, 2.474372e+00, 6.245048e+03 ],
        [ 2.640000e-09, 4.439244e+00, 1.296430e+04 ],
        [ 2.570000e-09, 1.796545e+00, 1.108017e+04 ],
        [ 2.600000e-09, 3.330776e+00, 5.888450e+03 ],
        [ 2.850000e-09, 3.088636e-01, 1.182316e+04 ],
        [ 2.900000e-09, 5.701419e+00, 7.767377e+01 ],
        [ 2.550000e-09, 4.009397e+00, 5.881404e+03 ],
        [ 2.530000e-09, 4.733185e+00, 1.672335e+04 ],
        [ 2.280000e-09, 9.533366e-01, 5.540086e+03 ],
        [ 2.810000e-09, 1.291996e+00, 2.280574e+04 ],
        [ 3.190000e-09, 1.386332e+00, 1.630962e+05 ],
        [ 2.240000e-09, 1.651563e+00, 1.002790e+04 ],
        [ 2.260000e-09, 3.412538e-01, 1.779696e+04 ],
        [ 2.360000e-09, 4.198174e+00, 1.966976e+01 ],
        [ 2.810000e-09, 4.141149e+00, 1.253985e+04 ],
        [ 2.750000e-09, 5.503069e+00, 3.253255e+01 ],
        [ 2.230000e-09, 5.233342e+00, 5.689837e+01 ],
        [ 2.170000e-09, 6.085988e+00, 6.805653e+03 ],
        [ 2.280000e-09, 5.171144e+00, 1.172007e+04 ],
        [ 2.740000e-09, 4.507168e+00, 6.016469e+03 ],
        [ 2.450000e-09, 3.964863e+00, 2.277520e+01 ],
        [ 2.200000e-09, 4.720781e+00, 6.628559e+00 ],
        [ 2.070000e-09, 5.717014e+00, 4.155079e+01 ],
        [ 2.040000e-09, 3.912274e+00, 2.699735e+03 ],
        [ 2.090000e-09, 8.688197e-01, 6.321104e+03 ],
        [ 2.000000e-09, 2.119844e+00, 4.274518e+03 ],
        [ 2.000000e-09, 5.398399e+00, 6.019992e+03 ],
        [ 2.090000e-09, 5.676063e+00, 1.129347e+04 ],
        [ 2.520000e-09, 1.649657e+00, 9.380960e+03 ],
        [ 2.750000e-09, 5.048269e+00, 7.329713e+01 ],
        [ 2.080000e-09, 1.882073e+00, 1.130058e+04 ],
        [ 2.060000e-09, 5.072849e+00, 6.277553e+03 ],
        [ 2.720000e-09, 7.464092e-01, 1.975493e+03 ],
        [ 1.990000e-09, 3.308131e+00, 2.274341e+04 ],
        [ 2.690000e-09, 4.485608e+00, 6.447199e+04 ],
        [ 1.920000e-09, 2.174636e+00, 5.863591e+03 ],
        [ 2.280000e-09, 5.853731e+00, 1.280188e+02 ],
        [ 2.610000e-09, 2.643212e+00, 5.502294e+04 ],
        [ 1.960000e-09, 2.485376e+00, 1.606218e+04 ],
        [ 1.870000e-09, 1.318918e+00, 2.982631e+04 ],
        [ 2.200000e-09, 5.750121e+00, 2.942951e+01 ],
        [ 1.870000e-09, 4.032306e+00, 4.679650e+02 ],
        [ 2.000000e-09, 5.605553e+00, 1.066495e+03 ],
        [ 2.310000e-09, 1.098027e+00, 1.234181e+04 ],
        [ 1.980000e-09, 2.947423e-01, 1.495632e+02 ],
        [ 2.490000e-09, 5.104770e+00, 7.875672e+03 ],
        [ 1.790000e-09, 8.706620e-01, 1.272157e+04 ],
        [ 2.030000e-09, 1.569143e+00, 2.828699e+04 ],
        [ 1.980000e-09, 3.540616e+00, 3.091413e+01 ],
        [ 1.710000e-09, 3.453660e+00, 5.327476e+03 ],
        [ 1.830000e-09, 7.232542e-01, 6.272030e+03 ],
        [ 2.160000e-09, 2.971752e+00, 1.940280e+04 ],
        [ 1.680000e-09, 2.515599e+00, 2.393786e+04 ],
        [ 1.950000e-09, 9.045393e-02, 1.564007e+02 ],
        [ 2.160000e-09, 4.216238e-01, 2.353971e+04 ],
        [ 1.890000e-09, 3.754253e-01, 9.814604e+03 ],
        [ 2.070000e-09, 2.017525e+00, 2.380045e+05 ],
        [ 2.180000e-09, 2.368359e+00, 1.662737e+04 ],
        [ 1.660000e-09, 4.231830e+00, 1.684067e+04 ],
        [ 2.000000e-09, 2.021533e+00, 1.609768e+04 ],
        [ 1.690000e-09, 9.131873e-01, 9.597923e+01 ],
        [ 2.110000e-09, 5.733706e+00, 1.518973e+02 ],
        [ 2.040000e-09, 4.264309e-01, 5.154639e+02 ],
        [ 2.120000e-09, 3.002231e+00, 1.204357e+04 ],
        [ 1.920000e-09, 5.461536e+00, 6.379055e+03 ],
        [ 1.600000e-09, 6.237984e+00, 2.022534e+02 ],
        [ 2.150000e-09, 2.088907e-01, 5.621843e+03 ],
        [ 1.500000e-09, 3.129998e+00, 7.998211e+02 ],
        [ 1.870000e-09, 2.123458e+00, 4.916633e+02 ],
        [ 1.920000e-09, 1.339288e+00, 3.946259e+02 ],
        [ 1.490000e-09, 2.656976e+00, 2.133564e+01 ],
        [ 1.460000e-09, 5.580212e+00, 4.123711e+02 ],
        [ 1.560000e-09, 3.756577e+00, 1.232342e+04 ],
        [ 1.430000e-09, 3.282485e+00, 2.982144e+01 ],
        [ 1.440000e-09, 1.078625e+00, 1.265567e+03 ],
        [ 1.480000e-09, 2.338663e-01, 1.002184e+04 ],
        [ 1.640000e-09, 9.428873e-01, 1.491902e+04 ],
        [ 1.930000e-09, 5.927511e+00, 4.087944e+04 ],
        [ 1.400000e-09, 4.976124e+00, 1.589435e+02 ],
        [ 1.480000e-09, 2.616518e+00, 1.715706e+04 ],
        [ 1.400000e-09, 3.669479e+00, 2.608402e+04 ],
        [ 1.470000e-09, 5.099682e+00, 6.612329e+02 ],
        [ 1.470000e-09, 1.369767e+00, 4.171426e+03 ],
        [ 1.340000e-09, 4.794326e+00, 1.111866e+02 ],
        [ 1.400000e-09, 1.277480e+00, 1.076635e+02 ],
        [ 1.710000e-09, 2.775862e+00, 2.673595e+04 ],
        [ 1.830000e-09, 5.434184e+00, 3.696998e+02 ],
        [ 1.340000e-09, 3.091329e+00, 1.781252e+01 ],
        [ 1.320000e-09, 3.056339e+00, 2.249096e+04 ],
        [ 1.810000e-09, 4.229507e+00, 9.669709e+02 ],
        [ 1.660000e-09, 3.676604e+00, 1.550862e+04 ],
        [ 1.520000e-09, 5.288858e+00, 1.266924e+04 ],
        [ 1.500000e-09, 5.868194e+00, 9.723863e+04 ],
        [ 1.450000e-09, 5.073308e+00, 8.730820e+01 ],
        [ 1.330000e-09, 5.654711e+00, 3.197231e+01 ],
        [ 1.240000e-09, 2.833262e+00, 1.256622e+04 ],
        [ 1.400000e-09, 5.842127e+00, 2.247674e+04 ],
        [ 1.340000e-09, 3.128581e+00, 3.221720e+04 ],
        [ 1.370000e-09, 8.648746e-01, 9.924810e+03 ],
        [ 1.720000e-09, 1.983696e+00, 1.742425e+05 ],
        [ 1.700000e-09, 4.411153e+00, 3.275745e+05 ],
        [ 1.280000e-09, 4.490876e+00, 3.141538e+04 ],
        [ 1.510000e-09, 4.654209e-01, 3.960965e+04 ],
        [ 1.530000e-09, 3.788018e+00, 1.736325e+04 ],
        [ 1.650000e-09, 5.316541e+00, 1.694376e+04 ],
        [ 1.650000e-09, 4.067476e+00, 5.895315e+04 ],
        [ 1.180000e-09, 6.384633e-01, 6.065916e+00 ],
        [ 1.590000e-09, 8.608696e-01, 2.219950e+05 ],
        [ 1.190000e-09, 5.964329e+00, 1.385895e+03 ],
        [ 1.140000e-09, 5.165161e+00, 2.568587e+04 ],
        [ 1.120000e-09, 4.928892e+00, 5.680326e+01 ],
        [ 1.190000e-09, 2.406267e+00, 1.863593e+04 ],
        [ 1.150000e-09, 2.337448e-01, 4.189244e+02 ],
        [ 1.130000e-09, 2.793876e+00, 6.272439e+03 ],
        [ 1.220000e-09, 9.369407e-01, 2.449241e+04 ],
        [ 1.330000e-09, 4.871556e+00, 2.234526e+04 ],
        [ 1.130000e-09, 3.803629e+00, 6.293713e+03 ],
        [ 1.300000e-09, 3.729960e+00, 1.257327e+04 ],
        [ 1.070000e-09, 3.402272e+00, 2.139354e+04 ],
        [ 1.220000e-09, 1.003857e+00, 9.514313e+04 ],
        [ 1.400000e-09, 1.094131e+00, 4.480965e+04 ],
        [ 1.120000e-09, 6.054624e+00, 4.337117e+02 ],
        [ 1.230000e-09, 4.556402e+00, 2.394244e+05 ],
        [ 1.040000e-09, 1.549315e+00, 1.279515e+02 ],
        [ 1.110000e-09, 3.041865e+00, 8.982811e+03 ],
        [ 1.020000e-09, 4.124485e+00, 1.566404e+04 ],
        [ 1.070000e-09, 4.679194e+00, 7.769076e+04 ],
        [ 1.180000e-09, 4.523202e+00, 1.900465e+04 ],
        [ 1.070000e-09, 5.717745e+00, 7.773678e+04 ],
        [ 1.030000e-09, 4.793321e+00, 3.379454e+04 ],
        [ 1.430000e-09, 1.812018e+00, 4.214069e+03 ],
        [ 1.020000e-09, 3.758178e+00, 5.886454e+04 ],
        [ 1.250000e-09, 1.144192e+00, 6.256702e+02 ],
        [ 1.240000e-09, 3.277365e+00, 1.256608e+04 ],
        [ 1.100000e-09, 1.087057e+00, 2.787043e+03 ],
        [ 1.020000e-09, 4.751196e+00, 1.224265e+04 ],
        [ 1.010000e-09, 4.912894e+00, 4.016721e+02 ],
        [ 1.380000e-09, 2.895790e+00, 9.411465e+03 ],
        [ 1.290000e-09, 1.235160e+00, 1.202935e+04 ],
        [ 1.380000e-09, 2.456547e+00, 7.576560e+03 ],
        [ 9.800000e-10, 5.447718e+00, 2.902649e+04 ],
        [ 1.340000e-09, 1.431052e+00, 8.646461e+04 ],
        [ 1.080000e-09, 9.898977e-01, 5.636065e+03 ],
        [ 1.170000e-09, 5.173628e+00, 3.452031e+04 ],
        [ 9.700000e-10, 3.347171e+00, 1.631098e+04 ],
        [ 1.070000e-09, 2.945479e+00, 2.460261e+04 ],
        [ 9.800000e-10, 4.370419e+00, 3.451326e+04 ],
        [ 1.250000e-09, 2.721828e+00, 2.406581e+04 ],
        [ 1.110000e-09, 5.889913e-01, 6.303431e+03 ],
        [ 1.020000e-09, 6.693803e-01, 1.023958e+04 ],
        [ 1.190000e-09, 1.216665e+00, 1.478867e+03 ],
        [ 1.110000e-09, 1.043219e+00, 1.652266e+04 ],
        [ 9.400000e-10, 4.310763e+00, 2.688032e+04 ],
        [ 9.800000e-10, 4.142484e+00, 6.599468e+03 ],
        [ 9.500000e-10, 2.898077e+00, 3.491141e+04 ],
        [ 9.700000e-10, 8.964232e-01, 7.198063e+04 ],
        [ 9.500000e-10, 6.571773e-01, 6.288599e+03 ],
        [ 1.160000e-09, 4.199672e+00, 2.067007e+02 ],
        [ 9.500000e-10, 1.783155e+00, 1.813929e+04 ],
        [ 9.900000e-10, 1.374378e+00, 1.039027e+03 ],
        [ 1.260000e-09, 3.216425e+00, 3.052819e+05 ],
        [ 9.400000e-10, 6.899503e-01, 7.834121e+03 ],
        [ 9.500000e-10, 5.581114e+00, 3.104930e+03 ],
        [ 1.080000e-09, 5.269664e-01, 2.767458e+02 ],
        [ 1.240000e-09, 3.438999e+00, 1.721470e+05 ],
        [ 8.700000e-10, 1.187649e+00, 1.884211e+04 ],
        [ 8.700000e-10, 9.094166e-02, 1.514139e+04 ],
        [ 1.080000e-09, 1.033634e+00, 8.257698e+04 ],
        [ 1.190000e-09, 2.867291e+00, 9.039482e+04 ],
        [ 1.040000e-09, 3.392186e+00, 2.909729e+02 ],
        [ 9.400000e-10, 5.682849e+00, 3.236710e+04 ],
        [ 1.170000e-09, 7.847596e-01, 8.328691e+04 ],
        [ 1.050000e-09, 3.965511e+00, 6.357857e+03 ],
        [ 9.400000e-10, 4.034432e+00, 1.334167e+04 ],
        [ 9.600000e-10, 9.274257e-01, 1.062905e+03 ],
        [ 8.900000e-10, 4.453718e+00, 7.927749e+02 ],
        [ 8.700000e-10, 4.001348e-01, 9.027992e+04 ],
        [ 1.130000e-09, 2.481653e+00, 4.873986e+04 ],
        [ 8.700000e-10, 3.431229e+00, 2.770754e+04 ],
        [ 1.010000e-09, 5.320816e+00, 2.301586e+03 ],
        [ 8.400000e-10, 6.702091e-01, 2.862834e+04 ],
        [ 8.200000e-10, 8.706009e-01, 1.024120e+04 ],
        [ 8.600000e-10, 4.620648e+00, 3.614741e+04 ],
        [ 8.000000e-10, 4.776496e+00, 6.819880e+03 ],
        [ 9.500000e-10, 2.870329e+00, 2.302065e+04 ],
        [ 1.070000e-09, 5.778649e+00, 3.411511e+04 ],
        [ 1.100000e-09, 3.328989e+00, 7.214063e+04 ],
        [ 8.700000e-10, 4.406577e+00, 1.421786e+02 ],
        [ 1.030000e-09, 4.225067e+00, 3.066615e+04 ],
        [ 8.200000e-10, 3.894044e+00, 5.547199e+03 ],
        [ 1.090000e-09, 1.945461e+00, 2.427911e+04 ],
        [ 8.700000e-10, 4.324720e+00, 7.429901e+02 ],
        [ 1.070000e-09, 4.915809e+00, 2.770350e+02 ],
        [ 8.800000e-10, 2.101808e+00, 2.648217e+04 ],
        [ 8.600000e-10, 4.018950e+00, 1.249137e+04 ],
        [ 1.060000e-09, 5.490924e+00, 6.288336e+04 ],
        [ 8.000000e-10, 6.197857e+00, 6.709674e+03 ],
        [ 1.050000e-09, 2.441665e+00, 6.298328e+03 ],
        [ 8.300000e-10, 4.906622e+00, 5.128034e+01 ],
        [ 7.400000e-10, 2.346226e+00, 7.018952e+03 ],
        [ 7.800000e-10, 6.069473e+00, 1.484345e+05 ],
        [ 7.900000e-10, 3.030482e+00, 8.389693e+02 ],
        [ 7.300000e-10, 3.050087e+00, 5.677186e+02 ],
        [ 1.020000e-09, 3.592238e+00, 2.238076e+04 ],
        [ 8.400000e-10, 4.660437e-01, 4.514122e+01 ],
        [ 9.200000e-10, 4.129177e+00, 1.821644e+04 ],
        [ 9.100000e-10, 4.938240e-01, 6.453749e+03 ],
        [ 7.300000e-10, 1.724466e+00, 2.142447e+04 ],
        [ 6.900000e-10, 1.493727e+00, 2.154896e+04 ],
        [ 6.900000e-10, 4.731810e+00, 8.858315e+03 ],
        [ 7.700000e-10, 4.768378e-01, 1.152100e+04 ],
        [ 7.800000e-10, 5.439426e+00, 1.526589e+04 ],
        [ 7.700000e-10, 2.537738e+00, 7.626607e+01 ],
        [ 6.900000e-10, 2.539326e+00, 9.910583e+03 ],
        [ 7.500000e-10, 1.559473e-01, 2.300643e+04 ],
        [ 7.800000e-10, 2.410050e+00, 6.393282e+03 ],
        [ 6.700000e-10, 5.051528e+00, 5.737580e+04 ],
        [ 7.700000e-10, 3.910756e+00, 2.438308e+04 ],
        [ 6.700000e-10, 7.823915e-01, 1.277945e+04 ],
        [ 7.100000e-10, 1.248179e+00, 1.041999e+04 ],
        [ 6.700000e-10, 5.778512e+00, 6.311525e+03 ],
        [ 6.100000e-10, 2.667058e+00, 1.885275e+04 ],
        [ 7.900000e-10, 1.891373e+00, 6.528907e+03 ],
        [ 8.400000e-10, 5.115237e+00, 5.031720e+04 ],
        [ 5.900000e-10, 3.382904e+00, 3.570771e+04 ],
        [ 6.500000e-10, 4.667679e+00, 2.670965e+04 ],
        [ 7.900000e-10, 5.597738e+00, 7.196039e+04 ],
        [ 6.100000e-10, 3.307338e+00, 1.884570e+04 ],
        [ 5.700000e-10, 3.908313e+00, 5.999217e+03 ],
        [ 5.800000e-10, 3.925728e+00, 3.034888e+04 ],
        [ 6.100000e-10, 5.695046e-02, 7.856896e+03 ],
        [ 6.100000e-10, 5.632980e+00, 7.863943e+03 ],
        [ 6.800000e-10, 2.539861e+00, 2.045287e+04 ],
        [ 5.300000e-10, 5.440216e+00, 3.237098e+04 ],
        [ 5.900000e-10, 4.956951e+00, 1.192527e+04 ],
        [ 5.900000e-10, 5.346682e+00, 1.372882e+05 ],
        [ 5.600000e-10, 4.057800e+00, 1.789294e+04 ],
        [ 5.300000e-10, 3.941825e+00, 1.862488e+04 ],
        [ 4.900000e-10, 2.117828e+00, 2.259405e+04 ],
        [ 6.200000e-10, 2.471541e+00, 1.234574e+04 ],
        [ 4.900000e-10, 5.765969e+00, 1.860650e+04 ],
        [ 5.200000e-10, 6.209021e+00, 2.194711e+04 ],
        [ 5.100000e-10, 3.132880e+00, 3.332658e+04 ],
        [ 5.700000e-10, 6.170034e+00, 6.130601e+04 ],
        [ 6.400000e-10, 5.665965e+00, 3.459636e+04 ],
        [ 6.600000e-10, 3.922623e+00, 6.985335e+04 ],
        [ 5.300000e-10, 5.511194e+00, 7.771025e+04 ],
        [ 5.300000e-10, 4.885740e+00, 7.771729e+04 ],
        [ 4.800000e-10, 2.713991e+00, 2.076043e+04 ],
        [ 4.600000e-10, 6.083762e+00, 2.982278e+04 ],
        [ 5.200000e-10, 3.139748e-01, 3.772475e+04 ],
        [ 4.500000e-10, 5.535872e+00, 6.262721e+03 ],
        [ 5.900000e-10, 2.454379e+00, 6.916643e+04 ],
        [ 6.000000e-10, 5.242616e+00, 5.660028e+04 ],
        [ 5.100000e-10, 6.157943e+00, 1.161698e+04 ],
        [ 6.000000e-10, 1.747581e+00, 4.403413e+04 ],
        [ 4.900000e-10, 5.089731e+00, 3.399062e+04 ],
        [ 4.400000e-10, 3.282709e+00, 2.942463e+04 ],
        [ 5.200000e-10, 5.348669e+00, 2.831329e+04 ],
        [ 5.900000e-10, 2.123850e+00, 3.617371e+04 ],
        [ 5.000000e-10, 4.648093e-01, 2.528772e+04 ],
        [ 4.400000e-10, 2.055035e+00, 6.365888e+04 ],
        [ 4.400000e-10, 1.710092e+00, 1.336245e+04 ],
        [ 4.100000e-10, 3.917213e+00, 6.279195e+03 ],
        [ 4.200000e-10, 1.521060e+00, 2.355034e+04 ],
        [ 4.200000e-10, 3.109383e+00, 8.467248e+04 ],
        [ 4.100000e-10, 3.788630e+00, 3.505000e+04 ],
        [ 4.200000e-10, 5.575435e+00, 3.850028e+04 ],
        [ 4.000000e-10, 5.551457e+00, 1.256517e+04 ],
        [ 5.400000e-10, 8.893549e-01, 5.029091e+04 ],
        [ 5.500000e-10, 2.502685e+00, 7.782867e+04 ],
        [ 5.400000e-10, 4.162579e+00, 2.291045e+04 ],
        [ 4.100000e-10, 2.321412e+00, 6.286957e+03 ],
        [ 4.500000e-10, 3.185906e+00, 4.558517e+04 ],
        [ 4.500000e-10, 2.243489e+00, 2.364632e+04 ],
        [ 4.300000e-10, 3.878921e+00, 6.549683e+03 ],
        [ 4.800000e-10, 2.113641e+00, 3.157080e+04 ],
        [ 4.300000e-10, 5.550996e+00, 1.235997e+04 ],
        [ 4.100000e-10, 4.881916e+00, 2.353612e+04 ],
        [ 4.900000e-10, 2.447909e+00, 1.361380e+04 ],
        [ 4.700000e-10, 3.581817e+00, 4.797096e+03 ]]
    
L1 = [
        [ 6.283076e+03, 0.000000e+00, 0.000000e+00 ],
        [ 2.060589e-03, 2.678235e+00, 6.283076e+03 ],
        [ 4.303419e-05, 2.635122e+00, 1.256615e+04 ],
        [ 4.252640e-06, 1.590470e+00, 3.523118e+00 ],
        [ 1.090170e-06, 2.966310e+00, 1.577344e+03 ],
        [ 9.347900e-07, 2.592111e+00, 1.884923e+04 ],
        [ 1.193050e-06, 5.795558e+00, 2.629832e+01 ],
        [ 7.212100e-07, 1.138406e+00, 5.296910e+02 ],
        [ 6.778400e-07, 1.874533e+00, 3.981490e+02 ],
        [ 6.735000e-07, 4.409328e+00, 5.507553e+03 ],
        [ 5.904500e-07, 2.888158e+00, 5.223694e+03 ],
        [ 5.597600e-07, 2.174717e+00, 1.554204e+02 ],
        [ 4.541100e-07, 3.979950e-01, 7.962980e+02 ],
        [ 3.629800e-07, 4.687544e-01, 7.755226e+02 ],
        [ 2.896200e-07, 2.647323e+00, 7.113547e+00 ],
        [ 1.909700e-07, 1.846284e+00, 5.486778e+03 ],
        [ 2.084400e-07, 5.341383e+00, 9.803211e-01 ],
        [ 1.850800e-07, 4.968552e+00, 2.132991e+02 ],
        [ 1.623300e-07, 3.216587e-02, 2.544314e+03 ],
        [ 1.729300e-07, 2.991168e+00, 6.275962e+03 ],
        [ 1.583200e-07, 1.430493e+00, 2.146165e+03 ],
        [ 1.460800e-07, 1.204698e+00, 1.097708e+04 ],
        [ 1.187700e-07, 3.258051e+00, 5.088629e+03 ],
        [ 1.151400e-07, 2.075021e+00, 4.694003e+03 ],
        [ 9.721000e-08, 4.239259e+00, 1.349867e+03 ],
        [ 9.969000e-08, 1.302634e+00, 6.286599e+03 ],
        [ 9.452000e-08, 2.699568e+00, 2.427286e+02 ],
        [ 1.246100e-07, 2.834323e+00, 1.748016e+03 ],
        [ 1.180800e-07, 5.273798e+00, 1.194447e+03 ],
        [ 8.577000e-08, 5.644761e+00, 9.517184e+02 ],
        [ 1.064100e-07, 7.661472e-01, 5.535694e+02 ],
        [ 7.576000e-08, 5.300562e+00, 2.352866e+03 ],
        [ 5.764000e-08, 1.772284e+00, 1.059382e+03 ],
        [ 6.385000e-08, 2.650345e+00, 9.437763e+03 ],
        [ 5.223000e-08, 5.661358e+00, 7.143070e+04 ],
        [ 5.315000e-08, 9.111002e-01, 3.154687e+03 ],
        [ 6.101000e-08, 4.666337e+00, 4.690480e+03 ],
        [ 4.335000e-08, 2.393456e-01, 6.812767e+03 ],
        [ 5.041000e-08, 1.424897e+00, 6.438496e+03 ],
        [ 4.259000e-08, 7.735554e-01, 1.044739e+04 ],
        [ 5.200000e-08, 1.855288e+00, 8.018209e+02 ],
        [ 3.744000e-08, 2.001199e+00, 8.031092e+03 ],
        [ 3.553000e-08, 2.427896e+00, 1.414350e+04 ],
        [ 3.372000e-08, 3.862108e+00, 1.592596e+03 ],
        [ 3.380000e-08, 8.854539e-01, 1.203646e+04 ],
        [ 3.196000e-08, 3.197133e+00, 4.705732e+03 ],
        [ 3.221000e-08, 6.160105e-01, 8.429241e+03 ],
        [ 4.132000e-08, 5.239926e+00, 7.084897e+03 ],
        [ 2.970000e-08, 6.070298e+00, 4.292331e+03 ],
        [ 2.900000e-08, 2.324642e+00, 2.035532e+01 ],
        [ 3.504000e-08, 4.799767e+00, 6.279553e+03 ],
        [ 2.950000e-08, 1.431089e+00, 5.746271e+03 ],
        [ 2.697000e-08, 4.803652e+00, 7.234794e+03 ],
        [ 2.531000e-08, 6.222900e+00, 6.836645e+03 ],
        [ 2.745000e-08, 9.346607e-01, 5.760498e+03 ],
        [ 3.250000e-08, 3.399519e+00, 7.632943e+03 ],
        [ 2.278000e-08, 5.003399e+00, 1.778985e+04 ],
        [ 2.076000e-08, 3.955513e+00, 1.021329e+04 ],
        [ 2.061000e-08, 2.224077e+00, 5.856478e+03 ],
        [ 2.252000e-08, 5.671667e+00, 1.149966e+04 ],
        [ 2.148000e-08, 5.201827e+00, 1.151388e+04 ],
        [ 1.886000e-08, 5.319854e-01, 3.340612e+03 ],
        [ 1.875000e-08, 4.735120e+00, 8.399685e+04 ],
        [ 2.060000e-08, 2.549853e+00, 2.513230e+04 ],
        [ 1.794000e-08, 1.474353e+00, 4.164312e+03 ],
        [ 1.778000e-08, 3.024731e+00, 5.522924e+00 ],
        [ 2.036000e-08, 9.090817e-01, 6.256778e+03 ],
        [ 2.064000e-08, 2.270513e+00, 5.225774e+02 ],
        [ 1.773000e-08, 3.030905e+00, 5.753385e+03 ],
        [ 1.569000e-08, 6.124062e+00, 5.216580e+03 ],
        [ 1.590000e-08, 4.637137e+00, 3.286357e+00 ],
        [ 1.533000e-08, 4.203056e+00, 1.336797e+04 ],
        [ 1.427000e-08, 1.190875e+00, 3.894182e+03 ],
        [ 1.376000e-08, 4.249559e+00, 4.265982e+02 ],
        [ 1.375000e-08, 3.093013e+00, 1.350651e+02 ],
        [ 1.308000e-08, 3.084921e+00, 5.643179e+03 ],
        [ 1.340000e-08, 5.765132e+00, 6.040347e+03 ],
        [ 1.250000e-08, 3.077482e+00, 1.192625e+04 ],
        [ 1.551000e-08, 3.076641e+00, 6.681225e+03 ],
        [ 1.148000e-08, 3.241442e+00, 1.216800e+04 ],
        [ 1.268000e-08, 2.092012e+00, 6.290189e+03 ],
        [ 1.248000e-08, 3.445069e+00, 5.368045e+02 ],
        [ 1.118000e-08, 2.318301e+00, 1.673046e+04 ],
        [ 1.105000e-08, 5.319660e+00, 2.387844e+01 ],
        [ 1.012000e-08, 3.749535e+00, 7.860419e+03 ],
        [ 1.025000e-08, 2.446838e+00, 1.990745e+03 ],
        [ 9.620000e-09, 8.177102e-01, 3.881335e+00 ],
        [ 9.110000e-09, 4.172435e-01, 7.079374e+03 ],
        [ 1.091000e-08, 3.982336e+00, 1.150677e+04 ],
        [ 9.570000e-09, 4.076714e+00, 6.127655e+03 ],
        [ 8.350000e-09, 5.283487e+00, 1.179063e+04 ],
        [ 8.020000e-09, 3.887791e+00, 1.097356e+04 ],
        [ 7.730000e-09, 2.410444e+00, 1.589073e+03 ],
        [ 7.580000e-09, 1.300344e+00, 1.030928e+02 ],
        [ 7.490000e-09, 4.962814e+00, 6.496375e+03 ],
        [ 7.650000e-09, 3.363124e+00, 3.602787e+01 ],
        [ 9.150000e-09, 5.415498e+00, 2.061855e+02 ],
        [ 7.760000e-09, 2.575891e+00, 1.137170e+04 ],
        [ 7.720000e-09, 3.983634e+00, 9.555997e+02 ],
        [ 7.490000e-09, 5.179002e+00, 1.096997e+04 ],
        [ 8.060000e-09, 3.422612e-01, 9.917697e+03 ],
        [ 7.280000e-09, 5.209626e+00, 3.802767e+01 ],
        [ 6.850000e-09, 2.775930e+00, 2.077540e+01 ],
        [ 6.360000e-09, 4.282422e+00, 2.844919e+01 ],
        [ 6.080000e-09, 5.632785e+00, 1.098419e+04 ],
        [ 7.040000e-09, 5.607394e+00, 3.738761e+03 ],
        [ 6.850000e-09, 3.887615e-01, 1.525247e+01 ],
        [ 6.010000e-09, 7.348960e-01, 4.194846e+02 ],
        [ 7.160000e-09, 2.652869e+00, 6.309374e+03 ],
        [ 5.840000e-09, 5.545087e+00, 1.729818e+04 ],
        [ 6.280000e-09, 1.117331e+00, 7.058598e+03 ],
        [ 6.880000e-09, 2.596841e+00, 3.496033e+03 ],
        [ 4.850000e-09, 4.447071e-01, 1.235285e+04 ],
        [ 5.620000e-09, 2.825104e+00, 3.930210e+03 ],
        [ 5.970000e-09, 5.276758e+00, 1.057541e+04 ],
        [ 5.830000e-09, 3.189315e+00, 4.732031e+03 ],
        [ 5.260000e-09, 5.017377e+00, 5.884927e+03 ],
        [ 5.400000e-09, 1.291827e+00, 6.408776e+02 ],
        [ 4.810000e-09, 5.497215e+00, 5.230807e+03 ],
        [ 4.060000e-09, 5.212530e+00, 2.204126e+02 ],
        [ 3.950000e-09, 1.874899e+00, 1.620077e+04 ],
        [ 3.670000e-09, 8.853354e-01, 6.283143e+03 ],
        [ 3.690000e-09, 3.847781e+00, 1.807370e+04 ],
        [ 3.790000e-09, 3.799172e-01, 1.017726e+04 ],
        [ 3.560000e-09, 3.841529e+00, 1.171296e+04 ],
        [ 3.740000e-09, 5.015775e+00, 7.046237e+00 ],
        [ 3.810000e-09, 4.302504e+00, 6.062663e+03 ],
        [ 4.710000e-09, 8.638894e-01, 6.069777e+03 ],
        [ 3.670000e-09, 1.329438e+00, 6.283009e+03 ],
        [ 4.600000e-09, 5.196672e+00, 6.284056e+03 ],
        [ 3.330000e-09, 5.542504e+00, 4.686889e+03 ],
        [ 3.410000e-09, 4.365245e+00, 7.238676e+03 ],
        [ 3.360000e-09, 4.002059e+00, 3.097884e+03 ],
        [ 3.590000e-09, 6.226798e+00, 2.458316e+02 ],
        [ 3.070000e-09, 2.352990e+00, 1.706729e+02 ],
        [ 3.430000e-09, 3.771649e+00, 6.076890e+03 ],
        [ 2.960000e-09, 5.441388e+00, 1.726015e+04 ],
        [ 3.280000e-09, 1.381771e-01, 1.101511e+04 ],
        [ 2.690000e-09, 1.133082e+00, 1.256967e+04 ],
        [ 2.630000e-09, 5.507375e-03, 4.136910e+03 ],
        [ 2.820000e-09, 5.043996e+00, 7.477523e+03 ],
        [ 2.800000e-09, 3.137032e+00, 1.255904e+04 ],
        [ 2.590000e-09, 9.388227e-01, 5.642198e+03 ],
        [ 2.920000e-09, 1.984263e+00, 1.213244e+04 ],
        [ 2.470000e-09, 3.842448e+00, 5.429879e+03 ],
        [ 3.190000e-09, 5.041701e+00, 9.061774e+04 ],
        [ 2.450000e-09, 5.704697e+00, 6.514762e+04 ],
        [ 3.180000e-09, 1.355820e+00, 7.805159e+04 ],
        [ 2.410000e-09, 9.946979e-01, 3.634621e+03 ],
        [ 2.460000e-09, 3.061681e+00, 1.102063e+02 ],
        [ 2.390000e-09, 6.118545e+00, 1.185622e+04 ],
        [ 2.670000e-09, 6.529761e-01, 2.122839e+04 ],
        [ 2.620000e-09, 1.510705e+00, 1.214667e+04 ],
        [ 2.300000e-09, 1.759238e+00, 9.779109e+03 ],
        [ 2.230000e-09, 2.009670e+00, 6.172870e+03 ],
        [ 2.460000e-09, 1.104117e+00, 6.282096e+03 ],
        [ 2.140000e-09, 4.038405e+00, 1.431417e+04 ],
        [ 2.120000e-09, 2.136956e+00, 5.849364e+03 ],
        [ 2.070000e-09, 3.077242e+00, 1.172935e+01 ],
        [ 2.070000e-09, 6.103033e+00, 2.354323e+04 ],
        [ 2.660000e-09, 1.007200e+00, 2.388894e+03 ],
        [ 2.170000e-09, 6.278402e+00, 1.726727e+04 ],
        [ 2.310000e-09, 5.373728e+00, 1.391602e+04 ],
        [ 2.040000e-09, 2.346153e+00, 2.666070e+02 ],
        [ 1.950000e-09, 5.550155e+00, 6.133513e+03 ],
        [ 2.030000e-09, 4.656168e+00, 2.407292e+04 ],
        [ 1.880000e-09, 2.526823e+00, 6.525804e+03 ],
        [ 1.770000e-09, 1.734269e+00, 1.547176e+05 ],
        [ 1.870000e-09, 4.765013e+00, 4.535059e+03 ],
        [ 1.860000e-09, 4.630805e+00, 1.044027e+04 ],
        [ 1.830000e-09, 3.200608e+00, 8.635942e+03 ],
        [ 1.720000e-09, 1.455517e+00, 9.225539e+03 ],
        [ 1.620000e-09, 3.306651e+00, 6.398973e+02 ],
        [ 1.680000e-09, 2.176714e+00, 2.740156e+01 ],
        [ 1.600000e-09, 1.681687e+00, 1.511047e+04 ],
        [ 1.940000e-09, 2.792438e+00, 7.342458e+03 ],
        [ 1.830000e-09, 5.627352e-01, 1.351787e+04 ],
        [ 1.720000e-09, 5.970395e+00, 4.701117e+03 ],
        [ 1.790000e-09, 3.584508e+00, 8.730820e+01 ],
        [ 1.520000e-09, 2.840705e+00, 5.650292e+03 ],
        [ 1.560000e-09, 1.071561e+00, 1.831954e+04 ],
        [ 1.820000e-09, 4.405362e-01, 1.725304e+04 ],
        [ 1.420000e-09, 1.462901e+00, 1.108729e+04 ],
        [ 1.310000e-09, 5.409121e+00, 2.699735e+03 ],
        [ 1.440000e-09, 2.073121e+00, 2.515860e+04 ],
        [ 1.470000e-09, 6.151078e+00, 9.623688e+03 ],
        [ 1.410000e-09, 5.557400e+00, 1.045450e+04 ],
        [ 1.350000e-09, 6.098129e-02, 1.672335e+04 ],
        [ 1.230000e-09, 5.811948e+00, 1.725663e+04 ],
        [ 1.240000e-09, 2.362694e+00, 4.933208e+03 ],
        [ 1.260000e-09, 3.474839e+00, 2.248385e+04 ],
        [ 1.590000e-09, 5.639447e+00, 5.729506e+03 ],
        [ 1.370000e-09, 1.938117e+00, 2.042657e+04 ],
        [ 1.230000e-09, 3.928160e+00, 1.799603e+04 ],
        [ 1.480000e-09, 3.025426e+00, 1.551045e+03 ],
        [ 1.210000e-09, 5.537321e-02, 1.309584e+04 ],
        [ 1.200000e-09, 5.919043e+00, 6.206810e+03 ],
        [ 1.340000e-09, 3.111229e+00, 2.195416e+04 ],
        [ 1.190000e-09, 5.521439e+00, 7.099330e+02 ],
        [ 1.220000e-09, 3.008400e+00, 1.980095e+04 ],
        [ 1.270000e-09, 1.375342e+00, 1.494532e+04 ],
        [ 1.410000e-09, 2.568863e+00, 1.052268e+03 ],
        [ 1.230000e-09, 2.836712e+00, 1.191914e+04 ],
        [ 1.180000e-09, 8.191829e-01, 5.331357e+03 ],
        [ 1.510000e-09, 2.687286e+00, 1.176985e+04 ],
        [ 1.190000e-09, 5.086540e+00, 5.481255e+03 ],
        [ 1.130000e-09, 4.426757e+00, 1.842263e+04 ],
        [ 1.530000e-09, 2.460218e+00, 1.193337e+04 ],
        [ 1.080000e-09, 1.049365e+00, 1.140368e+04 ],
        [ 1.280000e-09, 9.981046e-01, 8.827390e+03 ],
        [ 1.440000e-09, 2.548697e+00, 2.274761e+02 ],
        [ 1.500000e-09, 4.506314e+00, 2.379164e+03 ],
        [ 1.090000e-09, 2.926906e-01, 1.673758e+04 ],
        [ 1.220000e-09, 4.230400e+00, 2.942951e+01 ],
        [ 1.110000e-09, 5.169707e+00, 1.778273e+04 ],
        [ 1.050000e-09, 1.617382e+00, 1.311972e+04 ],
        [ 1.000000e-09, 3.522047e+00, 1.805293e+04 ],
        [ 1.080000e-09, 1.084931e+00, 1.685848e+04 ],
        [ 1.350000e-09, 3.201606e+00, 6.262300e+03 ],
        [ 1.060000e-09, 1.960851e+00, 7.478160e+01 ],
        [ 1.290000e-09, 4.859494e+00, 1.649636e+04 ],
        [ 1.100000e-09, 2.306058e+00, 1.646033e+04 ],
        [ 9.700000e-10, 3.509189e+00, 5.333900e+03 ],
        [ 9.900000e-10, 3.564173e+00, 7.358765e+02 ],
        [ 9.600000e-10, 3.409185e+00, 1.572084e+04 ],
        [ 9.400000e-10, 5.016010e+00, 3.128389e+03 ],
        [ 9.700000e-10, 1.655799e+00, 5.332141e+02 ],
        [ 9.200000e-10, 8.921920e-01, 2.929662e+04 ],
        [ 1.230000e-09, 3.160621e+00, 9.380960e+03 ],
        [ 1.020000e-09, 1.204935e+00, 2.302065e+04 ],
        [ 8.800000e-10, 2.212655e+00, 1.272157e+04 ],
        [ 8.900000e-10, 1.543227e+00, 2.019909e+04 ],
        [ 1.210000e-09, 6.198604e+00, 9.388006e+03 ],
        [ 8.900000e-10, 4.080823e+00, 2.280574e+04 ],
        [ 9.800000e-10, 1.091767e+00, 1.204357e+04 ],
        [ 8.600000e-10, 1.136490e+00, 1.435713e+05 ],
        [ 8.800000e-10, 5.969805e+00, 1.076635e+02 ],
        [ 8.200000e-10, 5.015612e+00, 2.200391e+04 ],
        [ 9.400000e-10, 1.696157e+00, 2.300643e+04 ],
        [ 8.100000e-10, 3.006647e+00, 2.118764e+03 ],
        [ 9.800000e-10, 1.392153e+00, 8.662240e+03 ],
        [ 8.000000e-10, 5.163410e+00, 1.779696e+04 ],
        [ 8.200000e-10, 5.868940e+00, 2.787043e+03 ],
        [ 7.700000e-10, 8.072369e-01, 1.672838e+05 ],
        [ 9.100000e-10, 5.749024e+00, 2.142447e+04 ],
        [ 7.600000e-10, 5.671837e+00, 1.422709e+01 ],
        [ 8.100000e-10, 6.166195e+00, 1.039027e+03 ],
        [ 7.600000e-10, 3.214499e+00, 1.111866e+02 ],
        [ 7.800000e-10, 1.375315e+00, 2.194711e+04 ],
        [ 7.400000e-10, 3.588142e+00, 1.160986e+04 ],
        [ 7.700000e-10, 4.848465e+00, 2.274341e+04 ],
        [ 9.000000e-10, 1.488690e+00, 1.567108e+04 ],
        [ 8.200000e-10, 3.486184e+00, 2.908881e+04 ],
        [ 7.100000e-10, 2.215916e+00, 1.202935e+04 ],
        [ 6.900000e-10, 1.936257e+00, 1.356253e+02 ],
        [ 7.000000e-10, 2.665528e+00, 1.887553e+04 ],
        [ 6.900000e-10, 5.414781e+00, 2.673595e+04 ],
        [ 7.900000e-10, 5.151582e+00, 1.232342e+04 ],
        [ 7.800000e-10, 4.170141e+00, 1.066495e+03 ],
        [ 6.500000e-10, 5.645847e+00, 1.213955e+04 ],
        [ 7.100000e-10, 3.898048e+00, 2.277944e+04 ],
        [ 6.300000e-10, 4.539688e+00, 8.982811e+03 ],
        [ 7.600000e-10, 3.290889e+00, 2.942463e+03 ],
        [ 6.900000e-10, 9.423211e-01, 1.491902e+04 ],
        [ 6.300000e-10, 4.091865e+00, 1.606218e+04 ],
        [ 6.500000e-10, 3.345804e+00, 5.128034e+01 ],
        [ 6.500000e-10, 5.757575e+00, 5.267007e+04 ],
        [ 5.700000e-10, 5.250503e+00, 2.099539e+04 ],
        [ 6.100000e-10, 1.922907e+00, 6.805653e+03 ],
        [ 6.100000e-10, 8.878902e-02, 1.336245e+04 ],
        [ 7.600000e-10, 1.869477e+00, 2.528772e+04 ],
        [ 5.600000e-10, 4.253965e+00, 6.709674e+03 ],
        [ 5.800000e-10, 4.794297e+00, 6.286362e+03 ],
        [ 7.300000e-10, 5.329909e-01, 2.301586e+03 ],
        [ 7.000000e-10, 4.312434e+00, 1.940280e+04 ],
        [ 6.700000e-10, 2.538523e+00, 3.773736e+02 ],
        [ 5.600000e-10, 3.208168e+00, 2.488957e+04 ],
        [ 5.400000e-10, 5.173365e+00, 2.608402e+04 ],
        [ 5.300000e-10, 3.176754e+00, 1.845108e+04 ],
        [ 5.300000e-10, 3.615293e+00, 7.767377e+01 ],
        [ 5.300000e-10, 4.546755e-01, 3.066615e+04 ],
        [ 5.300000e-10, 2.977616e+00, 2.154896e+04 ],
        [ 6.100000e-10, 1.480573e-01, 2.301354e+04 ],
        [ 5.100000e-10, 3.328040e+00, 5.689837e+01 ],
        [ 5.200000e-10, 3.413040e+00, 2.314156e+04 ],
        [ 5.800000e-10, 3.136387e+00, 3.092783e+02 ],
        [ 5.400000e-10, 1.608965e+00, 1.334167e+04 ],
        [ 5.300000e-10, 5.814264e+00, 1.619366e+04 ],
        [ 6.700000e-10, 6.279179e+00, 2.234526e+04 ],
        [ 5.000000e-10, 4.257764e-01, 2.568587e+04 ],
        [ 4.800000e-10, 7.020455e-01, 1.162475e+03 ],
        [ 6.600000e-10, 3.643500e+00, 1.526589e+04 ],
        [ 5.000000e-10, 5.743829e+00, 1.966976e+01 ],
        [ 5.400000e-10, 1.972774e+00, 2.358126e+04 ],
        [ 5.100000e-10, 1.237132e+00, 1.253985e+04 ],
        [ 4.600000e-10, 5.414317e+00, 3.301902e+04 ],
        [ 4.600000e-10, 4.806408e+00, 1.965105e+04 ],
        [ 5.000000e-10, 1.238475e+00, 2.247674e+04 ],
        [ 5.100000e-10, 4.919134e+00, 1.259245e+04 ],
        [ 4.600000e-10, 2.413700e+00, 9.806854e+04 ],
        [ 4.500000e-10, 3.452271e+00, 3.077450e+04 ],
        [ 4.500000e-10, 4.396591e+00, 4.337117e+02 ],
        [ 4.500000e-10, 3.719211e+00, 1.820933e+04 ],
        [ 4.400000e-10, 2.476839e+00, 2.435678e+04 ],
        [ 4.900000e-10, 2.178351e+00, 1.352175e+04 ],
        [ 4.600000e-10, 2.614273e-01, 1.104570e+01 ],
        [ 4.500000e-10, 2.462306e+00, 5.186825e+04 ],
        [ 4.300000e-10, 4.294585e+00, 2.823019e+04 ],
        [ 4.800000e-10, 8.955171e-01, 5.660028e+04 ],
        [ 4.200000e-10, 3.634107e+00, 4.590910e+03 ],
        [ 4.900000e-10, 3.177577e+00, 6.303851e+03 ],
        [ 4.300000e-10, 4.933503e+00, 1.002184e+04 ],
        [ 5.200000e-10, 3.654102e+00, 7.872149e+03 ],
        [ 4.100000e-10, 4.821668e+00, 1.098881e+04 ],
        [ 4.000000e-10, 1.818916e+00, 3.459636e+04 ],
        [ 4.300000e-10, 1.941650e+00, 1.903437e+03 ],
        [ 4.100000e-10, 7.446185e-01, 2.393786e+04 ],
        [ 4.500000e-10, 5.455750e+00, 6.053049e+04 ],
        [ 5.000000e-10, 5.673556e+00, 1.821644e+04 ],
        [ 4.000000e-10, 4.502010e-02, 3.852657e+04 ],
        [ 5.300000e-10, 3.648076e+00, 1.192527e+04 ],
        [ 4.200000e-10, 5.192929e+00, 1.900465e+04 ],
        [ 4.100000e-10, 9.430968e-01, 9.924810e+03 ],
        [ 3.900000e-10, 4.611843e+00, 9.597923e+01 ],
        [ 4.900000e-10, 2.055325e+00, 1.257327e+04 ],
        [ 4.500000e-10, 3.737178e+00, 7.875672e+03 ],
        [ 4.300000e-10, 1.140785e+00, 4.975703e+01 ],
        [ 3.900000e-10, 1.705394e+00, 3.221720e+04 ],
        [ 3.700000e-10, 1.293904e+00, 3.108408e+02 ],
        [ 3.800000e-10, 9.597093e-01, 6.647560e+02 ],
        [ 3.900000e-10, 8.595736e-01, 1.652266e+04 ],
        [ 4.000000e-10, 1.001708e+00, 3.694923e+04 ],
        [ 4.000000e-10, 3.781647e+00, 5.579846e+04 ],
        [ 3.700000e-10, 5.422371e+00, 6.286666e+03 ],
        [ 3.600000e-10, 1.681677e+00, 1.034430e+04 ],
        [ 4.000000e-10, 5.132173e+00, 1.566404e+04 ],
        [ 4.900000e-10, 3.627413e+00, 7.771377e+04 ],
        [ 4.500000e-10, 6.158779e+00, 2.828699e+04 ],
        [ 3.600000e-10, 3.321585e+00, 1.620789e+04 ],
        [ 3.500000e-10, 5.839178e+00, 6.321104e+03 ],
        [ 3.600000e-10, 1.807842e+00, 6.279789e+03 ],
        [ 3.500000e-10, 4.602792e+00, 2.823723e+04 ],
        [ 3.300000e-10, 4.730178e-01, 1.863593e+04 ],
        [ 3.500000e-10, 4.365710e+00, 4.873986e+04 ],
        [ 3.100000e-10, 3.068280e+00, 6.819880e+03 ],
        [ 3.100000e-10, 2.402032e+00, 2.862834e+04 ],
        [ 3.400000e-10, 1.900964e+00, 1.296430e+04 ],
        [ 2.900000e-10, 6.092910e+00, 1.860650e+04 ],
        [ 2.800000e-10, 3.420461e+00, 6.288599e+03 ],
        [ 2.800000e-10, 3.437361e+00, 3.411511e+04 ],
        [ 2.900000e-10, 1.489208e+00, 6.489261e+03 ],
        [ 2.800000e-10, 3.074747e+00, 2.982278e+04 ],
        [ 3.800000e-10, 2.446083e+00, 3.141538e+04 ],
        [ 2.800000e-10, 2.983926e+00, 6.277553e+03 ],
        [ 2.700000e-10, 5.035560e+00, 1.277945e+04 ],
        [ 2.700000e-10, 5.408130e+00, 2.608790e+04 ],
        [ 3.800000e-10, 5.564399e+00, 2.783204e+04 ],
        [ 2.600000e-10, 3.876859e+00, 6.262721e+03 ],
        [ 2.700000e-10, 6.155654e+00, 2.875981e+04 ],
        [ 2.500000e-10, 5.171222e+00, 6.915860e+03 ],
        [ 2.700000e-10, 4.031320e+00, 9.910583e+03 ],
        [ 3.300000e-10, 3.977634e+00, 1.241073e+04 ],
        [ 2.400000e-10, 5.313071e+00, 2.902649e+04 ],
        [ 2.500000e-10, 8.105521e-01, 3.617371e+04 ],
        [ 2.400000e-10, 1.287061e+00, 2.449143e+04 ],
        [ 2.100000e-10, 2.025485e+00, 2.876692e+04 ],
        [ 2.100000e-10, 6.075451e+00, 1.813929e+04 ],
        [ 2.200000e-10, 2.311999e+00, 6.303431e+03 ],
        [ 2.300000e-10, 1.352351e+00, 4.951538e+04 ],
        [ 2.300000e-10, 2.927659e+00, 6.523622e+04 ],
        [ 1.900000e-10, 3.636660e-02, 2.986433e+04 ],
        [ 2.000000e-10, 9.137407e-01, 4.558517e+04 ],
        [ 2.100000e-10, 4.450030e+00, 2.249096e+04 ],
        [ 2.200000e-10, 1.971194e+00, 3.451326e+04 ],
        [ 2.000000e-10, 4.116827e+00, 1.715706e+04 ],
        [ 2.400000e-10, 1.402439e+00, 1.471232e+04 ],
        [ 2.200000e-10, 2.197597e+00, 3.157080e+04 ],
        [ 2.100000e-10, 1.487398e+00, 6.130601e+04 ],
        [ 2.500000e-10, 5.714656e+00, 2.593412e+04 ]]

L2 = [
        [ 8.721859e-05, 1.072536e+00, 6.283076e+03 ],
        [ 9.909900e-06, 3.141593e+00, 0.000000e+00 ],
        [ 2.948330e-06, 4.371735e-01, 1.256615e+04 ],
        [ 2.733800e-07, 5.295636e-02, 3.523118e+00 ],
        [ 1.633300e-07, 5.188202e+00, 2.629832e+01 ],
        [ 1.574500e-07, 3.685047e+00, 1.554204e+02 ],
        [ 9.425000e-08, 2.966711e-01, 1.884923e+04 ],
        [ 8.938000e-08, 2.057063e+00, 7.771377e+04 ],
        [ 6.940000e-08, 8.269154e-01, 7.755226e+02 ],
        [ 5.061000e-08, 4.662432e+00, 1.577344e+03 ],
        [ 4.060000e-08, 1.030670e+00, 7.113547e+00 ],
        [ 3.464000e-08, 5.140212e+00, 7.962980e+02 ],
        [ 3.172000e-08, 6.054793e+00, 5.507553e+03 ],
        [ 3.020000e-08, 1.192400e+00, 2.427286e+02 ],
        [ 2.885000e-08, 6.117059e+00, 5.296910e+02 ],
        [ 3.809000e-08, 3.440434e+00, 5.573143e+03 ],
        [ 2.719000e-08, 3.036325e-01, 3.981490e+02 ],
        [ 2.365000e-08, 4.376661e+00, 5.223694e+03 ],
        [ 2.538000e-08, 2.279664e+00, 5.535694e+02 ],
        [ 2.078000e-08, 3.754351e+00, 9.803211e-01 ],
        [ 1.675000e-08, 9.014995e-01, 9.517184e+02 ],
        [ 1.534000e-08, 5.758958e+00, 1.349867e+03 ],
        [ 1.224000e-08, 2.972858e+00, 2.146165e+03 ],
        [ 1.449000e-08, 4.364016e+00, 1.748016e+03 ],
        [ 1.341000e-08, 3.720194e+00, 1.194447e+03 ],
        [ 1.253000e-08, 2.948887e+00, 6.438496e+03 ],
        [ 9.990000e-09, 5.986653e+00, 6.286599e+03 ],
        [ 9.170000e-09, 4.797222e+00, 5.088629e+03 ],
        [ 8.290000e-09, 3.310214e+00, 2.132991e+02 ],
        [ 1.102000e-08, 1.270944e+00, 1.610007e+05 ],
        [ 7.640000e-09, 3.412316e+00, 5.486778e+03 ],
        [ 1.046000e-08, 6.037419e-01, 3.154687e+03 ],
        [ 8.870000e-09, 5.233640e+00, 7.084897e+03 ],
        [ 6.440000e-09, 1.599744e+00, 2.544314e+03 ],
        [ 6.810000e-09, 3.427429e+00, 4.694003e+03 ],
        [ 6.060000e-09, 2.476890e+00, 1.097708e+04 ],
        [ 7.060000e-09, 6.193697e+00, 4.690480e+03 ],
        [ 6.430000e-09, 1.981199e+00, 8.018209e+02 ],
        [ 5.020000e-09, 1.444155e+00, 6.836645e+03 ],
        [ 4.900000e-09, 2.338898e+00, 1.592596e+03 ],
        [ 4.580000e-09, 1.308679e+00, 4.292331e+03 ],
        [ 4.310000e-09, 3.542536e-02, 7.234794e+03 ],
        [ 3.490000e-09, 9.877927e-01, 6.040347e+03 ],
        [ 3.850000e-09, 1.570656e+00, 7.143070e+04 ],
        [ 3.710000e-09, 3.161491e+00, 6.309374e+03 ],
        [ 3.480000e-09, 6.498095e-01, 1.059382e+03 ],
        [ 4.580000e-09, 3.815057e+00, 1.498544e+05 ],
        [ 3.020000e-09, 1.917239e+00, 1.044739e+04 ],
        [ 3.060000e-09, 3.554059e+00, 8.031092e+03 ],
        [ 3.950000e-09, 4.937427e+00, 7.632943e+03 ],
        [ 3.140000e-09, 3.180584e+00, 2.352866e+03 ],
        [ 2.810000e-09, 4.417514e+00, 9.437763e+03 ],
        [ 2.760000e-09, 2.710758e+00, 3.894182e+03 ],
        [ 2.980000e-09, 2.520458e+00, 6.127655e+03 ],
        [ 2.720000e-09, 2.437019e-01, 2.513230e+04 ],
        [ 2.510000e-09, 5.544938e-01, 6.279553e+03 ],
        [ 2.240000e-09, 1.407902e+00, 4.705732e+03 ],
        [ 2.580000e-09, 5.295108e+00, 6.812767e+03 ],
        [ 1.780000e-09, 9.263667e-01, 1.990745e+03 ],
        [ 2.170000e-09, 6.854363e-01, 6.256778e+03 ],
        [ 1.540000e-09, 7.780863e-01, 1.414350e+04 ],
        [ 1.500000e-09, 2.406370e+00, 4.265982e+02 ],
        [ 1.960000e-09, 6.068779e+00, 6.408776e+02 ],
        [ 1.370000e-09, 2.219476e+00, 8.429241e+03 ],
        [ 1.270000e-09, 5.473803e+00, 1.203646e+04 ],
        [ 1.210000e-09, 3.327405e+00, 1.778985e+04 ],
        [ 1.230000e-09, 2.160045e+00, 1.021329e+04 ],
        [ 1.160000e-09, 4.970514e-01, 7.058598e+03 ],
        [ 1.380000e-09, 2.361817e+00, 1.150677e+04 ],
        [ 1.010000e-09, 8.630000e-01, 6.290189e+03 ],
        [ 1.180000e-09, 5.823178e+00, 7.860419e+03 ],
        [ 9.200000e-10, 5.116400e+00, 7.079374e+03 ],
        [ 1.250000e-09, 2.654245e+00, 8.886006e+04 ],
        [ 8.800000e-10, 4.311882e+00, 8.399685e+04 ],
        [ 8.400000e-10, 3.576828e+00, 1.673046e+04 ],
        [ 9.700000e-10, 5.580113e+00, 1.336797e+04 ],
        [ 1.020000e-09, 2.058531e+00, 8.730820e+01 ],
        [ 8.000000e-10, 4.738271e+00, 1.192625e+04 ],
        [ 8.000000e-10, 5.413441e+00, 1.097356e+04 ],
        [ 1.060000e-09, 4.109790e+00, 3.496033e+03 ],
        [ 7.500000e-10, 4.891669e+00, 5.643179e+03 ],
        [ 1.000000e-09, 3.626457e+00, 2.442876e+05 ],
        [ 9.600000e-10, 1.394436e+00, 6.681225e+03 ],
        [ 6.900000e-10, 1.883992e+00, 1.017726e+04 ],
        [ 8.700000e-10, 4.084215e-01, 1.101511e+04 ],
        [ 6.600000e-10, 9.944483e-01, 6.525804e+03 ],
        [ 6.600000e-10, 1.424718e+00, 9.917697e+03 ],
        [ 6.700000e-10, 5.512410e+00, 3.097884e+03 ],
        [ 7.600000e-10, 2.715647e+00, 4.164312e+03 ],
        [ 8.500000e-10, 4.965552e-01, 1.057541e+04 ],
        [ 7.700000e-10, 3.516939e+00, 1.185622e+04 ],
        [ 6.200000e-10, 3.625876e+00, 1.649636e+04 ],
        [ 5.400000e-10, 5.259574e+00, 3.340612e+03 ],
        [ 5.300000e-10, 1.109022e+00, 8.635942e+03 ],
        [ 4.900000e-10, 5.657611e+00, 2.042657e+04 ],
        [ 6.400000e-10, 5.792112e+00, 2.388894e+03 ],
        [ 4.600000e-10, 5.450927e+00, 6.275962e+03 ],
        [ 5.700000e-10, 4.970772e+00, 1.494532e+04 ],
        [ 4.300000e-10, 3.306857e+00, 9.779109e+03 ],
        [ 4.200000e-10, 1.614128e+00, 1.216800e+04 ],
        [ 4.900000e-10, 3.927155e+00, 5.729506e+03 ],
        [ 4.200000e-10, 6.348126e-01, 2.699735e+03 ],
        [ 5.600000e-10, 4.340386e+00, 9.095555e+04 ],
        [ 4.000000e-10, 5.668714e+00, 1.171296e+04 ],
        [ 3.900000e-10, 3.109113e+00, 1.620077e+04 ],
        [ 4.000000e-10, 5.713384e+00, 7.099330e+02 ],
        [ 5.300000e-10, 6.170673e+00, 2.331413e+05 ],
        [ 3.700000e-10, 3.209517e-01, 2.435678e+04 ],
        [ 3.500000e-10, 9.555707e-01, 1.729818e+04 ],
        [ 3.500000e-10, 6.491340e-01, 2.515860e+04 ],
        [ 4.100000e-10, 1.538504e+00, 6.514762e+04 ],
        [ 3.500000e-10, 7.765563e-01, 1.391602e+04 ],
        [ 3.100000e-10, 5.358974e+00, 5.331357e+03 ],
        [ 3.000000e-10, 4.481147e+00, 2.354323e+04 ],
        [ 3.200000e-10, 3.459770e+00, 7.477523e+03 ],
        [ 2.900000e-10, 3.466480e+00, 1.311972e+04 ],
        [ 3.800000e-10, 2.908640e+00, 1.272157e+04 ],
        [ 2.900000e-10, 3.133910e+00, 4.136910e+03 ],
        [ 3.500000e-10, 3.797171e+00, 1.435713e+05 ],
        [ 2.700000e-10, 9.572609e-01, 1.255904e+04 ],
        [ 2.600000e-10, 4.953269e+00, 5.753385e+03 ],
        [ 3.200000e-10, 3.499439e+00, 6.284056e+03 ],
        [ 2.600000e-10, 4.592763e+00, 5.884927e+03 ],
        [ 2.600000e-10, 1.539589e+00, 1.547176e+05 ],
        [ 2.300000e-10, 4.880129e+00, 1.309584e+04 ],
        [ 2.300000e-10, 3.593571e-01, 3.141538e+04 ],
        [ 2.400000e-10, 5.115151e+00, 1.831954e+04 ],
        [ 2.100000e-10, 5.738729e+00, 1.256967e+04 ],
        [ 2.100000e-10, 1.329012e+00, 1.098881e+04 ],
        [ 1.900000e-10, 2.242632e+00, 1.807370e+04 ],
        [ 1.900000e-10, 3.142532e+00, 6.496375e+03 ],
        [ 2.100000e-10, 2.801220e+00, 6.282096e+03 ],
        [ 2.300000e-10, 1.428876e-01, 6.283009e+03 ],
        [ 1.900000e-10, 4.282095e+00, 3.930210e+03 ],
        [ 1.600000e-10, 2.593321e-01, 1.179063e+04 ],
        [ 1.500000e-10, 6.096235e+00, 1.351787e+04 ],
        [ 2.000000e-10, 5.063589e+00, 6.283143e+03 ],
        [ 1.500000e-10, 1.076807e+00, 4.933208e+03 ],
        [ 1.900000e-10, 5.740006e+00, 3.128389e+03 ],
        [ 1.600000e-10, 6.189242e+00, 7.342458e+03 ],
        [ 1.300000e-10, 1.691050e+00, 4.535059e+03 ],
        [ 1.500000e-10, 3.369684e+00, 1.726015e+04 ],
        [ 1.000000e-10, 3.788850e+00, 2.200391e+04 ],
        [ 1.100000e-10, 2.128520e+00, 7.875672e+03 ]]

L3 = [
        [ 2.890580e-06, 5.841731e+00, 6.283076e+03 ],
        [ 2.071200e-07, 6.049839e+00, 1.256615e+04 ],
        [ 2.962000e-08, 5.195606e+00, 1.554204e+02 ],
        [ 2.527000e-08, 3.141593e+00, 0.000000e+00 ],
        [ 1.288000e-08, 4.721976e+00, 3.523118e+00 ],
        [ 6.350000e-09, 5.969049e+00, 2.427286e+02 ],
        [ 5.700000e-09, 5.541829e+00, 1.884923e+04 ],
        [ 4.020000e-09, 3.786066e+00, 5.535694e+02 ],
        [ 7.200000e-10, 4.371319e+00, 6.286599e+03 ],
        [ 6.700000e-10, 9.113390e-01, 6.127655e+03 ],
        [ 3.700000e-10, 5.286112e+00, 6.438496e+03 ],
        [ 2.100000e-10, 2.949172e+00, 6.309374e+03 ],
        [ 1.500000e-10, 3.630375e+00, 7.143070e+04 ],
        [ 1.100000e-10, 4.832615e+00, 2.513230e+04 ],
        [ 1.100000e-10, 5.842590e+00, 6.525804e+03 ],
        [ 1.200000e-10, 3.822970e+00, 7.058598e+03 ],
        [ 1.300000e-10, 2.399917e+00, 5.729506e+03 ],
        [ 8.000000e-11, 5.539033e-01, 6.040347e+03 ],
        [ 8.000000e-11, 1.462990e+00, 1.185622e+04 ],
        [ 8.000000e-11, 5.075359e+00, 6.256778e+03 ],
        [ 6.000000e-11, 2.888035e+00, 5.507553e+03 ],
        [ 5.000000e-11, 3.870193e+00, 1.203646e+04 ],
        [ 5.000000e-11, 2.708389e+00, 8.399685e+04 ]]

L4 = [
        [ 7.714000e-08, 4.141173e+00, 6.283076e+03 ],
        [ 1.016000e-08, 3.275736e+00, 1.256615e+04 ],
        [ 4.200000e-09, 4.189285e-01, 1.554204e+02 ],
        [ 4.700000e-10, 3.505911e+00, 1.884923e+04 ],
        [ 4.100000e-10, 3.140326e+00, 3.523118e+00 ],
        [ 3.500000e-10, 5.011108e+00, 5.573143e+03 ],
        [ 1.000000e-10, 5.648166e+00, 6.127655e+03 ],
        [ 1.300000e-10, 4.860924e-01, 7.771377e+04 ],
        [ 7.000000e-11, 2.841392e+00, 1.610007e+05 ],
        [ 4.000000e-11, 3.655090e+00, 2.513230e+04 ],
        [ 2.000000e-11, 5.488060e-01, 6.438496e+03 ]]

L5 = [
        [ 1.720000e-09, 2.748542e+00, 6.283076e+03 ],
        [ 5.000000e-10, 2.013530e+00, 1.554204e+02 ],
        [ 2.800000e-10, 2.933700e+00, 1.256615e+04 ],
        [ 5.000000e-11, 1.938292e+00, 1.884923e+04 ]]






def jd2SolLonVSOP(jd):
    """ Convert the given Julian date to solar longitude using VSOP87, J2000.0 epoch.

    Source: From VSOP87B.ear, ftp://ftp.imcce.fr/pub/ephem/planets/vsop87/

    Arguments:
        jd: [float] julian date

    Return:
        [float] solar longitude in radians, J2000.0 epoch

    """

    # Number of millennia since 2000
    T = (jd - 2451545.0)/365250.0

    terms = [L0, L1, L2, L3, L4, L5]
    term_sizes = [len(L0), len(L1), len(L2), len(L3), len(L4), len(L5)]

    # Calculate periodic terms
    S = np.zeros(6)
    for i, term_size in enumerate(term_sizes):

        L = terms[i]
        S[i] = np.sum([L[p][0]*np.cos((L[p][1] + L[p][2]*T)%(2*np.pi)) for p in range(term_size)])


    # Calculate the Solar longitude
    L = np.pi
    for i in range(6):
        L += S[i]*(T**i)

    # Wrap the solar longitude to [0, 2pi] range
    L = L%(2*np.pi)

    return L




def jd2SolLonSteyaert(jd):
    """ Convert the given Julian date to solar longitude, J2000.0 epoch. Chris Steyaert method.

    Reference: Steyaert, C. (1991). Calculating the solar longitude 2000.0. WGN, Journal of the International 
        Meteor Organization, 19, 31-34.

    Arguments:
        jd: [float] julian date

    Return:
        [float] solar longitude in radians, J2000.0 epoch

    """

    # Define time constants
    A0 = [334166, 3489, 350, 342, 314, 268, 234, 132, 127, 120, 99, 90, 86, 78, 75, 51, 49, 36, 32, 28, 27, 
        24, 21, 21, 20, 16, 13, 13]

    B0 = [4.669257, 4.6261, 2.744, 2.829, 3.628, 4.418, 6.135, 0.742, 2.037, 1.110, 5.233, 2.045, 3.508, 
        1.179, 2.533, 4.58, 4.21, 2.92, 5.85, 1.90, 0.31, 0.34, 4.81, 1.87, 2.46, 0.83, 3.41, 1.08]

    C0 = [6283.07585, 12566.1517, 5753.385, 3.523, 77713.771, 7860.419, 3930.210, 11506.77, 529.691, 1577.344, 
        5884.927, 26.298, 398.149, 5223.694, 5507.553, 18849.23, 775.52, 0.07, 11790.63, 796.3, 10977.08, 
        5486.78, 2544.31, 5573.14, 6069.78, 213.3, 2942.46, 20.78]

    A1 = [20606, 430, 43]
    B1 = [2.67823, 2.635, 1.59]
    C1 = [6283.07585, 12566.152, 3.52]

    A2 = [872, 29]
    B2 = [1.073, 0.44]
    C2 = [6283.07585, 12566.15]

    A3 = 29
    B3 = 5.84
    C3 = 6283.07585

    # Number of millennia since 2000
    T = (jd - 2451545.0)/365250.0

    # Mean solar longitude
    L0 = 4.8950627 + 6283.07585*T - 0.0000099*T**2

    # Wrap L0 to [0, 2pi] range
    L0 = L0%(2*np.pi)

    # Periodical terms
    S0 = np.sum([A0[i]*np.cos((B0[i] + C0[i]*T)%(2*np.pi)) for i in range(28)])
    S1 = np.sum([A1[i]*np.cos((B1[i] + C1[i]*T)%(2*np.pi)) for i in range(3)])
    S2 = np.sum([A2[i]*np.cos((B2[i] + C2[i]*T)%(2*np.pi)) for i in range(2)])
    S3 = A3*np.cos((B3 + C3*T)%(2*np.pi))

    # Solar longitude of J2000.0
    L = L0 + (S0 + S1*T + S2*T**2 + S3*T**3)*1e-7

    # Bound to solar longitude to the [0, 2pi] range
    L = L%(2*np.pi)

    return L



def jd2SolLonJPL(jd):
    """ Convert the given Julian date to solar longitude using JPL ephemerids, DE430, J2000.0 epoch.

    Source: From VSOP87B.ear, ftp://ftp.imcce.fr/pub/ephem/planets/vsop87/

    Arguments:
        jd: [float] julian date

    Return:
        [float] solar longitude in radians, J2000.0 epoch

    """

    # Load the JPL ephemerids data
    jpl_ephem_data = SPK.open(config.jpl_ephem_file)

    # Get the position of the Earth (km) and its velocity (km/s) at the given Julian date (J2000 epoch),
    # relative to the centre of mass of the Sun
    earth_pos, earth_vel = calcEarthRectangularCoordJPL(jd, jpl_ephem_data, sun_centre_origin=True)

    # Calculate the solar longitude
    la_sun = np.arctan2(earth_pos[1], earth_pos[0]) + np.pi
    la_sun = la_sun%(2*np.pi)

    return la_sun

jd2SolLonJPL_vect = np.vectorize(jd2SolLonJPL)


def _solLon2jd(solFunc, year, month, L):
    """ Internal function. Numerically calculates the Julian date from the given solar longitude with the
        given method. The inverse precision is around 0.5 milliseconds.

        Because the solar longitudes around Dec 31 and Jan 1 can be ambigous, the month also has to be given.

    Arguments:
        solFunc: [function] Function which calculates solar longitudes from Julian dates.
        year: [int] Year of the event.
        month: [int] Month of the event.
        L: [float] Solar longitude (radians), J2000 epoch.

    Return:
        JD: [float] Julian date.

    """

    def _previousMonth(year, month):
        """ Internal function. Calculates the previous month. """

        dt = datetime.datetime(year, month, 1, 0, 0, 0)

        # Get some day in the next month
        next_month = dt.replace(day=1) - datetime.timedelta(days=4)

        return next_month.year, next_month.month


    def _nextMonth(year, month):
        """ Internal function. Calculates the next month. """

        dt = datetime.datetime(year, month, 1, 0, 0, 0)

        # Get some day in the next month
        next_month = dt.replace(day=28) + datetime.timedelta(days=4)

        return next_month.year, next_month.month


    # Calculate the upper and lower bounds for the Julian date using the given year
    prev_year, prev_month = _previousMonth(year, month)
    jd_min = date2JD(prev_year, prev_month, 1, 0, 0, 0)

    next_year, next_month = _nextMonth(year, month)
    jd_max = date2JD(next_year, next_month, 28, 23, 59, 59)

    # Function which returns the difference between the given JD and solar longitude that is being matched
    sol_res_func = lambda jd, sol_lon: (np.sin(sol_lon) - np.sin(solFunc(jd)))**2 + (np.cos(sol_lon) \
        - np.cos(solFunc(jd)))**2

    # Find the Julian date corresponding to the given solar longitude
    res = scipy.optimize.minimize(sol_res_func, x0=[(jd_min + jd_max)/2], args=(L), \
        bounds=[(jd_min, jd_max)], tol=1e-13)

    return res.x[0]



def solLon2jdVSOP(*args):
    """ Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch using VSOP84.
    
    Arguments:
        year: [int] Year of the event.
        month: [int] Month of the event.
        L: [float] Solar longitude (radians), J2000 epoch.

    Return:
        JD: [float] Julian date.

    """

    return _solLon2jd(jd2SolLonVSOP, *args)



def solLon2jdSteyaert(*args):
    """ Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch. Chris Steyaert method. 
    
    Arguments:
        year: [int] Year of the event.
        month: [int] Month of the event.
        L: [float] Solar longitude (radians), J2000 epoch.

    Return:
        JD: [float] Julian date.

    """

    return _solLon2jd(jd2SolLonSteyaert, *args)



def solLon2jdJPL(*args):
    """ Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch using DE430 JPL ephemerids.
    
    Arguments:
        year: [int] Year of the event.
        month: [int] Month of the event.
        L: [float] Solar longitude (radians), J2000 epoch.

    Return:
        JD: [float] Julian date.

    """

    return _solLon2jd(jd2SolLonJPL, *args)




if __name__ == "__main__":

    ### Test all solar longitude functions and see the difference between the solar longitudes they return

    year = 2012

    for month in range(1, 13):

        for day in [1, 10, 20]:

            jd = date2JD(year, month, day, np.random.uniform(0, 24), np.random.uniform(0, 60), np.random.uniform(0, 60))

            #jd = date2JD(2011, 2, 4, 23, 20, 42.16)
            #jd = date2JD(2012, 12, 13, 8, 20, 33.07)
            #jd = date2JD(2012, 12, 13, 8, 21, 34.51)
            #jd = date2JD(2012, 12, 13, 8, 22, 20.10)
            #jd = date2JD(2012, 12, 13, 8, 24, 01.63)

            print('------------------------------------')
            print('JD: {:.12f}'.format(jd))

            print('Steyaert:', np.degrees(jd2SolLonSteyaert(jd)))
            print('VSOP:', np.degrees(jd2SolLonVSOP(jd)))
            print('JPL:', np.degrees(jd2SolLonJPL(jd)))


            # Solar longitude to Julian date

            jd_steyaert = solLon2jdSteyaert(year, month, jd2SolLonSteyaert(jd))
            print('JD inverse Steyaert: {:.12f} +/- {:.6f} s'.format(jd_steyaert, 24*60*60*abs(jd - jd_steyaert)))

            jd_vsop = solLon2jdVSOP(year, month, jd2SolLonVSOP(jd))
            print('JD inverse     VSOP: {:.12f} +/- {:.6f} s'.format(jd_vsop, 24*60*60*abs(jd - jd_vsop)))

            jd_jpl = solLon2jdJPL(year, month, jd2SolLonJPL(jd))
            print('JD inverse      JPL: {:.12f} +/- {:.6f} s'.format(jd_jpl, 24*60*60*abs(jd - jd_jpl)))
Functions for calculating solar longitude from Julian date and vice versa. # Define periodical constants Convert the given Julian date to solar longitude using VSOP87, J2000.0 epoch.      Source: From VSOP87B.ear, ftp://ftp.imcce.fr/pub/ephem/planets/vsop87/      Arguments:         jd: [float] julian date      Return:         [float] solar longitude in radians, J2000.0 epoch # Number of millennia since 2000 # Calculate periodic terms # Calculate the Solar longitude # Wrap the solar longitude to [0, 2pi] range Convert the given Julian date to solar longitude, J2000.0 epoch. Chris Steyaert method.      Reference: Steyaert, C. (1991). Calculating the solar longitude 2000.0. WGN, Journal of the International          Meteor Organization, 19, 31-34.      Arguments:         jd: [float] julian date      Return:         [float] solar longitude in radians, J2000.0 epoch # Define time constants # Number of millennia since 2000 # Mean solar longitude # Wrap L0 to [0, 2pi] range # Periodical terms # Solar longitude of J2000.0 # Bound to solar longitude to the [0, 2pi] range Convert the given Julian date to solar longitude using JPL ephemerids, DE430, J2000.0 epoch.      Source: From VSOP87B.ear, ftp://ftp.imcce.fr/pub/ephem/planets/vsop87/      Arguments:         jd: [float] julian date      Return:         [float] solar longitude in radians, J2000.0 epoch # Load the JPL ephemerids data # Get the position of the Earth (km) and its velocity (km/s) at the given Julian date (J2000 epoch), # relative to the centre of mass of the Sun # Calculate the solar longitude Internal function. Numerically calculates the Julian date from the given solar longitude with the         given method. The inverse precision is around 0.5 milliseconds.          Because the solar longitudes around Dec 31 and Jan 1 can be ambigous, the month also has to be given.      Arguments:         solFunc: [function] Function which calculates solar longitudes from Julian dates.         year: [int] Year of the event.         month: [int] Month of the event.         L: [float] Solar longitude (radians), J2000 epoch.      Return:         JD: [float] Julian date. Internal function. Calculates the previous month. # Get some day in the next month Internal function. Calculates the next month. # Get some day in the next month # Calculate the upper and lower bounds for the Julian date using the given year # Function which returns the difference between the given JD and solar longitude that is being matched # Find the Julian date corresponding to the given solar longitude Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch using VSOP84.          Arguments:         year: [int] Year of the event.         month: [int] Month of the event.         L: [float] Solar longitude (radians), J2000 epoch.      Return:         JD: [float] Julian date. Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch. Chris Steyaert method.           Arguments:         year: [int] Year of the event.         month: [int] Month of the event.         L: [float] Solar longitude (radians), J2000 epoch.      Return:         JD: [float] Julian date. Convert the given solar longitude (J2000) to Julian date, J2000.0 epoch using DE430 JPL ephemerids.          Arguments:         year: [int] Year of the event.         month: [int] Month of the event.         L: [float] Solar longitude (radians), J2000 epoch.      Return:         JD: [float] Julian date. ### Test all solar longitude functions and see the difference between the solar longitudes they return #jd = date2JD(2011, 2, 4, 23, 20, 42.16) #jd = date2JD(2012, 12, 13, 8, 20, 33.07) #jd = date2JD(2012, 12, 13, 8, 21, 34.51) #jd = date2JD(2012, 12, 13, 8, 22, 20.10) #jd = date2JD(2012, 12, 13, 8, 24, 01.63) # Solar longitude to Julian date