diff --git a/.JuliaFormatter.toml b/.JuliaFormatter.toml new file mode 100644 index 0000000..aa7f0eb --- /dev/null +++ b/.JuliaFormatter.toml @@ -0,0 +1,27 @@ +align_assignment = true +align_conditional = true +align_matrix = true +align_pair_arrow = true +align_struct_field = true +always_for_in = true +always_use_return = true +annotate_untyped_fields_with_any = false +conditional_to_if = true +for_in_replacement = "∈" +format_docstrings = true +import_to_using = true +indent = 4 +indent_submodule = true +join_lines_based_on_source = true +long_to_short_function_def = true +margin = 88 +normalize_line_endings = "unix" +pipe_to_function_call = true +remove_extra_newlines = true +separate_kwargs_with_semicolon = true +surround_whereop_typeparameters = true +trailing_comma = true +whitespace_in_kwargs = false +whitespace_ops_in_indices = false +whitespace_typedefs = true +yas_style_nesting = true diff --git a/.dvc/.gitignore b/.dvc/.gitignore new file mode 100644 index 0000000..528f30c --- /dev/null +++ b/.dvc/.gitignore @@ -0,0 +1,3 @@ +/config.local +/tmp +/cache diff --git a/.dvc/config b/.dvc/config new file mode 100644 index 0000000..e69de29 diff --git a/.dvcignore b/.dvcignore new file mode 100644 index 0000000..5197305 --- /dev/null +++ b/.dvcignore @@ -0,0 +1,3 @@ +# Add patterns of files dvc should ignore, which could improve +# the performance. Learn more at +# https://dvc.org/doc/user-guide/dvcignore diff --git a/.github/workflows/format_check.yml b/.github/workflows/format_check.yml new file mode 100644 index 0000000..4e46a44 --- /dev/null +++ b/.github/workflows/format_check.yml @@ -0,0 +1,36 @@ +name: Format Check + +on: + push: + branches: ["master", "dev", "format"] + pull_request: + branches: ["master", "dev"] +jobs: + check: + runs-on: ${{ matrix.os }} + strategy: + matrix: + julia-version: [1.9.3] + julia-arch: [x86] + os: [ubuntu-latest] + steps: + - uses: julia-actions/setup-julia@latest + with: + version: ${{ matrix.julia-version }} + + - uses: actions/checkout@v1 + - name: Install JuliaFormatter and format + run: | + julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter"))' + julia -e 'using JuliaFormatter; format(".", verbose=true)' + - name: Format check + run: | + julia -e ' + out = Cmd(`git diff --name-only`) |> read |> String + if out == "" + exit(0) + else + @error "Some files have not been formatted !!!" + write(stdout, out) + exit(1) + end' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..73c794c --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +# File generated by Pkg, the package manager, based on a corresponding Project.toml +# It records a fixed state of all packages used by the project. As such, it should not be +# committed for packages, but should be committed for applications that require a static +# environment. +Manifest.toml +sd_input_data.json diff --git a/Project.toml b/Project.toml new file mode 100644 index 0000000..8b2bc92 --- /dev/null +++ b/Project.toml @@ -0,0 +1,19 @@ +name = "SD4SOLPS" +uuid = "d8db6f1b-e564-4c04-bba3-ef399f78c070" +authors = ["David Eldon "] +version = "0.1.0" + +[deps] +ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" +Contour = "d38c429a-6771-53c6-b99e-75d170b6e991" +EFIT = "cda752c5-6b03-55a3-9e33-132a441b0c17" +GGDUtils = "b7b5e640-9b39-4803-84eb-376048795def" +Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +OMAS = "91cfaa06-6526-4804-8666-b540b3feef2f" +PhysicalConstants = "5ad8b20f-a522-5ce9-bfc9-ddf1d5bda6ab" +PlotUtils = "995b91a9-d308-5afd-9ec6-746e21dbc043" +Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +SOLPS2IMAS = "09becab6-0636-4c23-a92a-2b3723265c31" +Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" +YAML = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" diff --git a/config/simple_gas_valve.yml b/config/simple_gas_valve.yml new file mode 100644 index 0000000..f4a1d90 --- /dev/null +++ b/config/simple_gas_valve.yml @@ -0,0 +1,45 @@ +# Configuration for simple gas valve model +# This is a sample file. It is not tuned for SPARC. +# p1 and p2 are taken from DIII-D GASB calibrations where available, and made up +# when not available. Delay and tau are made up but based (loosely) on experience +# with the DIII-D gas valve system. +H2: + p1: 6.5268e21 # electrons / s; valve calibration constant + p2: 0.61 # V^-1; valve calibration constant + delay: 0.0024 # s; time before flow into the VV starts responding to a command + tau: 0.071 # s; timescale for flow to catch up to new steady state flow +D2: + p1: 3.325e21 # electrons / s; valve calibration constant + p2: 0.78 # V^-1; valve calibration constant + delay: 0.0025 # s; time before flow into the VV starts responding to a command + tau: 0.072 # s; timescale for flow to catch up to new steady state flow +N2: + p1: 2.628e20 + p2: 3.41 + delay: 0.0026 + tau: 0.073 +CD4: + p1: 6.311e20 + p2: 0.91 + delay: 0.0025 + tau: 0.074 +Ne: + p1: 1.95e21 + p2: 0.66 + delay: 0.0028 + tau: 0.098 +Ar: + p1: 3.992e20 + p2: 1.0 + delay: 0.003 + tau: 0.081 +Kr: + p1: 8.75e20 + p2: 0.825 + delay: 0.0072 + tau: 0.121 +Xe: + p1: 1.29e20 + p2: 0.067 + delay: 0.0103 + tau: 0.137 diff --git a/sample/.gitignore b/sample/.gitignore new file mode 100644 index 0000000..d90c539 --- /dev/null +++ b/sample/.gitignore @@ -0,0 +1 @@ +/ITER_Lore_2296_00000 diff --git a/sample/ITER_Lore_2296_00000.dvc b/sample/ITER_Lore_2296_00000.dvc new file mode 100644 index 0000000..467a302 --- /dev/null +++ b/sample/ITER_Lore_2296_00000.dvc @@ -0,0 +1,13 @@ +md5: d368931510a40042e40cbe3ba5cab034 +frozen: true +deps: +- path: ITER_Lore_2296_00000 + repo: + url: git@github.com:ProjectTorreyPines/SOLPSTestSamples.git + rev_lock: df499f1275428ec06175c48dc4af6ecbd5ec6117 +outs: +- md5: 48af1b920caaa6bc1788af8a36512638.dir + size: 322802293 + nfiles: 42 + hash: md5 + path: ITER_Lore_2296_00000 diff --git a/sample/g184833.03600 b/sample/g184833.03600 new file mode 100644 index 0000000..a0c1c96 --- /dev/null +++ b/sample/g184833.03600 @@ -0,0 +1,1002 @@ + EFITD 11/23/2020 #184833 3600 3 65 65 + 1.70000005e+00 3.20000005e+00 1.69550002e+00 8.39999974e-01 0.00000000e+00 + 1.76355052e+00 -2.57863980e-02 -2.49852821e-01 -4.82190847e-02 -2.06450367e+00 + -1.08213512e+06 -2.49852821e-01 0.00000000e+00 1.76355052e+00 0.00000000e+00 + -2.57863980e-02 0.00000000e+00 -4.82190847e-02 0.00000000e+00 0.00000000e+00 + -3.51734853e+00 -3.51724958e+00 -3.51713610e+00 -3.51700854e+00 -3.51686764e+00 + -3.51671362e+00 -3.51654696e+00 -3.51636791e+00 -3.51617742e+00 -3.51597524e+00 + -3.51576233e+00 -3.51553917e+00 -3.51530576e+00 -3.51506281e+00 -3.51481080e+00 + -3.51454997e+00 -3.51428103e+00 -3.51400423e+00 -3.51372027e+00 -3.51342916e+00 + -3.51313162e+00 -3.51282811e+00 -3.51251888e+00 -3.51220465e+00 -3.51188564e+00 + -3.51156259e+00 -3.51123548e+00 -3.51090503e+00 -3.51057172e+00 -3.51023579e+00 + -3.50989795e+00 -3.50955820e+00 -3.50921774e+00 -3.50887632e+00 -3.50853467e+00 + -3.50819302e+00 -3.50785232e+00 -3.50751233e+00 -3.50717402e+00 -3.50683761e+00 + -3.50650382e+00 -3.50617266e+00 -3.50584483e+00 -3.50552058e+00 -3.50520062e+00 + -3.50488544e+00 -3.50457501e+00 -3.50427032e+00 -3.50397158e+00 -3.50367928e+00 + -3.50339365e+00 -3.50311542e+00 -3.50284505e+00 -3.50258279e+00 -3.50232911e+00 + -3.50208449e+00 -3.50184941e+00 -3.50162435e+00 -3.50140977e+00 -3.50120592e+00 + -3.50101352e+00 -3.50083280e+00 -3.50066447e+00 -3.50050855e+00 -3.50036597e+00 + 5.91960430e+04 5.76037227e+04 5.60325859e+04 5.44826406e+04 5.29538789e+04 + 5.14463047e+04 4.99599141e+04 4.84947148e+04 4.70506992e+04 4.56278711e+04 + 4.42262305e+04 4.28457773e+04 4.14865117e+04 4.01484297e+04 3.88315391e+04 + 3.75358320e+04 3.62613125e+04 3.50079766e+04 3.37758320e+04 3.25648711e+04 + 3.13750977e+04 3.02065117e+04 2.90591133e+04 2.79329004e+04 2.68278750e+04 + 2.57440352e+04 2.46813828e+04 2.36399180e+04 2.26196387e+04 2.16205469e+04 + 2.06426426e+04 1.96859238e+04 1.87503926e+04 1.78360469e+04 1.69428887e+04 + 1.60709180e+04 1.52201338e+04 1.43905361e+04 1.35821250e+04 1.27949014e+04 + 1.20288633e+04 1.12840127e+04 1.05603496e+04 9.85787207e+03 9.17658203e+03 + 8.51647852e+03 7.87756201e+03 7.25983203e+03 6.66328857e+03 6.08793262e+03 + 5.53376270e+03 5.00077979e+03 4.48898389e+03 3.99837476e+03 3.52895215e+03 + 3.08071655e+03 2.65366748e+03 2.24780542e+03 1.86313000e+03 1.49964136e+03 + 1.15733960e+03 8.36224487e+02 5.36296204e+02 2.57554718e+02 0.00000000e+00 + -1.02374844e-01 -1.18716523e-01 -1.34563595e-01 -1.49916068e-01 -1.64773941e-01 + -1.79137215e-01 -1.93005890e-01 -2.06379950e-01 -2.19259411e-01 -2.31644273e-01 + -2.43534535e-01 -2.54930198e-01 -2.65831262e-01 -2.76237696e-01 -2.86149561e-01 + -2.95566797e-01 -3.04489434e-01 -3.12917501e-01 -3.20850939e-01 -3.28289777e-01 + -3.35234016e-01 -3.41683626e-01 -3.47638667e-01 -3.53099108e-01 -3.58064920e-01 + -3.62536162e-01 -3.66512775e-01 -3.69994789e-01 -3.72982204e-01 -3.75475019e-01 + -3.77473235e-01 -3.78976852e-01 -3.79985869e-01 -3.80500257e-01 -3.80520076e-01 + -3.80045265e-01 -3.79075855e-01 -3.77611876e-01 -3.75653267e-01 -3.73200059e-01 + -3.70252252e-01 -3.66809845e-01 -3.62872809e-01 -3.58441204e-01 -3.53514969e-01 + -3.48094165e-01 -3.42178732e-01 -3.35768700e-01 -3.28864098e-01 -3.21464866e-01 + -3.13571036e-01 -3.05182576e-01 -2.96299547e-01 -2.86921918e-01 -2.77049661e-01 + -2.66682833e-01 -2.55821377e-01 -2.44465321e-01 -2.32614681e-01 -2.20269427e-01 + -2.07429573e-01 -1.94095105e-01 -1.80266052e-01 -1.65942386e-01 -1.51124120e-01 + -5.08776750e+05 -5.02051938e+05 -4.95327094e+05 -4.88602250e+05 -4.81877406e+05 + -4.75152594e+05 -4.68427750e+05 -4.61702906e+05 -4.54978094e+05 -4.48253250e+05 + -4.41528406e+05 -4.34803562e+05 -4.28078750e+05 -4.21353906e+05 -4.14629062e+05 + -4.07904219e+05 -4.01179406e+05 -3.94454562e+05 -3.87729719e+05 -3.81004906e+05 + -3.74280062e+05 -3.67555219e+05 -3.60830375e+05 -3.54105562e+05 -3.47380719e+05 + -3.40655875e+05 -3.33931031e+05 -3.27206219e+05 -3.20481375e+05 -3.13756531e+05 + -3.07031688e+05 -3.00306875e+05 -2.93582031e+05 -2.86857188e+05 -2.80132375e+05 + -2.73407531e+05 -2.66682688e+05 -2.59957859e+05 -2.53233016e+05 -2.46508188e+05 + -2.39783344e+05 -2.33058516e+05 -2.26333688e+05 -2.19608844e+05 -2.12884016e+05 + -2.06159172e+05 -1.99434344e+05 -1.92709500e+05 -1.85984672e+05 -1.79259828e+05 + -1.72535000e+05 -1.65810156e+05 -1.59085328e+05 -1.52360484e+05 -1.45635656e+05 + -1.38910828e+05 -1.32185984e+05 -1.25461148e+05 -1.18736312e+05 -1.12011477e+05 + -1.05286648e+05 -9.85618125e+04 -9.18369766e+04 -8.51121406e+04 -7.83873047e+04 + -2.62116604e-02 -3.16488594e-02 -3.73884737e-02 -4.34430093e-02 -4.97804061e-02 + -5.63213341e-02 -6.29511625e-02 -6.95473626e-02 -7.45324567e-02 -7.63308927e-02 + -7.88734853e-02 -8.41424465e-02 -9.02396142e-02 -9.35740918e-02 -9.47504714e-02 + -9.39842835e-02 -9.12773535e-02 -8.65024701e-02 -7.93547928e-02 -6.92297667e-02 + -5.49937598e-02 -4.00766768e-02 -2.70704627e-02 -1.50015820e-02 -3.27913766e-03 + 8.52067210e-03 2.07781717e-02 3.39154080e-02 4.84868363e-02 6.51740506e-02 + 7.96074048e-02 9.03648883e-02 9.79248658e-02 1.02039523e-01 1.02567598e-01 + 9.90303233e-02 9.31292549e-02 8.94071087e-02 8.71830955e-02 8.60324726e-02 + 8.56877267e-02 8.59732777e-02 8.67673531e-02 8.79800618e-02 8.95409137e-02 + 9.13916230e-02 9.34818313e-02 9.57664400e-02 9.82038453e-02 1.00754812e-01 + 1.03381775e-01 1.06048562e-01 1.08720295e-01 1.11363679e-01 1.13947399e-01 + 1.16442665e-01 1.18823811e-01 1.21068910e-01 1.23160228e-01 1.25084549e-01 + 1.26833320e-01 1.28402472e-01 1.29792169e-01 1.31006226e-01 1.32051542e-01 + -3.15702334e-02 -3.77732590e-02 -4.44270112e-02 -5.16182333e-02 -5.93638159e-02 + -6.75533712e-02 -7.49922991e-02 -7.99498484e-02 -8.21311623e-02 -8.15275908e-02 + -8.16970393e-02 -8.36401731e-02 -8.60547125e-02 -8.74072984e-02 -8.73908773e-02 + -8.59057829e-02 -8.28495845e-02 -7.80792758e-02 -7.14008510e-02 -6.25864789e-02 + -5.15735410e-02 -3.96925285e-02 -2.81392727e-02 -1.68489497e-02 -5.58450632e-03 + 5.92054008e-03 1.79653615e-02 3.09205558e-02 4.53029871e-02 6.17380962e-02 + 7.60410428e-02 8.67504403e-02 9.42829177e-02 9.85355303e-02 9.92970020e-02 + 9.60331187e-02 9.05784369e-02 8.72416273e-02 8.53920951e-02 8.46182108e-02 + 8.46608654e-02 8.53473544e-02 8.65562856e-02 8.81975889e-02 9.02006105e-02 + 9.25068110e-02 9.50650573e-02 9.78286564e-02 1.00753367e-01 1.03796102e-01 + 1.06914259e-01 1.10065401e-01 1.13207407e-01 1.16299026e-01 1.19300678e-01 + 1.22175545e-01 1.24890730e-01 1.27418399e-01 1.29736751e-01 1.31830573e-01 + 1.33691549e-01 1.35317951e-01 1.36714101e-01 1.37889341e-01 1.38857007e-01 + -3.63472812e-02 -4.30038981e-02 -5.02165109e-02 -5.83196059e-02 -6.74728900e-02 + -7.46709108e-02 -7.92534798e-02 -8.11493024e-02 -8.03040266e-02 -7.90028945e-02 + -7.82492086e-02 -7.79698193e-02 -7.77783096e-02 -7.72334561e-02 -7.59906173e-02 + -7.38193244e-02 -7.05638602e-02 -6.61164299e-02 -6.04182296e-02 -5.34915254e-02 + -4.54931930e-02 -3.67157161e-02 -2.74528451e-02 -1.78681053e-02 -7.99433421e-03 + 2.21624831e-03 1.28529212e-02 2.40170248e-02 3.57714407e-02 4.78640236e-02 + 5.88915385e-02 6.79189712e-02 7.47736767e-02 7.93827325e-02 8.16965476e-02 + 8.18025246e-02 8.07555020e-02 8.00337642e-02 7.99205527e-02 8.04075599e-02 + 8.14408362e-02 8.29603449e-02 8.49096850e-02 8.72379169e-02 8.98987204e-02 + 9.28489268e-02 9.60469246e-02 9.94512439e-02 1.03019424e-01 1.06707141e-01 + 1.10467680e-01 1.14251882e-01 1.18008547e-01 1.21685483e-01 1.25231043e-01 + 1.28596202e-01 1.31736830e-01 1.34615913e-01 1.37205511e-01 1.39487952e-01 + 1.41456246e-01 1.43113598e-01 1.44472152e-01 1.45551160e-01 1.46374837e-01 + -4.06052358e-02 -4.71853428e-02 -5.39835468e-02 -6.12864606e-02 -6.89399242e-02 + -7.35877454e-02 -7.49117211e-02 -7.47222602e-02 -7.41947070e-02 -7.35044256e-02 + -7.27519616e-02 -7.19335526e-02 -7.09483773e-02 -6.96411878e-02 -6.78487346e-02 + -6.54290617e-02 -6.22738376e-02 -5.83130717e-02 -5.35197631e-02 -4.79155108e-02 + -4.15711403e-02 -3.45934443e-02 -2.70976331e-02 -1.91804487e-02 -1.09094065e-02 + -2.33013532e-03 6.51349267e-03 1.55479955e-02 2.46253479e-02 3.34778205e-02 + 4.17384952e-02 4.90643643e-02 5.52349798e-02 6.01634718e-02 6.38936460e-02 + 6.66207969e-02 6.86895028e-02 7.04855695e-02 7.22999275e-02 7.43006542e-02 + 7.65709057e-02 7.91453421e-02 8.20320919e-02 8.52244124e-02 8.87066573e-02 + 9.24570337e-02 9.64485854e-02 1.00649305e-01 1.05021663e-01 1.09521963e-01 + 1.14099771e-01 1.18697688e-01 1.23251870e-01 1.27693504e-01 1.31951526e-01 + 1.35956332e-01 1.39644444e-01 1.42962992e-01 1.45873666e-01 1.48355275e-01 + 1.50404453e-01 1.52034506e-01 1.53272629e-01 1.54156044e-01 1.54727817e-01 + -4.53631431e-02 -5.15733324e-02 -5.69408499e-02 -6.17250167e-02 -6.58193454e-02 + -6.76510036e-02 -6.84953257e-02 -6.87069520e-02 -6.84992224e-02 -6.80018887e-02 + -6.72814474e-02 -6.63497150e-02 -6.51735067e-02 -6.36891797e-02 -6.18194044e-02 + -5.94881326e-02 -5.66316396e-02 -5.32058664e-02 -4.91907820e-02 -4.45920601e-02 + -3.94393429e-02 -3.37808207e-02 -2.76752841e-02 -2.11848598e-02 -1.43716214e-02 + -7.29973149e-03 -4.26506194e-05 7.30666937e-03 1.46268485e-02 2.17675697e-02 + 2.85644550e-02 3.48673575e-02 4.05692346e-02 4.56250161e-02 5.00593260e-02 + 5.39639480e-02 5.74817657e-02 6.07770495e-02 6.40035868e-02 6.72850162e-02 + 7.07105324e-02 7.43393898e-02 7.82078877e-02 8.23353678e-02 8.67285654e-02 + 9.13841650e-02 9.62900892e-02 1.01425558e-01 1.06760442e-01 1.12253897e-01 + 1.17852688e-01 1.23489685e-01 1.29083201e-01 1.34538159e-01 1.39750078e-01 + 1.44612074e-01 1.49024323e-01 1.52903900e-01 1.56193346e-01 1.58865869e-01 + 1.60926923e-01 1.62411213e-01 1.63376212e-01 1.63893193e-01 1.64038435e-01 + -5.34648933e-02 -6.05726391e-02 -6.24210015e-02 -6.29266873e-02 -6.35931119e-02 + -6.40423894e-02 -6.41905963e-02 -6.40648082e-02 -6.37101009e-02 -6.31598607e-02 + -6.24276809e-02 -6.15061745e-02 -6.03693090e-02 -5.89774102e-02 -5.72836138e-02 + -5.52406199e-02 -5.28066903e-02 -4.99503501e-02 -4.66534682e-02 -4.29125652e-02 + -3.87384482e-02 -3.41544747e-02 -2.91940514e-02 -2.38983668e-02 -1.83151159e-02 + -1.24987084e-02 -6.51160162e-03 -4.25772130e-04 5.67733264e-03 1.17100822e-02 + 1.75859910e-02 2.32300404e-02 2.85893213e-02 3.36411037e-02 3.83964293e-02 + 4.28983569e-02 4.72150147e-02 5.14289364e-02 5.56255952e-02 5.98842278e-02 + 6.42724782e-02 6.88446164e-02 7.36419708e-02 7.86943883e-02 8.40217322e-02 + 8.96348730e-02 9.55360457e-02 1.01718187e-01 1.08163275e-01 1.14839360e-01 + 1.21696308e-01 1.28660396e-01 1.35628805e-01 1.42466441e-01 1.49009168e-01 + 1.55076966e-01 1.60496101e-01 1.65122703e-01 1.68861225e-01 1.71675220e-01 + 1.73590869e-01 1.74691066e-01 1.75098643e-01 1.74953416e-01 1.74391329e-01 + -5.85938469e-02 -6.60951436e-02 -6.61718547e-02 -6.40345588e-02 -6.26190305e-02 + -6.16292357e-02 -6.08593002e-02 -6.01881258e-02 -5.95435649e-02 -5.88772558e-02 + -5.81498966e-02 -5.73236942e-02 -5.63592911e-02 -5.52154295e-02 -5.38503230e-02 + -5.22239134e-02 -5.03004640e-02 -4.80511412e-02 -4.54561859e-02 -4.25056890e-02 + -3.91995795e-02 -3.55471633e-02 -3.15663032e-02 -2.72825286e-02 -2.27282457e-02 + -1.79421026e-02 -1.29683558e-02 -7.85597600e-03 -2.65702442e-03 2.57607526e-03 + 7.79444259e-03 1.29573541e-02 1.80367325e-02 2.30205413e-02 2.79143266e-02 + 3.27405445e-02 3.75357606e-02 4.23463956e-02 4.72239144e-02 5.22204489e-02 + 5.73855191e-02 6.27640411e-02 6.83954731e-02 7.43136778e-02 8.05471912e-02 + 8.71194005e-02 9.40484405e-02 1.01346336e-01 1.09016910e-01 1.17051803e-01 + 1.25423357e-01 1.34072781e-01 1.42892048e-01 1.51700228e-01 1.60225242e-01 + 1.68122455e-01 1.75049618e-01 1.80738583e-01 1.85021073e-01 1.87837943e-01 + 1.89255014e-01 1.89470798e-01 1.88771948e-01 1.87447980e-01 1.85737967e-01 + -5.89548796e-02 -6.63856268e-02 -6.55696541e-02 -6.25159889e-02 -6.02073036e-02 + -5.84761985e-02 -5.71781322e-02 -5.61893284e-02 -5.54086864e-02 -5.47538996e-02 + -5.41563369e-02 -5.35566919e-02 -5.29018752e-02 -5.21431193e-02 -5.12350798e-02 + -5.01355529e-02 -4.88059148e-02 -4.72127125e-02 -4.53327633e-02 -4.31505404e-02 + -4.06578295e-02 -3.78537178e-02 -3.47444750e-02 -3.13432254e-02 -2.76693963e-02 + -2.37477999e-02 -1.96071379e-02 -1.52786272e-02 -1.07945334e-02 -6.18631719e-03 + -1.48238230e-03 3.29428283e-03 8.12824536e-03 1.30132288e-02 1.79528929e-02 + 2.29606647e-02 2.80586556e-02 3.32759023e-02 3.86462808e-02 4.42064665e-02 + 4.99942452e-02 5.60473353e-02 6.24027699e-02 6.90968037e-02 7.61651546e-02 + 8.36434960e-02 9.15680453e-02 9.99759734e-02 1.08905300e-01 1.18393607e-01 + 1.28473952e-01 1.39164403e-01 1.50442079e-01 1.62182108e-01 1.74026519e-01 + 1.85040206e-01 1.94387719e-01 2.01682255e-01 2.06679478e-01 2.09237054e-01 + 2.09345669e-01 2.07451716e-01 2.04531640e-01 2.01159462e-01 1.97678313e-01 + -5.52194975e-02 -6.23871423e-02 -6.14458025e-02 -5.81271648e-02 -5.55767976e-02 + -5.36860712e-02 -5.23347743e-02 -5.14045730e-02 -5.07877767e-02 -5.03904186e-02 + -5.01319170e-02 -4.99431826e-02 -4.97643277e-02 -4.95424420e-02 -4.92294692e-02 + -4.87797298e-02 -4.81461957e-02 -4.72732745e-02 -4.61443663e-02 -4.47401032e-02 + -4.30447459e-02 -4.10482511e-02 -3.87469307e-02 -3.61437798e-02 -3.32487337e-02 + -3.00781224e-02 -2.66498234e-02 -2.29824502e-02 -1.90950241e-02 -1.50060933e-02 + -1.07320668e-02 -6.28583226e-03 -1.67569227e-03 3.09545221e-03 8.03063530e-03 + 1.31389238e-02 1.84350908e-02 2.39389669e-02 2.96746045e-02 3.56694572e-02 + 4.19536941e-02 4.85597961e-02 5.55225126e-02 6.28792346e-02 7.06708282e-02 + 7.89429396e-02 8.77479687e-02 9.71477479e-02 1.07217416e-01 1.18050843e-01 + 1.29768968e-01 1.42533332e-01 1.56571418e-01 1.72238767e-01 1.89839959e-01 + 2.05843136e-01 2.18688384e-01 2.28284061e-01 2.34438747e-01 2.36721590e-01 + 2.34996662e-01 2.28623584e-01 2.21460611e-01 2.14920938e-01 2.09076673e-01 + -4.79200333e-02 -5.47691770e-02 -5.38835153e-02 -5.06875366e-02 -4.83828895e-02 + -4.68437932e-02 -4.59179208e-02 -4.54662554e-02 -4.53695171e-02 -4.55280207e-02 + -4.58591282e-02 -4.62941229e-02 -4.67753895e-02 -4.72541228e-02 -4.76886034e-02 + -4.80430387e-02 -4.82870750e-02 -4.81757820e-02 -4.78483811e-02 -4.72590365e-02 + -4.63775173e-02 -4.51827571e-02 -4.36603688e-02 -4.18027043e-02 -3.96125168e-02 + -3.71149145e-02 -3.43198292e-02 -3.12343836e-02 -2.78674848e-02 -2.42306720e-02 + -2.03331932e-02 -1.61815211e-02 -1.17795439e-02 -7.12838257e-03 -2.22559902e-03 + 2.93513760e-03 8.36404972e-03 1.40751321e-02 2.00859364e-02 2.64173634e-02 + 3.30935605e-02 4.01420332e-02 4.75940332e-02 5.54853082e-02 6.38573766e-02 + 7.27594048e-02 8.22509751e-02 9.24061909e-02 1.03319652e-01 1.15115672e-01 + 1.27962589e-01 1.42096147e-01 1.57857895e-01 1.75751671e-01 1.96474627e-01 + 2.17707977e-01 2.34431341e-01 2.46575966e-01 2.54233718e-01 2.57327020e-01 + 2.55191445e-01 2.47442856e-01 2.35687882e-01 2.25890428e-01 2.17822984e-01 + -3.68349776e-02 -4.33760062e-02 -4.22818437e-02 -3.96966301e-02 -3.82984504e-02 + -3.77444550e-02 -3.77951600e-02 -3.82810012e-02 -3.90797257e-02 -4.00998741e-02 + -4.12705131e-02 -4.25350405e-02 -4.38473821e-02 -4.51697148e-02 -4.64712940e-02 + -4.77284119e-02 -4.89256643e-02 -4.98344824e-02 -5.04535250e-02 -5.07667325e-02 + -5.07531725e-02 -5.03901057e-02 -4.96526659e-02 -4.85102311e-02 -4.69169132e-02 + -4.50398140e-02 -4.28364165e-02 -4.02860083e-02 -3.73845473e-02 -3.41540053e-02 + -3.05980910e-02 -2.67160423e-02 -2.25078631e-02 -1.79755241e-02 -1.31181013e-02 + -7.93172512e-03 -2.40999018e-03 3.45631759e-03 9.67927370e-03 1.62738245e-02 + 2.32579727e-02 3.06531023e-02 3.84845361e-02 4.67823446e-02 5.55825271e-02 + 6.49287254e-02 7.48745948e-02 8.54871795e-02 9.68515724e-02 1.09077476e-01 + 1.22308180e-01 1.36732429e-01 1.52598456e-01 1.70227572e-01 1.90022796e-01 + 2.12343365e-01 2.31524929e-01 2.45648280e-01 2.54885405e-01 2.59287506e-01 + 2.58975118e-01 2.53275722e-01 2.42055327e-01 2.30514526e-01 2.21469611e-01 + -1.89456064e-02 -2.42873207e-02 -2.47441400e-02 -2.44951043e-02 -2.52779517e-02 + -2.65879426e-02 -2.82275360e-02 -3.00932173e-02 -3.21190171e-02 -3.42571475e-02 + -3.64700928e-02 -3.87269594e-02 -4.10016216e-02 -4.32717428e-02 -4.55182791e-02 + -4.77255136e-02 -4.98821326e-02 -5.17543107e-02 -5.33212051e-02 -5.45616746e-02 + -5.54537326e-02 -5.59751466e-02 -5.61043993e-02 -5.58223799e-02 -5.51165976e-02 + -5.39927408e-02 -5.24351858e-02 -5.04147597e-02 -4.78827097e-02 -4.50285189e-02 + -4.18008156e-02 -3.81729491e-02 -3.41368355e-02 -2.97124721e-02 -2.49004513e-02 + -1.96976904e-02 -1.41023770e-02 -8.11003614e-03 -1.71390024e-03 5.09461248e-03 + 1.23263802e-02 1.99950039e-02 2.81172823e-02 3.67137529e-02 4.58093956e-02 + 5.54345250e-02 6.56259209e-02 7.64282271e-02 8.78954828e-02 1.00092806e-01 + 1.13097697e-01 1.27000347e-01 1.41902104e-01 1.57911941e-01 1.75145864e-01 + 1.93765223e-01 2.12754324e-01 2.26818666e-01 2.36598209e-01 2.42427662e-01 + 2.44151369e-01 2.42088437e-01 2.35684618e-01 2.25954995e-01 2.18360856e-01 + 5.70534635e-03 3.40137957e-03 -1.74057414e-03 -6.68202853e-03 -1.07768634e-02 + -1.45108383e-02 -1.80715192e-02 -2.15421449e-02 -2.49621738e-02 -2.83499025e-02 + -3.17124501e-02 -3.50507200e-02 -3.83620374e-02 -4.16414253e-02 -4.48816866e-02 + -4.80715893e-02 -5.11900671e-02 -5.40141948e-02 -5.65233529e-02 -5.86940125e-02 + -6.05017655e-02 -6.19224347e-02 -6.29329309e-02 -6.35121316e-02 -6.36417717e-02 + -6.33065775e-02 -6.24905229e-02 -6.11782297e-02 -5.93601950e-02 -5.70462383e-02 + -5.42214438e-02 -5.08564226e-02 -4.69025597e-02 -4.25663441e-02 -3.77934687e-02 + -3.25640030e-02 -2.68945973e-02 -2.07839869e-02 -1.42288981e-02 -7.22865155e-03 + 2.19153459e-04 8.11884832e-03 1.64769590e-02 2.53022499e-02 3.46057378e-02 + 4.44006622e-02 5.47022745e-02 6.55273646e-02 7.68931210e-02 8.88149813e-02 + 1.01302527e-01 1.14352189e-01 1.27934188e-01 1.41968742e-01 1.56279251e-01 + 1.70490399e-01 1.83849379e-01 1.95366323e-01 2.04446003e-01 2.10895345e-01 + 2.14699194e-01 2.15971544e-01 2.15030149e-01 2.12580502e-01 2.09619761e-01 + 2.36674007e-02 2.23206226e-02 1.57517605e-02 8.61145090e-03 2.35912087e-03 + -3.28320474e-03 -8.51246621e-03 -1.34596219e-02 -1.82097908e-02 -2.28183977e-02 + -2.73218434e-02 -3.17443646e-02 -3.61025780e-02 -4.04087752e-02 -4.46739197e-02 + -4.89114374e-02 -5.29242009e-02 -5.66645600e-02 -6.00951016e-02 -6.31832182e-02 + -6.58988655e-02 -6.82137683e-02 -7.01011717e-02 -7.15359524e-02 -7.24947080e-02 + -7.29557350e-02 -7.28987530e-02 -7.23052993e-02 -7.11595565e-02 -6.94485828e-02 + -6.71581626e-02 -6.42745197e-02 -6.07897416e-02 -5.67151420e-02 -5.20317331e-02 + -4.66967821e-02 -4.09390405e-02 -3.47034633e-02 -2.79739629e-02 -2.07730439e-02 + -1.31074116e-02 -4.98283980e-03 3.59687721e-03 1.26287108e-02 2.21098587e-02 + 3.20370421e-02 4.24055159e-02 5.32076098e-02 6.44304082e-02 7.60522708e-02 + 8.80375579e-02 1.00328878e-01 1.12835892e-01 1.25419796e-01 1.37874395e-01 + 1.49911210e-01 1.61169916e-01 1.71277598e-01 1.79932892e-01 1.86955690e-01 + 1.92293867e-01 1.96018875e-01 1.98323563e-01 1.99504197e-01 1.99898496e-01 + 3.57781611e-02 3.46924849e-02 2.81136595e-02 2.01999694e-02 1.28783621e-02 + 6.05726941e-03 -3.64917942e-04 -6.47681439e-03 -1.23497453e-02 -1.80388540e-02 + -2.35860310e-02 -2.90230233e-02 -3.43741514e-02 -3.96585651e-02 -4.48921248e-02 + -5.00888228e-02 -5.50336801e-02 -5.96935302e-02 -6.40348718e-02 -6.80249259e-02 + -7.16318861e-02 -7.48249814e-02 -7.75745064e-02 -7.98519403e-02 -8.16299692e-02 + -8.28826129e-02 -8.35852772e-02 -8.37148950e-02 -8.32501799e-02 -8.21716711e-02 + -8.04615915e-02 -7.81045556e-02 -7.50888363e-02 -7.14072362e-02 -6.70541376e-02 + -6.20309189e-02 -5.63607365e-02 -5.00368774e-02 -4.30336632e-02 -3.55901122e-02 + -2.76688896e-02 -1.92895327e-02 -1.04618063e-02 -1.19867979e-03 8.48562270e-03 + 1.85745005e-02 2.90480722e-02 3.98817025e-02 5.10438196e-02 6.24928959e-02 + 7.41735846e-02 8.60119835e-02 9.79103372e-02 1.09742045e-01 1.21349014e-01 + 1.32544741e-01 1.43126413e-01 1.52896613e-01 1.61688641e-01 1.69387385e-01 + 1.75940886e-01 1.81362748e-01 1.85726449e-01 1.89150915e-01 1.91777974e-01 + 4.49508578e-02 4.40067649e-02 3.71752717e-02 2.88539659e-02 2.09333915e-02 + 1.33732362e-02 6.12447504e-03 -8.63195804e-04 -7.63637666e-03 -1.42358039e-02 + -2.06959266e-02 -2.70453282e-02 -3.33074443e-02 -3.95013243e-02 -4.56424616e-02 + -5.17442599e-02 -5.75844832e-02 -6.31311759e-02 -6.83516040e-02 -7.32126385e-02 + -7.76811987e-02 -8.17245916e-02 -8.53106901e-02 -8.84081647e-02 -9.09865722e-02 + -9.30164829e-02 -9.44696367e-02 -9.53190550e-02 -9.55392420e-02 -9.51064080e-02 + -9.39987376e-02 -9.21968296e-02 -8.96843001e-02 -8.64483267e-02 -8.24800581e-02 + -7.77757391e-02 -7.23376051e-02 -6.61702976e-02 -5.92855997e-02 -5.17142974e-02 + -4.34510000e-02 -3.47663723e-02 -2.56300028e-02 -1.60718560e-02 -6.11376390e-03 + 4.21736389e-03 1.48913795e-02 2.58740745e-02 3.71253677e-02 4.85970825e-02 + 6.02305941e-02 7.19545111e-02 8.36827978e-02 9.53139588e-02 1.06731988e-01 + 1.17810085e-01 1.28417417e-01 1.38428435e-01 1.47733048e-01 1.56245425e-01 + 1.63909927e-01 1.70703053e-01 1.76631436e-01 1.81726366e-01 1.86035991e-01 + 5.17628863e-02 5.08597419e-02 4.38119657e-02 3.52369547e-02 2.69344132e-02 + 1.88739989e-02 1.10287694e-02 3.37141310e-03 -4.12482070e-03 -1.14855384e-02 + -1.87346749e-02 -2.58940160e-02 -3.29826809e-02 -4.00161557e-02 -4.70040105e-02 + -5.39439879e-02 -6.06173202e-02 -6.69949204e-02 -7.30437636e-02 -7.87293091e-02 + -8.40165541e-02 -8.88706148e-02 -9.32570323e-02 -9.71419215e-02 -1.00492120e-01 + -1.03275314e-01 -1.05460130e-01 -1.07016325e-01 -1.07914940e-01 -1.08128540e-01 + -1.07631557e-01 -1.06400631e-01 -1.04415141e-01 -1.01657741e-01 -9.81149599e-02 + -9.37779844e-02 -8.86433944e-02 -8.27138424e-02 -7.59997368e-02 -6.85212687e-02 + -6.03079982e-02 -5.14110401e-02 -4.18456495e-02 -3.19027416e-02 -2.15649232e-02 + -1.08760819e-02 1.26147919e-04 1.14042452e-02 2.29173377e-02 3.46189104e-02 + 4.64552641e-02 5.83644845e-02 7.02759400e-02 8.21104124e-02 9.37812254e-02 + 1.05196357e-01 1.16261669e-01 1.26884833e-01 1.36979386e-01 1.46468356e-01 + 1.55286744e-01 1.63382903e-01 1.70718685e-01 1.77268907e-01 1.83020547e-01 + 5.63793182e-02 5.53849675e-02 4.84921336e-02 3.98056991e-02 3.12643163e-02 + 2.28457768e-02 1.45408865e-02 6.34403387e-03 -1.75331242e-03 -9.76322498e-03 + -1.77003872e-02 -2.55811606e-02 -3.34231891e-02 -4.12459522e-02 -4.90730964e-02 + -5.67220636e-02 -6.41372204e-02 -7.12725818e-02 -7.80864432e-02 -8.45391303e-02 + -9.05921459e-02 -9.62078050e-02 -1.01349130e-01 -1.05979830e-01 -1.10064305e-01 + -1.13567725e-01 -1.16456091e-01 -1.18696362e-01 -1.20256625e-01 -1.21106312e-01 + -1.21216476e-01 -1.20560184e-01 -1.19112954e-01 -1.16853274e-01 -1.13763303e-01 + -1.09829552e-01 -1.05043821e-01 -9.94041413e-02 -9.29160863e-02 -8.55941102e-02 + -7.74629340e-02 -6.85594529e-02 -5.89323044e-02 -4.86551113e-02 -3.77719700e-02 + -2.65843160e-02 -1.51152434e-02 -3.39324609e-03 8.54814518e-03 2.06694957e-02 + 3.29257138e-02 4.52662967e-02 5.76355010e-02 6.99726120e-02 8.22123736e-02 + 9.42857042e-02 1.06120504e-01 1.17642537e-01 1.28776029e-01 1.39443994e-01 + 1.49568230e-01 1.59069419e-01 1.67867914e-01 1.75885975e-01 1.83052197e-01 + 5.95079772e-02 5.82261980e-02 5.15097305e-02 4.30247411e-02 3.43415327e-02 + 2.56070085e-02 1.68888103e-02 8.21299013e-03 -4.13635426e-04 -8.99437722e-03 + -1.75382439e-02 -2.60574855e-02 -3.45661566e-02 -4.30794246e-02 -5.16139232e-02 + -5.99583760e-02 -6.80700615e-02 -7.59062693e-02 -8.34249631e-02 -9.05849114e-02 + -9.73456725e-02 -1.03667520e-01 -1.09511450e-01 -1.14839092e-01 -1.19612776e-01 + -1.23795509e-01 -1.27351061e-01 -1.30243987e-01 -1.32439867e-01 -1.33905351e-01 + -1.34608582e-01 -1.34519368e-01 -1.33609682e-01 -1.31854221e-01 -1.29230887e-01 + -1.25721678e-01 -1.21313393e-01 -1.15998738e-01 -1.09777331e-01 -1.02656923e-01 + -9.46545750e-02 -8.57977793e-02 -7.61252865e-02 -6.56877533e-02 -5.45445606e-02 + -4.27701846e-02 -3.07286102e-02 -1.84407104e-02 -5.92973176e-03 6.77102664e-03 + 1.96241401e-02 3.25898156e-02 4.56262268e-02 5.86893931e-02 7.17328340e-02 + 8.47070739e-02 9.75587592e-02 1.10229269e-01 1.22652553e-01 1.34752080e-01 + 1.46437094e-01 1.57598972e-01 1.68109402e-01 1.77822992e-01 1.86586916e-01 + 6.37704432e-02 6.27122596e-02 5.51438928e-02 4.58444431e-02 3.66202965e-02 + 2.74186786e-02 1.82448104e-02 9.10222344e-03 -1.20338036e-05 -9.10591055e-03 + -1.81905702e-02 -2.72787940e-02 -3.63831669e-02 -4.55131494e-02 -5.46687692e-02 + -6.36345744e-02 -7.23723546e-02 -8.08406025e-02 -8.89968202e-02 -9.67985615e-02 + -1.04203805e-01 -1.11171164e-01 -1.17659874e-01 -1.23629846e-01 -1.29041597e-01 + -1.33856311e-01 -1.38035819e-01 -1.41542673e-01 -1.44340217e-01 -1.46392778e-01 + -1.47665828e-01 -1.48126334e-01 -1.47743076e-01 -1.46487132e-01 -1.44332513e-01 + -1.41256750e-01 -1.37241781e-01 -1.32274836e-01 -1.26349509e-01 -1.19466819e-01 + -1.11636452e-01 -1.02877893e-01 -9.32215899e-02 -8.27099532e-02 -7.13980719e-02 + -5.93548715e-02 -4.66625951e-02 -3.37232500e-02 -2.05227844e-02 -7.10964995e-03 + 6.48012199e-03 2.02161707e-02 3.40709388e-02 4.80181389e-02 6.20316304e-02 + 7.60841891e-02 9.01457444e-02 1.04180641e-01 1.18143231e-01 1.31971195e-01 + 1.45575821e-01 1.58828825e-01 1.71547681e-01 1.83485821e-01 1.94342807e-01 + 6.66128844e-02 6.56026378e-02 5.76687753e-02 4.77133878e-02 3.79185975e-02 + 2.82333698e-02 1.86186656e-02 9.04791616e-03 -5.00021561e-04 -1.00443922e-02 + -1.96040943e-02 -2.91985720e-02 -3.88489850e-02 -4.85807434e-02 -5.82203642e-02 + -6.77057579e-02 -7.69841224e-02 -8.60068500e-02 -9.47275534e-02 -1.03101194e-01 + -1.11083761e-01 -1.18632123e-01 -1.25703901e-01 -1.32257402e-01 -1.38251618e-01 + -1.43646106e-01 -1.48401082e-01 -1.52477324e-01 -1.55836299e-01 -1.58440262e-01 + -1.60252407e-01 -1.61237121e-01 -1.61360338e-01 -1.60589874e-01 -1.58896074e-01 + -1.56252339e-01 -1.52635947e-01 -1.48028925e-01 -1.42419055e-01 -1.35800973e-01 + -1.28177464e-01 -1.19560763e-01 -1.09974116e-01 -9.94534716e-02 -8.80495608e-02 + -7.58308917e-02 -6.28882572e-02 -4.93432842e-02 -3.52785289e-02 -2.10241005e-02 + -6.59035705e-03 8.01210292e-03 2.27753837e-02 3.76947261e-02 5.27683310e-02 + 6.79968894e-02 8.33825767e-02 9.89269689e-02 1.14627093e-01 1.30468011e-01 + 1.46409437e-01 1.62361220e-01 1.78139612e-01 1.93392068e-01 2.07494110e-01 + 6.78221434e-02 6.67646900e-02 5.82757592e-02 4.80129421e-02 3.78952734e-02 + 2.78827660e-02 1.79416481e-02 8.03982280e-03 -1.85188546e-03 -1.17598101e-02 + -2.17079110e-02 -3.17183211e-02 -4.18120176e-02 -5.20100966e-02 -6.21075034e-02 + -7.20560700e-02 -8.18073675e-02 -9.13135037e-02 -1.00527383e-01 -1.09402776e-01 + -1.17894322e-01 -1.25957489e-01 -1.33548498e-01 -1.40624329e-01 -1.47142589e-01 + -1.53061464e-01 -1.58339709e-01 -1.62936613e-01 -1.66812032e-01 -1.69926420e-01 + -1.72241002e-01 -1.73717916e-01 -1.74320519e-01 -1.74013779e-01 -1.72764689e-01 + -1.70542881e-01 -1.67321339e-01 -1.63077235e-01 -1.57792851e-01 -1.51456743e-01 + -1.44064948e-01 -1.35622352e-01 -1.26144171e-01 -1.15657583e-01 -1.04203410e-01 + -9.18377787e-02 -7.86333084e-02 -6.46789297e-02 -5.00752069e-02 -3.49421389e-02 + -1.96266305e-02 -4.13001515e-03 1.15579758e-02 2.74546389e-02 4.35839631e-02 + 5.99776246e-02 7.66763687e-02 9.37312767e-02 1.11204728e-01 1.29170328e-01 + 1.47710666e-01 1.66909650e-01 1.86827570e-01 2.07388148e-01 2.27447316e-01 + 6.67878091e-02 6.55494332e-02 5.71831986e-02 4.67767790e-02 3.65000851e-02 + 2.63204854e-02 1.61981881e-02 6.09435095e-03 -4.02623555e-03 -1.41944364e-02 + -2.44368352e-02 -3.47755663e-02 -4.52267267e-02 -5.57951741e-02 -6.62675947e-02 + -7.66013339e-02 -8.67498890e-02 -9.66655016e-02 -1.06300332e-01 -1.15607060e-01 + -1.24539070e-01 -1.33050546e-01 -1.41096458e-01 -1.48632526e-01 -1.55615151e-01 + -1.62001297e-01 -1.67748466e-01 -1.72814652e-01 -1.77158311e-01 -1.80738375e-01 + -1.83514327e-01 -1.85446396e-01 -1.86495751e-01 -1.86624765e-01 -1.85797557e-01 + -1.83980376e-01 -1.81142360e-01 -1.77256271e-01 -1.72299385e-01 -1.66254595e-01 + -1.59111559e-01 -1.50868028e-01 -1.41531244e-01 -1.31119415e-01 -1.19663268e-01 + -1.07207358e-01 -9.38114375e-02 -7.95514435e-02 -6.45207316e-02 -4.88335527e-02 + -3.26308608e-02 -1.62753798e-02 2.77872110e-04 1.70696974e-02 3.41464914e-02 + 5.15662581e-02 6.94037154e-02 8.77559409e-02 1.06749818e-01 1.26552537e-01 + 1.47387877e-01 1.69564024e-01 1.93529725e-01 2.20003963e-01 2.47763395e-01 + 6.42795488e-02 6.28340021e-02 5.44204339e-02 4.40000296e-02 3.37422416e-02 + 2.35792659e-02 1.34457182e-02 3.28923436e-03 -6.93154288e-03 -1.72502175e-02 + -2.76956372e-02 -3.82947810e-02 -4.90765125e-02 -5.98706380e-02 -7.06116259e-02 + -8.12421665e-02 -9.17086080e-02 -1.01959236e-01 -1.11943685e-01 -1.21612705e-01 + -1.30918115e-01 -1.39812693e-01 -1.48250148e-01 -1.56185001e-01 -1.63572490e-01 + -1.70368522e-01 -1.76529497e-01 -1.82012260e-01 -1.86774075e-01 -1.90772563e-01 + -1.93965778e-01 -1.96312308e-01 -1.97771430e-01 -1.98303387e-01 -1.97869778e-01 + -1.96433976e-01 -1.93961754e-01 -1.90422058e-01 -1.85787782e-01 -1.80036798e-01 + -1.73153162e-01 -1.65128216e-01 -1.55962110e-01 -1.45665109e-01 -1.34259075e-01 + -1.21778741e-01 -1.08272895e-01 -9.38049704e-02 -7.84528255e-02 -6.23066425e-02 + -4.54621874e-02 -2.84061804e-02 -1.11287767e-02 6.39990205e-03 2.42279544e-02 + 4.24226560e-02 6.10740744e-02 8.03013816e-02 1.00262545e-01 1.21168554e-01 + 1.43303841e-01 1.67054310e-01 1.92940190e-01 2.21638590e-01 2.52495676e-01 + 6.02169484e-02 5.85374869e-02 4.96886708e-02 3.95674147e-02 2.96563059e-02 + 1.97762363e-02 9.83799435e-03 -2.09217353e-04 -1.03987819e-02 -2.07556803e-02 + -3.13006006e-02 -4.20521498e-02 -5.30288741e-02 -6.40222207e-02 -7.49781355e-02 + -8.58421326e-02 -9.65602547e-02 -1.07079461e-01 -1.17347807e-01 -1.27314478e-01 + -1.36929840e-01 -1.46145314e-01 -1.54913411e-01 -1.63187534e-01 -1.70921892e-01 + -1.78071350e-01 -1.84591383e-01 -1.90437838e-01 -1.95566967e-01 -1.99935302e-01 + -2.03499690e-01 -2.06217378e-01 -2.08046108e-01 -2.08944321e-01 -2.08871558e-01 + -2.07788795e-01 -2.05659077e-01 -2.02448115e-01 -1.98125169e-01 -1.92663997e-01 + -1.86043918e-01 -1.78251088e-01 -1.69279873e-01 -1.59134239e-01 -1.47829384e-01 + -1.35393128e-01 -1.21867612e-01 -1.07310615e-01 -9.17971283e-02 -7.54211321e-02 + -5.82985170e-02 -4.05740216e-02 -2.26738378e-02 -4.57146903e-03 1.37806917e-02 + 3.24479863e-02 5.15155233e-02 7.10932612e-02 9.13238823e-02 1.12394392e-01 + 1.34553254e-01 1.58136353e-01 1.83607340e-01 2.11615682e-01 2.41713822e-01 + 5.18039837e-02 4.90868092e-02 4.22371514e-02 3.36156078e-02 2.45843846e-02 + 1.52688436e-02 5.69826830e-03 -4.11947723e-03 -1.41848642e-02 -2.45022122e-02 + -3.50770317e-02 -4.59128097e-02 -5.70046864e-02 -6.81300536e-02 -7.92378262e-02 + -9.02736709e-02 -1.01182573e-01 -1.11909978e-01 -1.22402340e-01 -1.32607341e-01 + -1.42473891e-01 -1.51952222e-01 -1.60993636e-01 -1.69550508e-01 -1.77576095e-01 + -1.85024410e-01 -1.91850036e-01 -1.98008016e-01 -2.03453735e-01 -2.08142847e-01 + -2.12031230e-01 -2.15075016e-01 -2.17230737e-01 -2.18455434e-01 -2.18707010e-01 + -2.17944533e-01 -2.16128871e-01 -2.13223234e-01 -2.09194005e-01 -2.04011649e-01 + -1.97651893e-01 -1.90096825e-01 -1.81336433e-01 -1.71370015e-01 -1.60207838e-01 + -1.47872925e-01 -1.34402722e-01 -1.19851023e-01 -1.04289874e-01 -8.78116265e-02 + -7.05314130e-02 -5.25903217e-02 -3.41595225e-02 -1.56479403e-02 3.00467829e-03 + 2.18557958e-02 4.09693085e-02 6.04204200e-02 8.02991539e-02 1.00713678e-01 + 1.21794038e-01 1.43697709e-01 1.66623220e-01 1.90869421e-01 2.16438681e-01 + 4.51889522e-02 4.19431999e-02 3.56218107e-02 2.78794356e-02 1.95438117e-02 + 1.07299117e-02 1.51182432e-03 -8.06923211e-03 -1.79923326e-02 -2.82492843e-02 + -3.88411731e-02 -4.97781523e-02 -6.08761311e-02 -7.20578954e-02 -8.32559839e-02 + -9.44078043e-02 -1.05453692e-01 -1.16336122e-01 -1.26999423e-01 -1.37389585e-01 + -1.47454157e-01 -1.57142118e-01 -1.66403756e-01 -1.75190508e-01 -1.83454782e-01 + -1.91149831e-01 -1.98229507e-01 -2.04648167e-01 -2.10360497e-01 -2.15321422e-01 + -2.19486073e-01 -2.22809747e-01 -2.25248039e-01 -2.26756915e-01 -2.27293015e-01 + -2.26814032e-01 -2.25279167e-01 -2.22649753e-01 -2.18890026e-01 -2.13968083e-01 + -2.07856938e-01 -2.00535774e-01 -1.91991404e-01 -1.82219803e-01 -1.71227828e-01 + -1.59035027e-01 -1.45675510e-01 -1.31199732e-01 -1.15676276e-01 -9.91929993e-02 + -8.18573907e-02 -6.37945905e-02 -4.51403111e-02 -2.64357701e-02 -7.68615725e-03 + 1.11254677e-02 3.00248172e-02 4.90403026e-02 6.81982860e-02 8.75164121e-02 + 1.06991738e-01 1.26577511e-01 1.46134317e-01 1.65322646e-01 1.83425128e-01 + 4.08506431e-02 3.74002084e-02 3.09532769e-02 2.33644303e-02 1.52706588e-02 + 6.70434255e-03 -2.30050110e-03 -1.17174461e-02 -2.15288606e-02 -3.17250490e-02 + -4.23030779e-02 -5.32658063e-02 -6.43932223e-02 -7.56193772e-02 -8.68796259e-02 + -9.81112793e-02 -1.09253623e-01 -1.20247878e-01 -1.31037101e-01 -1.41566128e-01 + -1.51781410e-01 -1.61631003e-01 -1.71064302e-01 -1.80031985e-01 -1.88485757e-01 + -1.96378201e-01 -2.03662604e-01 -2.10292742e-01 -2.16222763e-01 -2.21407056e-01 + -2.25800171e-01 -2.29356781e-01 -2.32031763e-01 -2.33780354e-01 -2.34558299e-01 + -2.34322280e-01 -2.33030319e-01 -2.30642468e-01 -2.27121457e-01 -2.22433716e-01 + -2.16550440e-01 -2.09448844e-01 -2.01113641e-01 -1.91538617e-01 -1.80728495e-01 + -1.68700755e-01 -1.55487657e-01 -1.41138285e-01 -1.25720561e-01 -1.09323278e-01 + -9.20581594e-02 -7.40626156e-02 -5.55048510e-02 -3.65965478e-02 -1.78177487e-02 + 8.55514489e-04 1.94316134e-02 3.79074998e-02 5.62661812e-02 7.44699016e-02 + 9.24488604e-02 1.10084713e-01 1.27189085e-01 1.43484011e-01 1.58604875e-01 + 3.74238268e-02 3.38064805e-02 2.74243113e-02 1.98574290e-02 1.18354652e-02 + 3.36829154e-03 -5.53392200e-03 -1.48611236e-02 -2.46050935e-02 -3.47601622e-02 + -4.53234538e-02 -5.62955327e-02 -6.74393177e-02 -7.86916614e-02 -8.99899006e-02 + -1.01272210e-01 -1.12477966e-01 -1.23547994e-01 -1.34424746e-01 -1.45052314e-01 + -1.55376479e-01 -1.65344536e-01 -1.74905270e-01 -1.84008718e-01 -1.92606047e-01 + -2.00649351e-01 -2.08091423e-01 -2.14885622e-01 -2.20985681e-01 -2.26345584e-01 + -2.30919451e-01 -2.34661520e-01 -2.37526223e-01 -2.39468232e-01 -2.40442738e-01 + -2.40405738e-01 -2.39314511e-01 -2.37128243e-01 -2.33808741e-01 -2.29321361e-01 + -2.23636165e-01 -2.16729164e-01 -2.08583787e-01 -1.99192628e-01 -1.88559160e-01 + -1.76699817e-01 -1.63646027e-01 -1.49446338e-01 -1.34168565e-01 -1.17901646e-01 + -1.00757279e-01 -8.28704983e-02 -6.43982738e-02 -4.55127470e-02 -2.68062409e-02 + -8.31793994e-03 9.92705859e-03 2.79015005e-02 4.55670021e-02 6.28673136e-02 + 7.97219649e-02 9.60204452e-02 1.11618392e-01 1.26339272e-01 1.39985532e-01 + 3.49456184e-02 3.12228408e-02 2.47501768e-02 1.71641298e-02 9.15994775e-03 + 7.31655979e-04 -8.12387560e-03 -1.74075793e-02 -2.71190349e-02 -3.72565612e-02 + -4.78155911e-02 -5.87833039e-02 -6.99241757e-02 -8.11810121e-02 -9.24933404e-02 + -1.03800014e-01 -1.15040399e-01 -1.26155019e-01 -1.37085855e-01 -1.47776514e-01 + -1.58172235e-01 -1.68219820e-01 -1.77867532e-01 -1.87064990e-01 -1.95762932e-01 + -2.03913078e-01 -2.11467892e-01 -2.18380406e-01 -2.24604040e-01 -2.30092496e-01 + -2.34799623e-01 -2.38679394e-01 -2.41685897e-01 -2.43773505e-01 -2.44897038e-01 + -2.45012134e-01 -2.44075596e-01 -2.42046162e-01 -2.38885060e-01 -2.34557122e-01 + -2.29031757e-01 -2.22284347e-01 -2.14297727e-01 -2.05063865e-01 -1.94585755e-01 + -1.82879448e-01 -1.69976220e-01 -1.55924812e-01 -1.40793741e-01 -1.24673501e-01 + -1.07678860e-01 -8.99511352e-02 -7.16610998e-02 -5.30139357e-02 -3.42608057e-02 + -1.58902928e-02 2.09665857e-03 1.96799431e-02 3.68232913e-02 5.34744412e-02 + 6.95644766e-02 8.50076899e-02 9.97031033e-02 1.13538690e-01 1.26399130e-01 + 3.31220068e-02 2.93247364e-02 2.27506515e-02 1.51589327e-02 7.17424136e-03 + -1.22468115e-03 -1.00501962e-02 -1.93105210e-02 -2.90125031e-02 -3.91642153e-02 + -4.97782007e-02 -6.06747083e-02 -7.17755035e-02 -8.30105990e-02 -9.43138674e-02 + -1.05621494e-01 -1.16871499e-01 -1.28003567e-01 -1.38959140e-01 -1.49681345e-01 + -1.60115004e-01 -1.70206562e-01 -1.79903954e-01 -1.89156458e-01 -1.97914571e-01 + -2.06129700e-01 -2.13754103e-01 -2.20740587e-01 -2.27042392e-01 -2.32613027e-01 + -2.37406164e-01 -2.41375610e-01 -2.44475305e-01 -2.46659443e-01 -2.47882664e-01 + -2.48100415e-01 -2.47269332e-01 -2.45347887e-01 -2.42297143e-01 -2.38081679e-01 + -2.32670665e-01 -2.26039305e-01 -2.18170196e-01 -2.09055170e-01 -1.98697165e-01 + -1.87112212e-01 -1.74331710e-01 -1.60404697e-01 -1.45400017e-01 -1.29408643e-01 + -1.12545684e-01 -9.49520543e-02 -7.67957196e-02 -5.82718290e-02 -3.96003723e-02 + -2.13709548e-02 -3.59759713e-03 1.36956330e-02 3.04738488e-02 4.66912687e-02 + 6.22916929e-02 7.72097632e-02 9.13733169e-02 1.04707010e-01 1.17137313e-01 + 3.16162370e-02 2.77286191e-02 2.12797951e-02 1.37692681e-02 5.85232815e-03 + -2.49623950e-03 -1.12846503e-02 -2.05176827e-02 -3.02007291e-02 -4.03407589e-02 + -5.09465039e-02 -6.18182123e-02 -7.28919432e-02 -8.41027424e-02 -9.53861251e-02 + -1.06678702e-01 -1.17918447e-01 -1.29044920e-01 -1.39999345e-01 -1.50724664e-01 + -1.61165491e-01 -1.71268076e-01 -1.80980161e-01 -1.90250888e-01 -1.99030533e-01 + -2.07270429e-01 -2.14922637e-01 -2.21939862e-01 -2.28275239e-01 -2.33882174e-01 + -2.38714278e-01 -2.42725268e-01 -2.45869026e-01 -2.48099700e-01 -2.49371901e-01 + -2.49641031e-01 -2.48863712e-01 -2.46998414e-01 -2.44006202e-01 -2.39851683e-01 + -2.34504089e-01 -2.27938667e-01 -2.20138147e-01 -2.11094543e-01 -2.00810924e-01 + -1.89303622e-01 -1.76604316e-01 -1.62762269e-01 -1.47846594e-01 -1.31948292e-01 + -1.15182079e-01 -9.76877213e-02 -7.96308070e-02 -6.12024330e-02 -4.26178165e-02 + -2.45080143e-02 -6.89113792e-03 1.02073131e-02 2.67540123e-02 4.27079760e-02 + 5.80213442e-02 7.26408660e-02 8.65100995e-02 9.95723158e-02 1.11774035e-01 + 3.05116903e-02 2.64429599e-02 2.03561839e-02 1.30971652e-02 5.26742637e-03 + -3.03610810e-03 -1.17928907e-02 -2.09991504e-02 -3.06573827e-02 -4.07733023e-02 + -5.13545536e-02 -6.21980093e-02 -7.32414499e-02 -8.44214484e-02 -9.56745073e-02 + -1.06937759e-01 -1.18149489e-01 -1.29249409e-01 -1.40178815e-01 -1.50880679e-01 + -1.61299616e-01 -1.71381876e-01 -1.81075156e-01 -1.90328553e-01 -1.99092329e-01 + -2.07317740e-01 -2.14956820e-01 -2.21962258e-01 -2.28287145e-01 -2.33884871e-01 + -2.38709018e-01 -2.42713347e-01 -2.45851770e-01 -2.48078465e-01 -2.49348104e-01 + -2.49616206e-01 -2.48839512e-01 -2.46976644e-01 -2.43988857e-01 -2.39840955e-01 + -2.34502450e-01 -2.27948904e-01 -2.20163390e-01 -2.11138293e-01 -2.00877130e-01 + -1.89396679e-01 -1.76729098e-01 -1.62924141e-01 -1.48051351e-01 -1.32202044e-01 + -1.15491055e-01 -9.80579630e-02 -8.00677389e-02 -6.17104657e-02 -4.32001911e-02 + -2.51747351e-02 -7.65281729e-03 9.34005342e-03 2.57714167e-02 4.16021869e-02 + 5.67875318e-02 7.12783784e-02 8.50234702e-02 9.79720354e-02 1.10076800e-01 + 3.12613361e-02 2.73964051e-02 2.09173094e-02 1.34074967e-02 5.50781749e-03 + -2.81125470e-03 -1.15608741e-02 -2.07477510e-02 -3.03785838e-02 -4.04613279e-02 + -5.10055125e-02 -6.18117899e-02 -7.28171021e-02 -8.39572847e-02 -9.51685384e-02 + -1.06388032e-01 -1.17554240e-01 -1.28607094e-01 -1.39488146e-01 -1.50140554e-01 + -1.60509124e-01 -1.70540228e-01 -1.80181697e-01 -1.89382717e-01 -1.98093608e-01 + -2.06265703e-01 -2.13851079e-01 -2.20802456e-01 -2.27072999e-01 -2.32616141e-01 + -2.37385556e-01 -2.41335049e-01 -2.44418666e-01 -2.46590719e-01 -2.47806087e-01 + -2.48020440e-01 -2.47190803e-01 -2.45276093e-01 -2.42237911e-01 -2.38041461e-01 + -2.32656732e-01 -2.26059750e-01 -2.18234196e-01 -2.09173009e-01 -1.98880404e-01 + -1.87373802e-01 -1.74686104e-01 -1.60867810e-01 -1.45989239e-01 -1.30142584e-01 + -1.13443583e-01 -9.60328802e-02 -7.80765116e-02 -5.97656146e-02 -4.13148925e-02 + -2.33365130e-02 -5.84813580e-03 1.11251632e-02 2.75505241e-02 4.33875062e-02 + 5.85889183e-02 7.31022879e-02 8.68720561e-02 9.98424441e-02 1.11960895e-01 + 3.21744382e-02 2.83819921e-02 2.19242480e-02 1.43766776e-02 6.44643512e-03 + -1.88262039e-03 -1.06238835e-02 -1.97871551e-02 -2.93809865e-02 -3.94150726e-02 + -4.99034300e-02 -6.06670491e-02 -7.16293827e-02 -8.27219561e-02 -9.38799605e-02 + -1.05040692e-01 -1.16143085e-01 -1.27127588e-01 -1.37936205e-01 -1.48512498e-01 + -1.58801645e-01 -1.68750286e-01 -1.78306520e-01 -1.87419742e-01 -1.96040466e-01 + -2.04120144e-01 -2.11611032e-01 -2.18465984e-01 -2.24638253e-01 -2.30081439e-01 + -2.34749362e-01 -2.38595992e-01 -2.41575569e-01 -2.43642658e-01 -2.44752407e-01 + -2.44860843e-01 -2.43925363e-01 -2.41905376e-01 -2.38762975e-01 -2.34464020e-01 + -2.28979126e-01 -2.22285062e-01 -2.14366287e-01 -2.05216587e-01 -1.94841027e-01 + -1.83257952e-01 -1.70501128e-01 -1.56621993e-01 -1.41691923e-01 -1.25804275e-01 + -1.09076366e-01 -9.16510299e-02 -7.36974105e-02 -5.54105639e-02 -3.70086506e-02 + -1.90434624e-02 -1.52839976e-03 1.55130988e-02 3.20469104e-02 4.80282418e-02 + 6.34021983e-02 7.81050399e-02 9.20665264e-02 1.05213471e-01 1.17474511e-01 + 3.36548798e-02 2.99652833e-02 2.34300122e-02 1.59095917e-02 7.99881760e-03 + -3.13183788e-04 -9.03176051e-03 -1.81603972e-02 -2.77012587e-02 -3.76550816e-02 + -4.80194092e-02 -5.87831736e-02 -6.97125420e-02 -8.07525739e-02 -9.18447226e-02 + -1.02929406e-01 -1.13947265e-01 -1.24839835e-01 -1.35549888e-01 -1.46021590e-01 + -1.56200618e-01 -1.66034058e-01 -1.75470352e-01 -1.84459239e-01 -1.92951515e-01 + -2.00898886e-01 -2.08253846e-01 -2.14969456e-01 -2.20999211e-01 -2.26296932e-01 + -2.30816647e-01 -2.34512642e-01 -2.37339452e-01 -2.39252016e-01 -2.40205884e-01 + -2.40157619e-01 -2.39065200e-01 -2.36888677e-01 -2.33590946e-01 -2.29138687e-01 + -2.23503485e-01 -2.16663152e-01 -2.08603188e-01 -1.99318528e-01 -1.88815340e-01 + -1.77113056e-01 -1.64246455e-01 -1.50267869e-01 -1.35249451e-01 -1.19285323e-01 + -1.02493927e-01 -8.50202963e-02 -6.70386180e-02 -4.87550385e-02 -3.04098893e-02 + -1.24381967e-02 5.15887933e-03 2.23615989e-02 3.91344093e-02 5.54262176e-02 + 7.11699277e-02 8.62823948e-02 1.00665942e-01 1.14212513e-01 1.26810998e-01 + 3.54307704e-02 3.18444967e-02 2.55155340e-02 1.80512201e-02 1.01696607e-02 + 1.87539065e-03 -6.82620518e-03 -1.59297176e-02 -2.54310928e-02 -3.53282094e-02 + -4.56210934e-02 -5.63126095e-02 -6.71676025e-02 -7.81257525e-02 -8.91267136e-02 + -1.00110531e-01 -1.11018039e-01 -1.21791214e-01 -1.32373348e-01 -1.42709181e-01 + -1.52744904e-01 -1.62428111e-01 -1.71707764e-01 -1.80534005e-01 -1.88858002e-01 + -1.96631849e-01 -2.03808367e-01 -2.10340947e-01 -2.16183409e-01 -2.21289888e-01 + -2.25614801e-01 -2.29112804e-01 -2.31738925e-01 -2.33448610e-01 -2.34198064e-01 + -2.33944535e-01 -2.32646868e-01 -2.30266050e-01 -2.26766080e-01 -2.22114846e-01 + -2.16285244e-01 -2.09256515e-01 -2.01015711e-01 -1.91559300e-01 -1.80894956e-01 + -1.69043526e-01 -1.56040952e-01 -1.41940325e-01 -1.26813859e-01 -1.10754751e-01 + -9.38790962e-02 -7.63279572e-02 -5.82708605e-02 -3.99138220e-02 -2.17448920e-02 + -3.78856924e-03 1.39343683e-02 3.13975886e-02 4.85629588e-02 6.53749704e-02 + 8.17550495e-02 9.75960717e-02 1.12758853e-01 1.27073765e-01 1.40351370e-01 + 3.79908085e-02 3.45556736e-02 2.83175614e-02 2.08872464e-02 1.30005553e-02 + 4.68397280e-03 -4.03785706e-03 -1.31462216e-02 -2.26295348e-02 -3.24827023e-02 + -4.27062176e-02 -5.33054508e-02 -6.40622303e-02 -7.49137700e-02 -8.57978687e-02 + -9.66536999e-02 -1.07421964e-01 -1.18044935e-01 -1.28466442e-01 -1.38631850e-01 + -1.48488015e-01 -1.57983184e-01 -1.67066887e-01 -1.75689831e-01 -1.83803737e-01 + -1.91361159e-01 -1.98315367e-01 -2.04620197e-01 -2.10229918e-01 -2.15099126e-01 + -2.19182760e-01 -2.22436070e-01 -2.24814698e-01 -2.26274863e-01 -2.26773635e-01 + -2.26269305e-01 -2.24721834e-01 -2.22093597e-01 -2.18350083e-01 -2.13460848e-01 + -2.07400680e-01 -2.00150818e-01 -1.91700444e-01 -1.82048231e-01 -1.71204090e-01 + -1.59190983e-01 -1.46046728e-01 -1.31825790e-01 -1.16600782e-01 -1.00463502e-01 + -8.35248530e-02 -6.59124330e-02 -4.77629006e-02 -2.96474192e-02 -1.15875229e-02 + 6.40606321e-03 2.43255515e-02 4.21596467e-02 5.98869920e-02 7.74679184e-02 + 9.48330685e-02 1.11867309e-01 1.28389224e-01 1.44132420e-01 1.58748329e-01 + 4.15697508e-02 3.83550636e-02 3.20584886e-02 2.45625004e-02 1.65437702e-02 + 8.09303485e-03 -7.30445026e-04 -9.89573728e-03 -1.93886533e-02 -2.92054005e-02 + -3.93499956e-02 -4.98345792e-02 -6.04764186e-02 -7.12014809e-02 -8.19443762e-02 + -9.26438794e-02 -1.03241280e-01 -1.13679774e-01 -1.23904198e-01 -1.33860901e-01 + -1.43497661e-01 -1.52763590e-01 -1.61609039e-01 -1.69985384e-01 -1.77845046e-01 + -1.85141176e-01 -1.91827655e-01 -1.97858885e-01 -2.03189746e-01 -2.07775474e-01 + -2.11571693e-01 -2.14534447e-01 -2.16620252e-01 -2.17786387e-01 -2.17991099e-01 + -2.17194051e-01 -2.15356827e-01 -2.12443590e-01 -2.08421886e-01 -2.03263566e-01 + -1.96945965e-01 -1.89453080e-01 -1.80777043e-01 -1.70919657e-01 -1.59894049e-01 + -1.47726476e-01 -1.34458050e-01 -1.20146558e-01 -1.04868241e-01 -8.87195319e-02 + -7.18189999e-02 -5.43102622e-02 -3.63676548e-02 -1.84298493e-02 -4.54685331e-04 + 1.75886359e-02 3.57273966e-02 5.39873019e-02 7.23908097e-02 9.09518152e-02 + 1.09664723e-01 1.28482476e-01 1.47270054e-01 1.65702358e-01 1.83094963e-01 + 4.68329862e-02 4.42008339e-02 3.74932177e-02 2.92587411e-02 2.07321253e-02 + 1.19484225e-02 2.91967252e-03 -6.35248888e-03 -1.58711467e-02 -2.56417338e-02 + -3.56703103e-02 -4.59609441e-02 -5.65096810e-02 -6.70979321e-02 -7.76748359e-02 + -8.81858319e-02 -9.85758752e-02 -1.08790554e-01 -1.18776530e-01 -1.28481656e-01 + -1.37854964e-01 -1.46846697e-01 -1.55408174e-01 -1.63491681e-01 -1.71050444e-01 + -1.78038403e-01 -1.84410155e-01 -1.90120876e-01 -1.95126191e-01 -1.99382201e-01 + -2.02845439e-01 -2.05472946e-01 -2.07222477e-01 -2.08052635e-01 -2.07923278e-01 + -2.06795871e-01 -2.04634130e-01 -2.01404572e-01 -1.97077468e-01 -1.91627711e-01 + -1.85035959e-01 -1.77289844e-01 -1.68385446e-01 -1.58328682e-01 -1.47137016e-01 + -1.34841070e-01 -1.21486284e-01 -1.07134625e-01 -9.18660536e-02 -7.57799298e-02 + -5.89961112e-02 -4.16555814e-02 -2.41924599e-02 -6.59026625e-03 1.11836651e-02 + 2.91730221e-02 4.74323630e-02 6.60287514e-02 8.50441083e-02 1.04578041e-01 + 1.24751262e-01 1.45710856e-01 1.67643189e-01 1.90830261e-01 2.15272248e-01 + 5.27400449e-02 5.08544929e-02 4.32873964e-02 3.40636745e-02 2.49419715e-02 + 1.57991275e-02 6.56516431e-03 -2.80065322e-03 -1.23251658e-02 -2.20285002e-02 + -3.19277085e-02 -4.20394987e-02 -5.23844622e-02 -6.27707019e-02 -7.31309131e-02 + -8.34065676e-02 -9.35428366e-02 -1.03486754e-01 -1.13186643e-01 -1.22591928e-01 + -1.31653085e-01 -1.40321583e-01 -1.48549914e-01 -1.56291381e-01 -1.63500175e-01 + -1.70131132e-01 -1.76139802e-01 -1.81482255e-01 -1.86115086e-01 -1.89995453e-01 + -1.93081036e-01 -1.95330232e-01 -1.96702302e-01 -1.97157621e-01 -1.96658045e-01 + -1.95167407e-01 -1.92652076e-01 -1.89081654e-01 -1.84429839e-01 -1.78675383e-01 + -1.71803176e-01 -1.63805544e-01 -1.54683501e-01 -1.44448265e-01 -1.33122772e-01 + -1.20743178e-01 -1.07360452e-01 -9.30417478e-02 -7.78716281e-02 -6.19529895e-02 + -4.54074331e-02 -2.86823381e-02 -1.17590213e-02 5.39131090e-03 2.28106696e-02 + 4.05566134e-02 5.87056279e-02 7.73582608e-02 9.66466069e-02 1.16745301e-01 + 1.37887746e-01 1.60390705e-01 1.84692681e-01 2.11409047e-01 2.40111589e-01 + 5.64095080e-02 5.48289455e-02 4.70792614e-02 3.76971737e-02 2.83982530e-02 + 1.91217270e-02 9.82060190e-03 4.56780079e-04 -8.99974350e-03 -1.85727905e-02 + -2.82814857e-02 -3.81407477e-02 -4.81599830e-02 -5.83377331e-02 -6.84441552e-02 + -7.84362331e-02 -8.82666409e-02 -9.78865251e-02 -1.07246831e-01 -1.16298884e-01 + -1.24994732e-01 -1.33287221e-01 -1.41130030e-01 -1.48477644e-01 -1.55285329e-01 + -1.61509007e-01 -1.67105272e-01 -1.72031313e-01 -1.76244915e-01 -1.79704517e-01 + -1.82369262e-01 -1.84199214e-01 -1.85155481e-01 -1.85200647e-01 -1.84299096e-01 + -1.82417527e-01 -1.79525629e-01 -1.75596803e-01 -1.70608997e-01 -1.64545700e-01 + -1.57397076e-01 -1.49161100e-01 -1.39844954e-01 -1.29466280e-01 -1.18054718e-01 + -1.05653279e-01 -9.23197493e-02 -7.81279579e-02 -6.31687492e-02 -4.75505628e-02 + -3.17250453e-02 -1.56801678e-02 6.04406756e-04 1.71594732e-02 3.40290368e-02 + 5.12737408e-02 6.89754933e-02 8.72440338e-02 1.06226318e-01 1.26120076e-01 + 1.47193238e-01 1.69810429e-01 1.94464073e-01 2.21795559e-01 2.51179695e-01 + 5.81698269e-02 5.67457937e-02 4.93945181e-02 4.01095524e-02 3.08662374e-02 + 2.16497537e-02 1.24329738e-02 3.18933302e-03 -6.10533962e-03 -1.54724950e-02 + -2.49312427e-02 -3.44990008e-02 -4.41923365e-02 -5.40284738e-02 -6.37877509e-02 + -7.34212622e-02 -8.28795731e-02 -9.21135768e-02 -1.01074830e-01 -1.09715715e-01 + -1.17989443e-01 -1.25850096e-01 -1.33252621e-01 -1.40152693e-01 -1.46506786e-01 + -1.52272061e-01 -1.57406345e-01 -1.61868155e-01 -1.65616706e-01 -1.68611988e-01 + -1.70814887e-01 -1.72187462e-01 -1.72693118e-01 -1.72297031e-01 -1.70966610e-01 + -1.68672055e-01 -1.65387020e-01 -1.61089420e-01 -1.55762270e-01 -1.49394780e-01 + -1.41983330e-01 -1.33532718e-01 -1.24057382e-01 -1.13582604e-01 -1.02145843e-01 + -8.97980407e-02 -7.66049922e-02 -6.26485497e-02 -4.80274856e-02 -3.31852026e-02 + -1.81197189e-02 -2.82325828e-03 1.27191246e-02 2.85312701e-02 4.46480885e-02 + 6.11183085e-02 7.80080929e-02 9.54058915e-02 1.13429256e-01 1.32234737e-01 + 1.52033299e-01 1.73116609e-01 1.95910186e-01 2.21095651e-01 2.47504011e-01 + 5.90396747e-02 5.78004979e-02 5.05063571e-02 4.13843170e-02 3.23200449e-02 + 2.32913848e-02 1.42772645e-02 5.25820209e-03 -3.78359831e-03 -1.28647937e-02 + -2.20015850e-02 -3.12105529e-02 -4.05100286e-02 -4.99228686e-02 -5.92657439e-02 + -6.84758797e-02 -7.74992332e-02 -8.62856954e-02 -9.47872475e-02 -1.02957301e-01 + -1.10750340e-01 -1.18121810e-01 -1.25027999e-01 -1.31426021e-01 -1.37273714e-01 + -1.42529652e-01 -1.47153124e-01 -1.51104197e-01 -1.54343739e-01 -1.56833619e-01 + -1.58536762e-01 -1.59417570e-01 -1.59442112e-01 -1.58578634e-01 -1.56798050e-01 + -1.54074579e-01 -1.50386482e-01 -1.45716861e-01 -1.40054673e-01 -1.33395657e-01 + -1.25743523e-01 -1.17110953e-01 -1.07520826e-01 -9.70071852e-02 -8.56162384e-02 + -7.34072477e-02 -6.04543872e-02 -4.68481779e-02 -3.30099240e-02 -1.89477000e-02 + -4.66642249e-03 9.83292982e-03 2.45542377e-02 3.95072848e-02 5.47089055e-02 + 7.01842085e-02 8.59678164e-02 1.02105051e-01 1.18652716e-01 1.35679081e-01 + 1.53261825e-01 1.71480954e-01 1.90395936e-01 2.09941074e-01 2.29031786e-01 + 5.86515628e-02 5.75469323e-02 5.03802858e-02 4.15249765e-02 3.27509344e-02 + 2.40136199e-02 1.52942725e-02 6.58258796e-03 -2.12995429e-03 -1.08525101e-02 + -1.95952971e-02 -2.83691902e-02 -3.71846445e-02 -4.60492186e-02 -5.49613908e-02 + -6.37044311e-02 -7.22379535e-02 -8.05179179e-02 -8.84996802e-02 -9.61390063e-02 + -1.03392355e-01 -1.10216960e-01 -1.16570815e-01 -1.22412667e-01 -1.27701983e-01 + -1.32399008e-01 -1.36464745e-01 -1.39861032e-01 -1.42550707e-01 -1.44497752e-01 + -1.45667523e-01 -1.46027029e-01 -1.45545408e-01 -1.44194335e-01 -1.41948670e-01 + -1.38787121e-01 -1.34693027e-01 -1.29655331e-01 -1.23669527e-01 -1.16738737e-01 + -1.08874865e-01 -1.00099713e-01 -9.04460177e-02 -7.99581409e-02 -6.86926842e-02 + -5.67147993e-02 -4.41054702e-02 -3.12492475e-02 -1.81621276e-02 -4.85963281e-03 + 8.64379015e-03 2.23353468e-02 3.62043865e-02 5.02428040e-02 6.44452348e-02 + 7.88089186e-02 9.33329388e-02 1.08016387e-01 1.22854605e-01 1.37832254e-01 + 1.52910501e-01 1.68003872e-01 1.82938427e-01 1.97379053e-01 2.10726067e-01 + 5.64699024e-02 5.53072989e-02 4.88172956e-02 4.05461863e-02 3.22102644e-02 + 2.38380600e-02 1.54654104e-02 7.11042527e-03 -1.22103316e-03 -9.53054242e-03 + -1.78242493e-02 -2.61111967e-02 -3.44025195e-02 -4.27117944e-02 -5.10579571e-02 + -5.92466220e-02 -6.72195405e-02 -7.49280900e-02 -8.23276788e-02 -8.93756226e-02 + -9.60303247e-02 -1.02251023e-01 -1.07997656e-01 -1.13230877e-01 -1.17912047e-01 + -1.22003302e-01 -1.25467628e-01 -1.28268957e-01 -1.30372375e-01 -1.31744266e-01 + -1.32352665e-01 -1.32167608e-01 -1.31161541e-01 -1.29309893e-01 -1.26591757e-01 + -1.22990638e-01 -1.18495308e-01 -1.13100827e-01 -1.06809594e-01 -9.96325389e-02 + -9.15903673e-02 -8.27148408e-02 -7.30506107e-02 -6.26544356e-02 -5.16098477e-02 + -3.99653651e-02 -2.80497763e-02 -1.58832222e-02 -3.48925707e-03 9.10698343e-03 + 2.18795724e-02 3.48021686e-02 4.78481837e-02 6.09907955e-02 7.42027313e-02 + 8.74556080e-02 1.00718603e-01 1.13956019e-01 1.27123252e-01 1.40160382e-01 + 1.52982876e-01 1.65468872e-01 1.77444816e-01 1.88675627e-01 1.98874041e-01 + 5.43961711e-02 5.34986816e-02 4.71353382e-02 3.90450694e-02 3.09323929e-02 + 2.28271298e-02 1.47706550e-02 6.78056665e-03 -1.13896350e-03 -8.99128988e-03 + -1.67840198e-02 -2.45269481e-02 -3.22305076e-02 -3.99041139e-02 -4.75533828e-02 + -5.51737733e-02 -6.25404119e-02 -6.96209297e-02 -7.63789192e-02 -8.27764347e-02 + -8.87751654e-02 -9.43369493e-02 -9.94240344e-02 -1.03999265e-01 -1.08026154e-01 + -1.11469015e-01 -1.14293098e-01 -1.16464719e-01 -1.17951497e-01 -1.18722565e-01 + -1.18748955e-01 -1.18003927e-01 -1.16463535e-01 -1.14107169e-01 -1.10918298e-01 + -1.06885299e-01 -1.02002382e-01 -9.62706804e-02 -8.96993503e-02 -8.23067278e-02 + -7.41220340e-02 -6.51843995e-02 -5.55568784e-02 -4.52601351e-02 -3.46245430e-02 + -2.36330796e-02 -1.23350136e-02 -7.70855229e-04 1.10217081e-02 2.30051056e-02 + 3.51405814e-02 4.73875664e-02 5.97033612e-02 7.20430389e-02 8.43593329e-02 + 9.66024324e-02 1.08719401e-01 1.20653048e-01 1.32339910e-01 1.43707350e-01 + 1.54669881e-01 1.65125445e-01 1.74953461e-01 1.84016928e-01 1.92171589e-01 + 5.23063280e-02 5.17617427e-02 4.52865139e-02 3.68999615e-02 2.87648961e-02 + 2.08303705e-02 1.30687002e-02 5.46213798e-03 -2.00478500e-03 -9.34757944e-03 + -1.65820178e-02 -2.37237923e-02 -3.07881515e-02 -3.77897136e-02 -4.47426252e-02 + -5.16615286e-02 -5.83278202e-02 -6.47049323e-02 -7.07556903e-02 -7.64430463e-02 + -8.17303509e-02 -8.65814313e-02 -9.09607336e-02 -9.48333442e-02 -9.81651172e-02 + -1.00922816e-01 -1.03074238e-01 -1.04588419e-01 -1.05435856e-01 -1.05588779e-01 + -1.05021507e-01 -1.03710838e-01 -1.01636596e-01 -9.87822339e-02 -9.51355398e-02 + -9.06895921e-02 -8.54437724e-02 -7.94048384e-02 -7.25883693e-02 -6.50179312e-02 + -5.67380488e-02 -4.77494150e-02 -3.83697338e-02 -2.85716597e-02 -1.83960702e-02 + -7.87472259e-03 2.95547023e-03 1.40550183e-02 2.53818575e-02 3.68906595e-02 + 4.85321060e-02 6.02523759e-02 7.19929710e-02 8.36909637e-02 9.52795818e-02 + 1.06689215e-01 1.17848516e-01 1.28685459e-01 1.39128029e-01 1.49104491e-01 + 1.58543125e-01 1.67371958e-01 1.75519109e-01 1.82914495e-01 1.89493671e-01 + 4.81698588e-02 4.76836301e-02 4.13563736e-02 3.30791026e-02 2.51236055e-02 + 1.74739398e-02 1.00966776e-02 2.95859110e-03 -3.97145888e-03 -1.07218716e-02 + -1.73181538e-02 -2.37830784e-02 -3.01371329e-02 -3.63993496e-02 -4.25888300e-02 + -4.87277471e-02 -5.46290837e-02 -6.02440611e-02 -6.55325130e-02 -7.04577863e-02 + -7.49849081e-02 -7.90799111e-02 -8.27096254e-02 -8.58416855e-02 -8.84445757e-02 + -9.04878229e-02 -9.19421315e-02 -9.27796587e-02 -9.29742232e-02 -9.25015658e-02 + -9.13396776e-02 -8.94691870e-02 -8.68739337e-02 -8.35415050e-02 -7.94636235e-02 + -7.46374875e-02 -6.90672621e-02 -6.27634749e-02 -5.57545945e-02 -4.80268300e-02 + -3.98713723e-02 -3.12539227e-02 -2.22061668e-02 -1.27498517e-02 -2.91177630e-03 + 7.27832364e-03 1.77866705e-02 2.85748150e-02 3.95988077e-02 5.08081578e-02 + 6.21447861e-02 7.35422149e-02 8.49252790e-02 9.62106287e-02 1.07308321e-01 + 1.18124604e-01 1.28565684e-01 1.38541996e-01 1.47972360e-01 1.56787291e-01 + 1.64930880e-01 1.72361359e-01 1.79050297e-01 1.84981301e-01 1.90148562e-01 + 4.22442332e-02 4.18180563e-02 3.53029296e-02 2.72271633e-02 1.96220167e-02 + 1.24301380e-02 5.60001144e-03 -9.20697465e-04 -7.17976084e-03 -1.32182091e-02 + -1.90700833e-02 -2.47631054e-02 -3.03196292e-02 -3.57574262e-02 -4.10898402e-02 + -4.63243499e-02 -5.14570624e-02 -5.62784225e-02 -6.07643463e-02 -6.48858771e-02 + -6.86126724e-02 -7.19142780e-02 -7.47606903e-02 -7.71225616e-02 -7.89713860e-02 + -8.02797750e-02 -8.10217187e-02 -8.11729655e-02 -8.07113126e-02 -7.96167254e-02 + -7.78712407e-02 -7.54595548e-02 -7.23701119e-02 -6.85957372e-02 -6.41303360e-02 + -5.89727014e-02 -5.31372987e-02 -4.66005243e-02 -3.96187417e-02 -3.21538486e-02 + -2.42284145e-02 -1.58545226e-02 -7.04811234e-03 2.17324146e-03 1.17891878e-02 + 2.17758454e-02 3.21047045e-02 4.27412502e-02 5.36432788e-02 6.47588447e-02 + 7.60240778e-02 8.73610228e-02 9.86760557e-02 1.09859750e-01 1.20788857e-01 + 1.31331488e-01 1.41355351e-01 1.50738046e-01 1.59377500e-01 1.67199984e-01 + 1.74164683e-01 1.80263892e-01 1.85519114e-01 1.89973876e-01 1.93684876e-01 + 3.33333723e-02 3.27205881e-02 2.66017858e-02 1.89370625e-02 1.19130118e-02 + 5.43179829e-03 -6.09839160e-04 -6.29969500e-03 -1.17067425e-02 -1.68830268e-02 + -2.18670294e-02 -2.66869422e-02 -3.13634202e-02 -3.59118544e-02 -4.03444432e-02 + -4.46727164e-02 -4.89121005e-02 -5.28681912e-02 -5.65018877e-02 -5.97798750e-02 + -6.26722649e-02 -6.51510209e-02 -6.71892166e-02 -6.87607005e-02 -6.98401555e-02 + -7.04033449e-02 -7.04276189e-02 -6.98926747e-02 -6.87814727e-02 -6.70804307e-02 + -6.47754669e-02 -6.18536137e-02 -5.83081879e-02 -5.41513376e-02 -4.93681729e-02 + -4.39241827e-02 -3.80360372e-02 -3.16652693e-02 -2.48273965e-02 -1.75274163e-02 + -9.77273658e-03 -1.57076411e-03 7.07027642e-03 1.61409397e-02 2.56298408e-02 + 3.55226733e-02 4.58008461e-02 5.64395972e-02 6.74054474e-02 7.86528438e-02 + 9.01198536e-02 1.01722986e-01 1.13351710e-01 1.24863848e-01 1.36084646e-01 + 1.46813199e-01 1.56839386e-01 1.65968835e-01 1.74048826e-01 1.80986419e-01 + 1.86756760e-01 1.91402212e-01 1.95022821e-01 1.97757483e-01 1.99758291e-01 + 2.11674310e-02 2.02229191e-02 1.44306365e-02 7.57757947e-03 1.62612135e-03 + -3.69685236e-03 -8.58533755e-03 -1.31619275e-02 -1.75029673e-02 -2.16560531e-02 + -2.56507359e-02 -2.95049828e-02 -3.32291834e-02 -3.68287042e-02 -4.03055139e-02 + -4.36591618e-02 -4.68868352e-02 -4.99811992e-02 -5.27493246e-02 -5.51630035e-02 + -5.71992099e-02 -5.88360056e-02 -6.00514412e-02 -6.08234778e-02 -6.11301325e-02 + -6.09498024e-02 -6.02618791e-02 -5.90483807e-02 -5.72984181e-02 -5.50205521e-02 + -5.22007570e-02 -4.88122627e-02 -4.48114723e-02 -4.03938219e-02 -3.55106927e-02 + -3.01469490e-02 -2.43227445e-02 -1.80434138e-02 -1.13133173e-02 -4.13454231e-03 + 3.49207828e-03 1.15667032e-02 2.00901497e-02 2.90635210e-02 3.84876765e-02 + 4.83624488e-02 5.86854368e-02 6.94501773e-02 8.06433260e-02 9.22404081e-02 + 1.04199484e-01 1.16451792e-01 1.28888369e-01 1.41342178e-01 1.53568223e-01 + 1.65234521e-01 1.75951123e-01 1.85348779e-01 1.93159476e-01 1.99248552e-01 + 2.03613415e-01 2.06379995e-01 2.07797930e-01 2.08206177e-01 2.07951680e-01 + 3.67652625e-03 1.72566692e-03 -3.01659410e-03 -7.52514694e-03 -1.12920729e-02 + -1.47526683e-02 -1.80457961e-02 -2.12272145e-02 -2.43194681e-02 -2.73293871e-02 + -3.02555487e-02 -3.30919065e-02 -3.58296894e-02 -3.84584181e-02 -4.09664214e-02 + -4.33410034e-02 -4.55685332e-02 -4.76347394e-02 -4.95268032e-02 -5.10527454e-02 + -5.22118844e-02 -5.29929549e-02 -5.33802696e-02 -5.33562526e-02 -5.29022999e-02 + -5.19984886e-02 -5.06220162e-02 -4.87431586e-02 -4.63155769e-02 -4.35198806e-02 + -4.03079316e-02 -3.66552994e-02 -3.25554758e-02 -2.80287135e-02 -2.30775941e-02 + -1.77019052e-02 -1.19032571e-02 -5.68131916e-03 9.66244552e-04 8.04396439e-03 + 1.55585594e-02 2.35189516e-02 3.19362916e-02 4.08239998e-02 5.01977727e-02 + 6.00755103e-02 7.04770088e-02 8.14232454e-02 9.29348618e-02 1.05029278e-01 + 1.17715329e-01 1.30983785e-01 1.44790187e-01 1.59022987e-01 1.73438162e-01 + 1.87516570e-01 2.00313300e-01 2.10890234e-01 2.18820572e-01 2.23991692e-01 + 2.26439282e-01 2.26349682e-01 2.24186778e-01 2.20866665e-01 2.17354864e-01 + -2.00981814e-02 -2.48726774e-02 -2.49795169e-02 -2.46943608e-02 -2.54088696e-02 + -2.66389884e-02 -2.81678103e-02 -2.98771393e-02 -3.16907652e-02 -3.35533805e-02 + -3.54215130e-02 -3.72590348e-02 -3.90347093e-02 -4.07205671e-02 -4.22906876e-02 + -4.37199883e-02 -4.49828058e-02 -4.60507497e-02 -4.68887836e-02 -4.74469736e-02 + -4.76944223e-02 -4.76088263e-02 -4.71723154e-02 -4.63697053e-02 -4.51877899e-02 + -4.36150879e-02 -4.16421555e-02 -3.92630734e-02 -3.64800431e-02 -3.33164781e-02 + -2.97768954e-02 -2.58610416e-02 -2.15694122e-02 -1.69046912e-02 -1.18673565e-02 + -6.45567058e-03 -6.66012114e-04 5.50753763e-03 1.20734703e-02 1.90430880e-02 + 2.64307372e-02 3.42541002e-02 4.25345935e-02 5.12979440e-02 6.05749264e-02 + 7.04023913e-02 8.08245242e-02 9.18943658e-02 1.03675500e-01 1.16243735e-01 + 1.29688174e-01 1.44110933e-01 1.59624681e-01 1.76348731e-01 1.94415376e-01 + 2.14058906e-01 2.31769487e-01 2.44270086e-01 2.52368361e-01 2.56483674e-01 + 2.56247550e-01 2.51989275e-01 2.43163273e-01 2.32981518e-01 2.25456938e-01 + -3.65318283e-02 -4.22110744e-02 -4.12810445e-02 -3.91813144e-02 -3.80843990e-02 + -3.77154164e-02 -3.78571711e-02 -3.83489504e-02 -3.90713364e-02 -3.99332419e-02 + -4.08630595e-02 -4.18028720e-02 -4.27045859e-02 -4.35271896e-02 -4.42347825e-02 + -4.47949916e-02 -4.51776646e-02 -4.53537852e-02 -4.52947058e-02 -4.49725576e-02 + -4.43642624e-02 -4.34517637e-02 -4.22213636e-02 -4.06630412e-02 -3.87699418e-02 + -3.65380794e-02 -3.39662917e-02 -3.10564600e-02 -2.78138760e-02 -2.42468230e-02 + -2.03617066e-02 -1.61627531e-02 -1.16524100e-02 -6.83134748e-03 -1.69779302e-03 + 3.75282811e-03 9.52807069e-03 1.56386327e-02 2.20984984e-02 2.89251115e-02 + 3.61396037e-02 4.37671989e-02 5.18378131e-02 6.03869967e-02 6.94573298e-02 + 7.91003853e-02 8.93795639e-02 1.00374036e-01 1.12184338e-01 1.24940097e-01 + 1.38810590e-01 1.54018283e-01 1.70853898e-01 1.89689144e-01 2.10983753e-01 + 2.33678281e-01 2.51275092e-01 2.63639599e-01 2.71060556e-01 2.73321271e-01 + 2.70566851e-01 2.62043029e-01 2.48708174e-01 2.37331361e-01 2.28335828e-01 + -4.76500429e-02 -5.37725948e-02 -5.26025593e-02 -5.00219911e-02 -4.82237972e-02 + -4.70639206e-02 -4.64008749e-02 -4.61039357e-02 -4.60598655e-02 -4.61735465e-02 + -4.63659987e-02 -4.65716049e-02 -4.67353836e-02 -4.68107238e-02 -4.67575602e-02 + -4.65410277e-02 -4.61305119e-02 -4.54990529e-02 -4.46231179e-02 -4.34828103e-02 + -4.20625024e-02 -4.03510295e-02 -3.83415818e-02 -3.60313207e-02 -3.34209837e-02 + -3.05144209e-02 -2.73181144e-02 -2.38406640e-02 -2.00920850e-02 -1.60827786e-02 + -1.18220272e-02 -7.31695443e-03 -2.57183332e-03 2.41244910e-03 7.63882417e-03 + 1.31142875e-02 1.88499652e-02 2.48610489e-02 3.11666690e-02 3.77897955e-02 + 4.47572470e-02 5.20998873e-02 5.98531589e-02 6.80579990e-02 7.67623186e-02 + 8.60232636e-02 9.59105045e-02 1.06511123e-01 1.17936976e-01 1.30335987e-01 + 1.43910229e-01 1.58945531e-01 1.75859630e-01 1.95262775e-01 2.17804253e-01 + 2.37828508e-01 2.53142685e-01 2.63774037e-01 2.69579440e-01 2.70527959e-01 + 2.65760273e-01 2.54796952e-01 2.42855355e-01 2.33010590e-01 2.24846676e-01 + -5.46800867e-02 -6.10872991e-02 -6.03980720e-02 -5.78660257e-02 -5.59637509e-02 + -5.45938574e-02 -5.36376052e-02 -5.29807322e-02 -5.25212064e-02 -5.21715805e-02 + -5.18581942e-02 -5.15190735e-02 -5.11016250e-02 -5.05607501e-02 -4.98574898e-02 + -4.89582121e-02 -4.78342250e-02 -4.64616641e-02 -4.48215939e-02 -4.29001525e-02 + -4.06887010e-02 -3.81838121e-02 -3.53870131e-02 -3.23043987e-02 -2.89460905e-02 + -2.53255907e-02 -2.14590188e-02 -1.73642095e-02 -1.30596319e-02 -8.56310688e-03 + -3.89039726e-03 9.46135260e-04 5.93866874e-03 1.10847764e-02 1.63879320e-02 + 2.18576137e-02 2.75090467e-02 3.33626606e-02 3.94433923e-02 4.57800031e-02 + 5.24045080e-02 5.93519025e-02 6.66602030e-02 7.43709430e-02 8.25301334e-02 + 9.11897719e-02 1.00410074e-01 1.10262647e-01 1.20834976e-01 1.32237047e-01 + 1.44611642e-01 1.58151835e-01 1.73136637e-01 1.90040082e-01 2.08033100e-01 + 2.23271489e-01 2.35164180e-01 2.43503958e-01 2.48213395e-01 2.48709723e-01 + 2.44785666e-01 2.36907601e-01 2.29352444e-01 2.22502455e-01 2.16389239e-01 + -5.90224490e-02 -6.58020526e-02 -6.53119236e-02 -6.31812736e-02 -6.16541207e-02 + -6.05644211e-02 -5.97648323e-02 -5.91351725e-02 -5.85820451e-02 -5.80330901e-02 + -5.74305616e-02 -5.67261428e-02 -5.58775105e-02 -5.48465066e-02 -5.35985753e-02 + -5.21029979e-02 -5.03336191e-02 -4.82696779e-02 -4.58965749e-02 -4.32063341e-02 + -4.01977897e-02 -3.68763991e-02 -3.32537927e-02 -2.93471441e-02 -2.51784176e-02 + -2.07735561e-02 -1.61615610e-02 -1.13733634e-02 -6.44041551e-03 -1.39292376e-03 + 3.74218612e-03 8.94338917e-03 1.41964825e-02 1.94960162e-02 2.48459950e-02 + 3.02597415e-02 3.57589610e-02 4.13722023e-02 4.71330434e-02 5.30782640e-02 + 5.92463203e-02 6.56762719e-02 7.24071786e-02 7.94779882e-02 8.69277045e-02 + 9.47958156e-02 1.03122763e-01 1.11950062e-01 1.21319823e-01 1.31272450e-01 + 1.41840339e-01 1.53032273e-01 1.64794996e-01 1.76927626e-01 1.88868761e-01 + 1.99525714e-01 2.08264142e-01 2.14746952e-01 2.18760833e-01 2.20202848e-01 + 2.19169393e-01 2.16442183e-01 2.12909609e-01 2.09064290e-01 2.05200464e-01 + -5.98210432e-02 -6.69371784e-02 -6.72410950e-02 -6.61832318e-02 -6.57049268e-02 + -6.54674098e-02 -6.52683303e-02 -6.49985820e-02 -6.46025836e-02 -6.40500039e-02 + -6.33190125e-02 -6.23876043e-02 -6.12302199e-02 -5.98175563e-02 -5.81183955e-02 + -5.61024025e-02 -5.37431128e-02 -5.10205328e-02 -4.79230881e-02 -4.44486476e-02 + -4.06046808e-02 -3.64076756e-02 -3.18820700e-02 -2.70590391e-02 -2.19754092e-02 + -1.66728254e-02 -1.11970454e-02 -5.59701631e-03 7.66426092e-05 5.77410078e-03 + 1.14497188e-02 1.70660242e-02 2.25975495e-02 2.80337203e-02 3.33801769e-02 + 3.86581458e-02 4.39020395e-02 4.91557382e-02 5.44683710e-02 5.98903932e-02 + 6.54705465e-02 7.12539032e-02 7.72808343e-02 8.35866779e-02 9.02017131e-02 + 9.71510336e-02 1.04454018e-01 1.12122960e-01 1.20160125e-01 1.28552511e-01 + 1.37262702e-01 1.46214157e-01 1.55269727e-01 1.64206937e-01 1.72709048e-01 + 1.80408254e-01 1.86972305e-01 1.92160696e-01 1.95840582e-01 1.97998405e-01 + 1.98757038e-01 1.98368207e-01 1.97142750e-01 1.95367754e-01 1.93269759e-01 + -5.53520583e-02 -6.22237436e-02 -6.53670281e-02 -6.73208982e-02 -6.90735057e-02 + -7.03469440e-02 -7.10722879e-02 -7.13110939e-02 -7.11457282e-02 -7.06425905e-02 + -6.98424280e-02 -6.87590092e-02 -6.73820302e-02 -6.56830519e-02 -6.36233240e-02 + -6.11618944e-02 -5.82627207e-02 -5.49002402e-02 -5.10629043e-02 -4.67547588e-02 + -4.19950038e-02 -3.68159153e-02 -3.12598124e-02 -2.53761206e-02 -1.92194954e-02 + -1.28494520e-02 -6.33118814e-03 2.63397727e-04 6.85597770e-03 1.33647714e-02 + 1.97108090e-02 2.58266106e-02 3.16651240e-02 3.72065566e-02 4.24613953e-02 + 4.74688634e-02 5.22909239e-02 5.70031889e-02 6.16850518e-02 6.64115250e-02 + 7.12481141e-02 7.62486830e-02 8.14552903e-02 8.68990421e-02 9.26010758e-02 + 9.85731632e-02 1.04817562e-01 1.11325972e-01 1.18077278e-01 1.25034019e-01 + 1.32137403e-01 1.39301509e-01 1.46408126e-01 1.53305471e-01 1.59815252e-01 + 1.65750578e-01 1.70940593e-01 1.75253659e-01 1.78613558e-01 1.81008056e-01 + 1.82489127e-01 1.83162466e-01 1.83166787e-01 1.82649568e-01 1.81748211e-01 + -4.98921834e-02 -5.67819700e-02 -6.31669462e-02 -6.92480877e-02 -7.47873634e-02 + -7.73858279e-02 -7.86423683e-02 -7.90252984e-02 -7.88152292e-02 -7.81911686e-02 + -7.72556588e-02 -7.60445297e-02 -7.45378435e-02 -7.26770684e-02 -7.03851581e-02 + -6.75846264e-02 -6.42108992e-02 -6.02211282e-02 -5.55994883e-02 -5.03591709e-02 + -4.45404425e-02 -3.82042825e-02 -3.14230770e-02 -2.42719408e-02 -1.68242808e-02 + -9.15317517e-03 -1.33772008e-03 6.52820012e-03 1.43288663e-02 2.19271854e-02 + 2.91773714e-02 3.59478481e-02 4.21451218e-02 4.77302857e-02 5.27260453e-02 + 5.72139546e-02 6.13202229e-02 6.51911423e-02 6.89668953e-02 7.27641359e-02 + 7.66704753e-02 8.07467103e-02 8.50318819e-02 8.95481855e-02 9.43046436e-02 + 9.92993787e-02 1.04520619e-01 1.09946646e-01 1.15544945e-01 1.21270746e-01 + 1.27065346e-01 1.32854849e-01 1.38550147e-01 1.44049197e-01 1.49242401e-01 + 1.54021099e-01 1.58287868e-01 1.61966473e-01 1.65009648e-01 1.67403221e-01 + 1.69165954e-01 1.70344919e-01 1.71007529e-01 1.71232030e-01 1.71098724e-01 + -4.69210483e-02 -5.45273721e-02 -6.26392290e-02 -7.16105476e-02 -8.13692808e-02 + -8.74849483e-02 -8.91685784e-02 -8.87102410e-02 -8.78060088e-02 -8.66797715e-02 + -8.54760855e-02 -8.42139497e-02 -8.27919096e-02 -8.10394734e-02 -7.87739754e-02 + -7.58363381e-02 -7.21059516e-02 -6.75064996e-02 -6.20115176e-02 -5.56510873e-02 + -4.85125706e-02 -4.07251120e-02 -3.24276835e-02 -2.37382837e-02 -1.47420224e-02 + -5.49934851e-03 3.93277314e-03 1.34708108e-02 2.29675528e-02 3.21829207e-02 + 4.08065058e-02 4.85466756e-02 5.52081615e-02 6.07133247e-02 6.51059747e-02 + 6.85618594e-02 7.13746026e-02 7.38727599e-02 7.63201267e-02 7.88843632e-02 + 8.16579014e-02 8.46855715e-02 8.79839286e-02 9.15525034e-02 9.53799188e-02 + 9.94469598e-02 1.03727832e-01 1.08190380e-01 1.12795822e-01 1.17498226e-01 + 1.22244164e-01 1.26972780e-01 1.31616741e-01 1.36104345e-01 1.40362725e-01 + 1.44322291e-01 1.47921503e-01 1.51111588e-01 1.53860033e-01 1.56152695e-01 + 1.57993764e-01 1.59403831e-01 1.60416573e-01 1.61074370e-01 1.61424115e-01 + -4.37591113e-02 -5.15773855e-02 -6.02247082e-02 -7.01237693e-02 -8.16165656e-02 + -9.07952935e-02 -9.65422541e-02 -9.87335965e-02 -9.73685235e-02 -9.51441899e-02 + -9.36217681e-02 -9.27560851e-02 -9.20925289e-02 -9.11096111e-02 -8.94038752e-02 + -8.67069587e-02 -8.28381404e-02 -7.76730999e-02 -7.11453408e-02 -6.32837936e-02 + -5.42757884e-02 -4.44670357e-02 -3.42025645e-02 -2.36773584e-02 -1.29415980e-02 + -1.96166802e-03 9.33162402e-03 2.10028440e-02 3.30404565e-02 4.51091081e-02 + 5.62046021e-02 6.55404255e-02 7.28638098e-02 7.80860037e-02 8.11990052e-02 + 8.24005604e-02 8.25435147e-02 8.27088133e-02 8.32826719e-02 8.43349621e-02 + 8.58525857e-02 8.77986997e-02 9.01307538e-02 9.28061604e-02 9.57836434e-02 + 9.90228280e-02 1.02483384e-01 1.06124051e-01 1.09901711e-01 1.13770813e-01 + 1.17683023e-01 1.21587433e-01 1.25431225e-01 1.29161030e-01 1.32724732e-01 + 1.36073783e-01 1.39165595e-01 1.41965851e-01 1.44450128e-01 1.46605030e-01 + 1.48428157e-01 1.49927318e-01 1.51118964e-01 1.52026057e-01 1.52675927e-01 + -3.94578315e-02 -4.67754751e-02 -5.47398664e-02 -6.34635165e-02 -7.29684606e-02 + -8.31015557e-02 -9.24556181e-02 -9.85375047e-02 -1.01015806e-01 -9.96471196e-02 + -9.89209786e-02 -1.00488380e-01 -1.02728322e-01 -1.03844494e-01 -1.03493378e-01 + -1.01552591e-01 -9.78970379e-02 -9.23571736e-02 -8.47059935e-02 -7.46763274e-02 + -6.21895120e-02 -4.88508902e-02 -3.60087752e-02 -2.35695895e-02 -1.12733664e-02 + 1.15918752e-03 1.40286265e-02 2.76927520e-02 4.26435396e-02 5.95756620e-02 + 7.42989853e-02 8.54923651e-02 9.36121866e-02 9.84304026e-02 9.98392701e-02 + 9.73600745e-02 9.25723016e-02 8.98536593e-02 8.85159969e-02 8.81806761e-02 + 8.86123776e-02 8.96519870e-02 9.11855325e-02 9.31269154e-02 9.54075009e-02 + 9.79695320e-02 1.00761965e-01 1.03737660e-01 1.06851578e-01 1.10059649e-01 + 1.13318183e-01 1.16583705e-01 1.19813271e-01 1.22965135e-01 1.25999689e-01 + 1.28880650e-01 1.31576329e-01 1.34060651e-01 1.36314124e-01 1.38324305e-01 + 1.40085801e-01 1.41599968e-01 1.42874032e-01 1.43920079e-01 1.44753784e-01 + -3.41004208e-02 -4.05144058e-02 -4.73499633e-02 -5.46185859e-02 -6.22741878e-02 + -7.02074841e-02 -7.82587081e-02 -8.62429738e-02 -9.23045129e-02 -9.39798504e-02 + -9.61407945e-02 -1.01588018e-01 -1.07932597e-01 -1.11278608e-01 -1.12288423e-01 + -1.11195378e-01 -1.07969783e-01 -1.02439344e-01 -9.42610130e-02 -8.27473029e-02 + -6.66020364e-02 -4.99501526e-02 -3.54975834e-02 -2.21627615e-02 -9.29289591e-03 + 3.57656181e-03 1.68590192e-02 3.10096126e-02 4.66155633e-02 6.43227175e-02 + 7.97665268e-02 9.13693011e-02 9.95526388e-02 1.04205102e-01 1.05108052e-01 + 1.01712614e-01 9.59469080e-02 9.23601165e-02 9.03309509e-02 8.94119591e-02 + 8.93166587e-02 8.98572430e-02 9.09041688e-02 9.23624858e-02 9.41582248e-02 + 9.62305740e-02 9.85272303e-02 1.01001501e-01 1.03610396e-01 1.06313489e-01 + 1.09072194e-01 1.11849502e-01 1.14609957e-01 1.17319979e-01 1.19948328e-01 + 1.22466639e-01 1.24850117e-01 1.27078056e-01 1.29134268e-01 1.31007403e-01 + 1.32690877e-01 1.34182751e-01 1.35485217e-01 1.36604115e-01 1.37548119e-01 + 2.08563519e+00 2.10829520e+00 2.12226462e+00 2.13869905e+00 2.15613413e+00 + 2.17946076e+00 2.19515276e+00 2.21357155e+00 2.23280931e+00 2.25154781e+00 + 2.27197146e+00 2.29223347e+00 2.31239104e+00 2.33437157e+00 2.35598421e+00 + 2.37818193e+00 2.40126157e+00 2.42513633e+00 2.44902682e+00 2.47383070e+00 + 2.49945664e+00 2.52575707e+00 2.55250263e+00 2.58016086e+00 2.60877347e+00 + 2.63826776e+00 2.66838241e+00 2.69950652e+00 2.73186588e+00 2.76523733e+00 + 2.79945111e+00 2.83497548e+00 2.87181664e+00 2.91003561e+00 2.94954801e+00 + 2.99051881e+00 3.03325295e+00 3.07762313e+00 3.12391758e+00 3.17204356e+00 + 3.22237611e+00 3.27514219e+00 3.33019996e+00 3.38821459e+00 3.44894624e+00 + 3.51316547e+00 3.58083153e+00 3.65237093e+00 3.72848034e+00 3.80918598e+00 + 3.89573598e+00 3.98831296e+00 4.08856869e+00 4.19667864e+00 4.31513119e+00 + 4.44487143e+00 4.58873606e+00 4.74980116e+00 4.93326283e+00 5.14537525e+00 + 5.39846039e+00 5.71358061e+00 6.12958908e+00 6.75870323e+00 9.79535007e+00 + 89 87 + 1.09886646e+00 -5.00000007e-02 1.09867835e+00 5.00000007e-02 1.10562503e+00 + 1.43933505e-01 1.11215138e+00 2.00000003e-01 1.12816787e+00 3.00000012e-01 + 1.13794649e+00 3.49999994e-01 1.15875006e+00 4.48958278e-01 1.16970229e+00 + 5.00000000e-01 1.18531251e+00 5.71618736e-01 1.20293200e+00 6.49999976e-01 + 1.21429622e+00 6.99999988e-01 1.23636162e+00 8.00000012e-01 1.24839270e+00 + 8.50000024e-01 1.26499999e+00 9.16395426e-01 1.29156256e+00 9.86932278e-01 + 1.31812501e+00 1.02423799e+00 1.37125003e+00 1.04387295e+00 1.42437506e+00 + 1.04133630e+00 1.47749996e+00 1.03016591e+00 1.53062499e+00 1.01321852e+00 + 1.56260550e+00 1.00000000e+00 1.61031246e+00 9.79444146e-01 1.66343749e+00 + 9.52320755e-01 1.69000006e+00 9.37269032e-01 1.74312496e+00 9.04041767e-01 + 1.76968753e+00 8.85633767e-01 1.81611788e+00 8.50000024e-01 1.84937501e+00 + 8.23260605e-01 1.87593746e+00 7.99349189e-01 1.92758918e+00 7.50000000e-01 + 1.95562506e+00 7.21262634e-01 1.98218751e+00 6.91411376e-01 2.01641870e+00 + 6.49999976e-01 2.05314851e+00 6.00000024e-01 2.08570480e+00 5.50000012e-01 + 2.11459947e+00 5.00000000e-01 2.14037633e+00 4.49999988e-01 2.16356468e+00 + 4.00000006e-01 2.18458915e+00 3.49999994e-01 2.20366216e+00 3.00000012e-01 + 2.22125006e+00 2.47691765e-01 2.24781251e+00 1.52867481e-01 2.25815129e+00 + 1.00000001e-01 2.26713133e+00 0.00000000e+00 2.26207256e+00 -1.00000001e-01 + 2.24781251e+00 -1.81767881e-01 2.23144436e+00 -2.50000000e-01 2.21682477e+00 + -3.00000012e-01 2.19468760e+00 -3.68068486e-01 2.16812491e+00 -4.39148724e-01 + 2.14252234e+00 -5.00000000e-01 2.11820722e+00 -5.50000012e-01 2.09050608e+00 + -6.00000024e-01 2.06187510e+00 -6.45114541e-01 2.03531241e+00 -6.83485329e-01 + 2.00874996e+00 -7.18770385e-01 1.98218751e+00 -7.51215100e-01 1.93784606e+00 + -8.00000012e-01 1.90250003e+00 -8.35771501e-01 1.87593746e+00 -8.60748768e-01 + 1.82959759e+00 -8.99999976e-01 1.79624999e+00 -9.26303029e-01 1.76196408e+00 + -9.49999988e-01 1.71656251e+00 -9.79921758e-01 1.68096113e+00 -1.00000000e+00 + 1.63687503e+00 -1.02404642e+00 1.58375001e+00 -1.04840863e+00 1.55718756e+00 + -1.06069613e+00 1.50406253e+00 -1.08208299e+00 1.45530927e+00 -1.10000002e+00 + 1.42437506e+00 -1.11172056e+00 1.37125003e+00 -1.12862623e+00 1.31812501e+00 + -1.14233017e+00 1.27432680e+00 -1.14999998e+00 1.25554192e+00 -1.16186798e+00 + 1.24487281e+00 -1.04999995e+00 1.23843753e+00 -9.89497483e-01 1.22902822e+00 + -8.99999976e-01 1.21663630e+00 -8.00000012e-01 1.20907485e+00 -7.50000000e-01 + 1.19324684e+00 -6.49999976e-01 1.18440425e+00 -6.00000024e-01 1.16634357e+00 + -5.00000000e-01 1.15670884e+00 -4.49999988e-01 1.13777971e+00 -3.49999994e-01 + 1.12847126e+00 -3.00000012e-01 1.11270511e+00 -2.00000003e-01 1.10562503e+00 + -1.38983905e-01 1.09886646e+00 -5.00000007e-02 + 1.01730001e+00 0.00000000e+00 1.01932001e+00 1.11591995e+00 1.01127005e+00 + 1.16271996e+00 1.00224996e+00 1.21238995e+00 1.02639997e+00 1.21238995e+00 + 1.03497005e+00 1.16392004e+00 1.03842998e+00 1.16235995e+00 1.06122005e+00 + 1.16356003e+00 1.09895003e+00 1.16589999e+00 1.13813996e+00 1.16823995e+00 + 1.16191995e+00 1.17446005e+00 1.19008005e+00 1.18699002e+00 1.21012998e+00 + 1.20185006e+00 1.23081994e+00 1.22499001e+00 1.23939002e+00 1.23863995e+00 + 1.26108003e+00 1.28634000e+00 1.28076005e+00 1.33403003e+00 1.28076005e+00 + 1.34810996e+00 1.33062005e+00 1.34810996e+00 1.41947997e+00 1.34748995e+00 + 1.41947997e+00 1.31036997e+00 1.37993002e+00 1.31093001e+00 1.37410998e+00 + 1.30689001e+00 1.36740994e+00 1.26408994e+00 1.36789000e+00 1.22646999e+00 + 1.37232995e+00 1.19475996e+00 1.38840997e+00 1.16448998e+00 1.40222001e+00 + 1.15728998e+00 1.41559005e+00 1.15646994e+00 1.42587996e+00 1.16276002e+00 + 1.48800004e+00 1.23930001e+00 1.49823999e+00 1.23380995e+00 1.49109995e+00 + 1.21349001e+00 1.49501002e+00 1.16171002e+00 1.47765005e+00 1.12226999e+00 + 1.48169005e+00 1.11591995e+00 1.49105000e+00 1.11275005e+00 1.52942002e+00 + 1.10483003e+00 1.60203004e+00 1.09308004e+00 1.64134002e+00 1.07020998e+00 + 1.64687002e+00 1.07845998e+00 1.78340006e+00 1.07209003e+00 2.04518008e+00 + 1.03909004e+00 2.05605006e+00 1.04322004e+00 2.10643005e+00 9.99729991e-01 + 2.08569002e+00 8.69265974e-01 2.22220993e+00 5.19111991e-01 2.24294996e+00 + 4.48630989e-01 2.30183005e+00 2.80676991e-01 2.31151009e+00 2.79680014e-01 + 2.33364010e+00 2.19329998e-01 2.34012008e+00 2.19872996e-01 2.34645009e+00 + 1.98669001e-01 2.34827995e+00 6.32878989e-02 2.35109997e+00 4.20836993e-02 + 2.34827995e+00 -2.54776001e-01 2.34645009e+00 -2.72718012e-01 2.34461999e+00 + -4.10818011e-01 2.35109997e+00 -4.20603991e-01 2.23979998e+00 -6.84297979e-01 + 2.22333002e+00 -6.84297979e-01 2.21052003e+00 -7.14201987e-01 2.21318007e+00 + -7.32686996e-01 2.20670009e+00 -7.53892004e-01 2.20021009e+00 -7.35949993e-01 + 2.18756008e+00 -7.71290004e-01 2.19388008e+00 -7.89776027e-01 2.13232994e+00 + -9.45818007e-01 1.78394997e+00 -1.15894997e+00 1.74519002e+00 -1.23995996e+00 + 1.74687004e+00 -1.24047995e+00 1.74579000e+00 -1.24380004e+00 1.64520001e+00 + -1.24479997e+00 1.40117002e+00 -1.24477005e+00 1.38558996e+00 -1.24820995e+00 + 1.37489998e+00 -1.25832999e+00 1.36953998e+00 -1.26941001e+00 1.36824000e+00 + -1.27555001e+00 1.36860001e+00 -1.32246995e+00 1.37256002e+00 -1.32470000e+00 + 1.42770004e+00 -1.32470000e+00 1.42770004e+00 -1.35782003e+00 1.16450000e+00 + -1.35894001e+00 1.01627004e+00 -1.21800005e+00 1.01750004e+00 -1.21700001e+00 + 1.01730001e+00 -1.00000005e-03 1.01730001e+00 0.00000000e+00 + 0 0.000000000e+00 0 + 0.00000000e+00 1.00090966e-01 1.42058566e-01 1.74432367e-01 2.01877028e-01 + 2.24979803e-01 2.47056931e-01 2.67757624e-01 2.86991209e-01 3.05169106e-01 + 3.22580725e-01 3.39134157e-01 3.55067402e-01 3.70537132e-01 3.85467768e-01 + 3.99923384e-01 4.14100349e-01 4.27912831e-01 4.41382438e-01 4.54613835e-01 + 4.67619389e-01 4.80374694e-01 4.92945433e-01 5.05301535e-01 5.17550170e-01 + 5.29623330e-01 5.41537464e-01 5.53339064e-01 5.65047741e-01 5.76671302e-01 + 5.88139892e-01 5.99571586e-01 6.10939145e-01 6.22248888e-01 6.33480966e-01 + 6.44662738e-01 6.55835211e-01 6.66955948e-01 6.78083122e-01 6.89168453e-01 + 7.00246036e-01 7.11355567e-01 7.22437799e-01 7.33574986e-01 7.44701445e-01 + 7.55890310e-01 7.67115951e-01 7.78387666e-01 7.89742291e-01 8.01142991e-01 + 8.12662721e-01 8.24253023e-01 8.35991681e-01 8.47830594e-01 8.59858632e-01 + 8.72039199e-01 8.84432435e-01 8.97054255e-01 9.09975827e-01 9.23205733e-01 + 9.36859131e-01 9.51067269e-01 9.65930402e-01 9.81832623e-01 1.00000000e+00 + 0 diff --git a/sample/geqdsk_iter_small_sample b/sample/geqdsk_iter_small_sample new file mode 100644 index 0000000..e51be73 --- /dev/null +++ b/sample/geqdsk_iter_small_sample @@ -0,0 +1,1013 @@ + EFITD 00/00/2008 #002296 0200ms Convert 0 65 65 + 0.624390220E+01 0.124878049E+02 0.619999981E+01 0.307804870E+01 0.200000050E+00 + 0.635000000E+01 0.580000000E+00 0.118000000E+02 0.000000000E+00 0.530000019E+01 + 0.150229038E+08 0.118000000E+02 0.000000000E+00 0.635000000E+01 0.000000000E+00 + 0.580000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 0.328600002E+02 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 0.100000000E+01 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.000000000E+00 + 8.839481400e+00 9.337876300e+00 9.839568100e+00 1.033782100e+01 1.082504800e+01 + 1.129294300e+01 1.173271500e+01 1.213539000e+01 1.249217800e+01 1.279480000e+01 + 1.303573600e+01 1.320835100e+01 1.330689700e+01 1.332646200e+01 1.326295000e+01 + 1.311315000e+01 1.287490300e+01 1.254733900e+01 1.213106200e+01 1.162821700e+01 + 1.104236600e+01 1.037820400e+01 9.641152400e+00 8.836928400e+00 7.971158000e+00 + 7.049071300e+00 6.075297400e+00 5.053749600e+00 3.987582400e+00 2.879199000e+00 + 1.730285400e+00 5.418638000e-01-6.856498700e-01-1.952388000e+00-3.258976000e+00 +-4.606480100e+00-5.996357000e+00-7.430400800e+00-8.910681700e+00-1.043947100e+01 +-1.201913300e+01-1.365197300e+01-1.534000100e+01-1.708459100e+01-1.888593900e+01 +-2.074228700e+01-2.264873500e+01-2.459557500e+01-2.656598500e+01-2.853315000e+01 +-3.045719700e+01-3.228309200e+01-3.394168900e+01-3.535675400e+01-3.645929000e+01 +-3.720579500e+01-3.759174700e+01-3.765213000e+01-3.744884100e+01-3.705304000e+01 +-3.653091800e+01-3.593637800e+01-3.530948300e+01-3.467805500e+01-3.406034500e+01 + 7.756611800e+00 8.159504900e+00 8.563149500e+00 8.961815800e+00 9.349303200e+00 + 9.719033200e+00 1.006419200e+01 1.037789400e+01 1.065337300e+01 1.088415900e+01 + 1.106422700e+01 1.118810800e+01 1.125096200e+01 1.124863000e+01 1.117767600e+01 + 1.103544700e+01 1.082014700e+01 1.053090500e+01 1.016781400e+01 9.731926000e+00 + 9.225168200e+00 8.650195100e+00 8.010195700e+00 7.308672900e+00 6.549232500e+00 + 5.735395000e+00 4.870450000e+00 3.957351700e+00 2.998652000e+00 1.996473000e+00 + 9.524996300e-01-1.320044000e-01-1.256168700e+00-2.419477900e+00-3.621726000e+00 +-4.862962200e+00-6.143429300e+00-7.463489100e+00-8.823531200e+00-1.022385800e+01 +-1.166453100e+01-1.314517500e+01-1.466471200e+01-1.622100400e+01-1.781039800e+01 +-1.942710900e+01-2.106248700e+01-2.270412600e+01-2.433493600e+01-2.593230600e+01 +-2.746775200e+01-2.890747500e+01-3.021443900e+01-3.135227000e+01-3.229067200e+01 +-3.301099000e+01-3.350995300e+01-3.379994600e+01-3.390581500e+01-3.385961900e+01 +-3.369534700e+01-3.344492700e+01-3.313598300e+01-3.279101200e+01-3.242754700e+01 + 6.700354600e+00 7.027461100e+00 7.354309100e+00 7.675972500e+00 7.987255600e+00 + 8.282760600e+00 8.556982000e+00 8.804402400e+00 9.019607500e+00 9.197394400e+00 + 9.332868600e+00 9.421530700e+00 9.459350600e+00 9.442815800e+00 9.368991900e+00 + 9.235554700e+00 9.040834400e+00 8.783836400e+00 8.464241000e+00 8.082388900e+00 + 7.639216400e+00 7.136180400e+00 6.575145700e+00 5.958264800e+00 5.287857100e+00 + 4.566294200e+00 3.795901300e+00 2.978881600e+00 2.117260000e+00 1.212847800e+00 + 2.672275300e-01-7.182464600e-01-1.742433500e+00-2.804379700e+00-3.903279800e+00 +-5.038428300e+00-6.209156000e+00-7.414756300e+00-8.654391300e+00-9.926974300e+00 +-1.123102900e+01-1.256451200e+01-1.392460000e+01-1.530742700e+01-1.670777900e+01 +-1.811875000e+01-1.953138000e+01-2.093430900e+01-2.231353800e+01-2.365237400e+01 +-2.493173400e+01-2.613093400e+01-2.722903300e+01-2.820676400e+01-2.904870000e+01 +-2.974526000e+01-3.029398700e+01-3.069970500e+01-3.097352200e+01-3.113104400e+01 +-3.119029200e+01-3.116980400e+01-3.108720200e+01-3.095829800e+01-3.079665400e+01 + 5.667808500e+00 5.936575400e+00 6.204859700e+00 6.468350400e+00 6.722591400e+00 + 6.963030300e+00 7.185079600e+00 7.384180100e+00 7.555873900e+00 7.695872300e+00 + 7.800127500e+00 7.864889600e+00 7.886763600e+00 7.862755800e+00 7.790311800e+00 + 7.667347000e+00 7.492268100e+00 7.263982800e+00 6.981896900e+00 6.645892600e+00 + 6.256296600e+00 5.813824700e+00 5.319521900e+00 4.774691600e+00 4.180820500e+00 + 3.539509500e+00 2.852410800e+00 2.121174600e+00 1.347408300e+00 5.326491600e-01 +-3.216518200e-01-1.214131700e+00-2.143507000e+00-3.108554100e+00-4.108077000e+00 +-5.140867700e+00-6.205650800e+00-7.301019700e+00-8.425356900e+00-9.576740300e+00 +-1.075282900e+01-1.195074000e+01-1.316690000e+01-1.439688500e+01-1.563525300e+01 +-1.687538500e+01-1.810935000e+01-1.932781400e+01-2.052007500e+01-2.167419800e+01 +-2.277738800e+01-2.381653000e+01-2.477899900e+01-2.565357000e+01-2.643139500e+01 +-2.710682300e+01-2.767792100e+01-2.814655300e+01-2.851803600e+01-2.880043800e+01 +-2.900369600e+01-2.913870800e+01-2.921653600e+01-2.924777800e+01-2.924215900e+01 + 4.654558200e+00 4.880667200e+00 5.106365700e+00 5.327819800e+00 5.541135300e+00 + 5.742392100e+00 5.927683400e+00 6.093156300e+00 6.235061200e+00 6.349795300e+00 + 6.433949000e+00 6.484350200e+00 6.498100800e+00 6.472612900e+00 6.405636800e+00 + 6.295280900e+00 6.140028000e+00 5.938740300e+00 5.690655200e+00 5.395374800e+00 + 5.052840200e+00 4.663303900e+00 4.227290200e+00 3.745552300e+00 3.219029400e+00 + 2.648801800e+00 2.036051500e+00 1.382027700e+00 6.880184400e-01-4.466841000e-02 +-8.147167000e-01-1.620804300e+00-2.461596500e+00-3.335731700e+00-4.241796500e+00 +-5.178293700e+00-6.143602400e+00-7.135925800e+00-8.153234500e+00-9.193195300e+00 +-1.025310200e+01-1.132978500e+01-1.241953400e+01-1.351800600e+01-1.462015200e+01 +-1.572016000e+01-1.681142600e+01-1.788657600e+01-1.893755500e+01-1.995580300e+01 +-2.093250800e+01-2.185898800e+01-2.272710600e+01-2.352977800e+01-2.426140200e+01 +-2.491827400e+01-2.549879500e+01-2.600353600e+01-2.643510400e+01-2.679783100e+01 +-2.709737000e+01-2.734024600e+01-2.753342200e+01-2.768391000e+01-2.779846800e+01 + 3.656526300e+00 3.854283800e+00 4.051648100e+00 4.245175800e+00 4.431428000e+00 + 4.606989900e+00 4.768491700e+00 4.912635300e+00 5.036222900e+00 5.136187100e+00 + 5.209620000e+00 5.253803700e+00 5.266238700e+00 5.244664200e+00 5.187081800e+00 + 5.091769700e+00 4.957292600e+00 4.782508400e+00 4.566565000e+00 4.308894600e+00 + 4.009200100e+00 3.667437300e+00 3.283792300e+00 2.858655900e+00 2.392597900e+00 + 1.886340000e+00 1.340731100e+00 7.567254300e-01 1.353648200e-01-5.222343800e-01 +-1.214888500e+00-1.941348000e+00-2.700293300e+00-3.490322800e+00-4.309937500e+00 +-5.157516000e+00-6.031287200e+00-6.929295100e+00-7.849358100e+00-8.789027200e+00 +-9.745539700e+00-1.071577300e+01-1.169619600e+01-1.268284000e+01-1.367126500e+01 +-1.465655600e+01-1.563333800e+01-1.659583500e+01-1.753794900e+01-1.845340900e+01 +-1.933595300e+01-2.017954400e+01-2.097863400e+01-2.172840700e+01-2.242503700e+01 +-2.306586600e+01-2.364953000e+01-2.417598700e+01-2.464646700e+01-2.506331400e+01 +-2.542980400e+01-2.574989900e+01-2.602800400e+01-2.626874400e+01-2.647675500e+01 + 2.671395300e+00 2.853935700e+00 3.035764500e+00 3.213806400e+00 3.385036700e+00 + 3.546484000e+00 3.695240000e+00 3.828473300e+00 3.943445700e+00 4.037531400e+00 + 4.108235400e+00 4.153215900e+00 4.170299500e+00 4.157501200e+00 4.113038500e+00 + 4.035341300e+00 3.923062300e+00 3.775082100e+00 3.590508500e+00 3.368674800e+00 + 3.109134000e+00 2.811648400e+00 2.476178200e+00 2.102866900e+00 1.692027700e+00 + 1.244126300e+00 7.597678300e-01 2.396832600e-01-3.152816900e-01-9.041743900e-01 +-1.525939900e+00-2.179422400e+00-2.863361400e+00-3.576385700e+00-4.317001800e+00 +-5.083578600e+00-5.874329600e+00-6.687291600e+00-7.520299900e+00-8.370964100e+00 +-9.236644700e+00-1.011442800e+01-1.100110900e+01-1.189318100e+01-1.278683500e+01 +-1.367797200e+01-1.456223900e+01-1.543507700e+01-1.629180000e+01-1.712769300e+01 +-1.793814100e+01-1.871875800e+01-1.946555100e+01-2.017505100e+01-2.084445600e+01 +-2.147172900e+01-2.205567400e+01-2.259594000e+01-2.309301000e+01-2.354811700e+01 +-2.396315400e+01-2.434053000e+01-2.468304300e+01-2.499373100e+01-2.527574500e+01 + 1.699843800e+00 1.879047400e+00 2.056687600e+00 2.230100400e+00 2.396688000e+00 + 2.553912900e+00 2.699299300e+00 2.830439800e+00 2.945004200e+00 3.040752600e+00 + 3.115547700e+00 3.167368700e+00 3.194325200e+00 3.194670000e+00 3.166808600e+00 + 3.109311300e+00 3.020918100e+00 2.900545600e+00 2.747288700e+00 2.560423100e+00 + 2.339402200e+00 2.083855400e+00 1.793583000e+00 1.468549700e+00 1.108879100e+00 + 7.148451800e-01 2.868655300e-01-1.745062200e-01-6.685861900e-01-1.194565700e+00 +-1.751513700e+00-2.338379400e+00-2.953989000e+00-3.597044200e+00-4.266115700e+00 +-4.959632900e+00-5.675878000e+00-6.412970500e+00-7.168858100e+00-7.941301800e+00 +-8.727869000e+00-9.525921800e+00-1.033261900e+01-1.114491300e+01-1.195956400e+01 +-1.277316100e+01-1.358215400e+01-1.438289900e+01-1.517171900e+01-1.594497000e+01 +-1.669913100e+01-1.743088500e+01-1.813721800e+01-1.881549600e+01-1.946355800e+01 +-2.007975800e+01-2.066301500e+01-2.121283000e+01-2.172925800e+01-2.221288500e+01 +-2.266476600e+01-2.308634600e+01-2.347938300e+01-2.384586300e+01-2.418790800e+01 + 7.464866000e-01 9.325650900e-01 1.115644300e+00 1.293556600e+00 1.464177400e+00 + 1.625419900e+00 1.775236800e+00 1.911625600e+00 2.032635200e+00 2.136376400e+00 + 2.221031900e+00 2.284867300e+00 2.326241000e+00 2.343615300e+00 2.335564400e+00 + 2.300782700e+00 2.238092200e+00 2.146448600e+00 2.024943800e+00 1.872812500e+00 + 1.689433000e+00 1.474329900e+00 1.227176100e+00 9.477933000e-01 6.361517300e-01 + 2.923693400e-01-8.329047300e-02-4.904216500e-01-9.284790800e-01-1.396781600e+00 +-1.894515800e+00-2.420736600e+00-2.974370500e+00-3.554212800e+00-4.158927900e+00 +-4.787046000e+00-5.436957800e+00-6.106913100e+00-6.795013900e+00-7.499212700e+00 +-8.217310900e+00-8.946957600e+00-9.685656500e+00-1.043077600e+01-1.117955900e+01 +-1.192915000e+01-1.267662400e+01-1.341901700e+01-1.415337800e+01-1.487681500e+01 +-1.558655200e+01-1.627998500e+01-1.695474400e+01-1.760874700e+01-1.824024000e+01 +-1.884784300e+01-1.943057400e+01-1.998784600e+01-2.051947800e+01-2.102565800e+01 +-2.150692400e+01-2.196410600e+01-2.239828500e+01-2.281073400e+01-2.320286400e+01 +-1.799218400e-01 2.092835700e-02 2.169308500e-01 4.064842200e-01 5.879721000e-01 + 7.597698000e-01 9.202527400e-01 1.067805600e+00 1.200832200e+00 1.317766000e+00 + 1.417079900e+00 1.497295900e+00 1.556994700e+00 1.594823800e+00 1.609505700e+00 + 1.599844200e+00 1.564731800e+00 1.503154800e+00 1.414198900e+00 1.297056100e+00 + 1.151029700e+00 9.755424300e-01 7.701444600e-01 5.345218200e-01 2.685031600e-01 +-2.793462800e-02-3.546644200e-01-7.114088500e-01-1.097742700e+00-1.513096600e+00 +-1.956761200e+00-2.427891500e+00-2.925510400e+00-3.448512300e+00-3.995663900e+00 +-4.565606600e+00-5.156857500e+00-5.767808000e+00-6.396727600e+00-7.041764300e+00 +-7.700946800e+00-8.372192400e+00-9.053314200e+00-9.742031100e+00-1.043598500e+01 +-1.113276300e+01-1.182991500e+01-1.252498900e+01-1.321556300e+01-1.389927800e+01 +-1.457388000e+01-1.523725700e+01-1.588747900e+01-1.652283500e+01-1.714185300e+01 +-1.774334500e+01-1.832639500e+01-1.889039000e+01-1.943500100e+01-1.996017800e+01 +-2.046612900e+01-2.095329300e+01-2.142230000e+01-2.187394500e+01-2.230914700e+01 +-1.067546600e+00-8.468856800e-01-6.329535800e-01-4.267959300e-01-2.295406200e-01 +-4.237651800e-02 1.334642600e-01 2.967217300e-01 4.461216300e-01 5.803876500e-01 + 6.982520800e-01 7.984653700e-01 8.798044900e-01 9.410802700e-01 9.811436500e-01 + 9.988910600e-01 9.932697400e-01 9.632827000e-01 9.079939700e-01 8.265351700e-01 + 7.181134200e-01 5.820232000e-01 4.176652400e-01 2.245676500e-01 2.404663500e-03 +-2.489903100e-01-5.296182000e-01-8.393141600e-01-1.177751700e+00-1.544450000e+00 +-1.938782700e+00-2.359985100e+00-2.807162300e+00-3.279295200e+00-3.775246600e+00 +-4.293764100e+00-4.833484200e+00-5.392937200e+00-5.970550500e+00-6.564651500e+00 +-7.173476700e+00-7.795176000e+00-8.427824000e+00-9.069434200e+00-9.717965100e+00 +-1.037135100e+01-1.102750700e+01-1.168436500e+01-1.233988900e+01-1.299210800e+01 +-1.363914100e+01-1.427922300e+01-1.491073400e+01-1.553222200e+01-1.614242400e+01 +-1.674027600e+01-1.732493600e+01-1.789577900e+01-1.845239400e+01-1.899459100e+01 +-1.952236600e+01-2.003590000e+01-2.053554000e+01-2.102175500e+01-2.149512700e+01 +-1.903789600e+00-1.661166800e+00-1.426752200e+00-1.201145400e+00-9.850735100e-01 +-7.793622600e-01-5.849129600e-01-4.026832300e-01-2.336715900e-01-7.890403300e-02 + 6.057681500e-02 1.837206600e-01 2.894765700e-01 3.767984200e-01 4.446487100e-01 + 4.920011800e-01 5.178431300e-01 5.211778900e-01 5.010283600e-01 4.564413400e-01 + 3.864877200e-01 2.902605200e-01 1.669285100e-01 1.579291200e-02-1.636712800e-01 +-3.717902000e-01-6.086838200e-01-8.742722900e-01-1.168290700e+00-1.490306900e+00 +-1.839738000e+00-2.215866300e+00-2.617850300e+00-3.044735000e+00-3.495457600e+00 +-3.968856300e+00-4.463672600e+00-4.978557600e+00-5.512076400e+00-6.062715100e+00 +-6.628884300e+00-7.208931900e+00-7.801147900e+00-8.403779000e+00-9.015040400e+00 +-9.633128200e+00-1.025624200e+01-1.088259800e+01-1.151044700e+01-1.213810200e+01 +-1.276395000e+01-1.338647900e+01-1.400428900e+01-1.461611900e+01-1.522085200e+01 +-1.581753100e+01-1.640536900e+01-1.698374400e+01-1.755221000e+01-1.811048500e+01 +-1.865844500e+01-1.919611400e+01-1.972364000e+01-2.024129500e+01-2.074943400e+01 +-2.677928200e+00-2.413480500e+00-2.158026000e+00-1.911881400e+00-1.675500400e+00 +-1.449447200e+00-1.234374200e+00-1.031004200e+00-8.401148300e-01-6.625266100e-01 +-4.990929100e-01-3.506924800e-01-2.182243500e-01-1.026053100e-01-4.769988400e-03 + 7.432648500e-02 1.337036200e-01 1.723511800e-01 1.892326900e-01 1.833121900e-01 + 1.535905500e-01 9.869530800e-02 1.732551100e-02-9.159933000e-02-2.288931500e-01 +-3.950527000e-01-5.902752300e-01-8.144915100e-01-1.067414800e+00-1.348585000e+00 +-1.657399400e+00-1.993134300e+00-2.354961600e+00-2.741958400e+00-3.153113600e+00 +-3.587333700e+00-4.043445100e+00-4.520199800e+00-5.016279200e+00-5.530298200e+00 +-6.060814900e+00-6.606334700e+00-7.165320400e+00-7.736203700e+00-8.317395200e+00 +-8.907296200e+00-9.504316300e+00-1.010688400e+01-1.071346500e+01-1.132257700e+01 +-1.193280400e+01-1.254281500e+01-1.315137500e+01-1.375735900e+01-1.435976300e+01 +-1.495771000e+01-1.555046200e+01-1.613741700e+01-1.671810900e+01-1.729221700e+01 +-1.785954100e+01-1.842001000e+01-1.897366300e+01-1.952064500e+01-2.006117800e+01 +-3.382854700e+00-3.098080200e+00-2.822317600e+00-2.555753900e+00-2.298694600e+00 +-2.051543700e+00-1.814788300e+00-1.588984800e+00-1.374744900e+00-1.172727500e+00 +-9.836297600e-01-8.081815200e-01-6.471420500e-01-5.013001600e-01-3.714773700e-01 +-2.585378000e-01-1.634066800e-01-8.710892500e-02-3.086268000e-02 3.623461800e-03 + 1.820074600e-02 8.080712500e-03-2.888945900e-02-9.422801400e-02-1.892906100e-01 +-3.145999000e-01-4.702799300e-01-6.560418000e-01-8.713840200e-01-1.115694400e+00 +-1.388259500e+00-1.688286300e+00-2.014918600e+00-2.367239700e+00-2.744271300e+00 +-3.144973000e+00-3.568240900e+00-4.012909900e+00-4.477755500e+00-4.961500200e+00 +-5.462815800e+00-5.980333800e+00-6.512651000e+00-7.058340500e+00-7.615959600e+00 +-8.184063000e+00-8.761212300e+00-9.345994900e+00-9.937027000e+00-1.053297800e+01 +-1.113257300e+01-1.173461200e+01-1.233798000e+01-1.294165200e+01-1.354470800e+01 +-1.414633700e+01-1.474584200e+01-1.534264400e+01-1.593628100e+01-1.652640900e+01 +-1.711280100e+01-1.769533300e+01-1.827399100e+01-1.884884800e+01-1.942006500e+01 +-4.015473800e+00-3.712372800e+00-3.417633100e+00-3.131420600e+00-2.853986300e+00 +-2.585656200e+00-2.326821300e+00-2.077928800e+00-1.839473200e+00-1.611989400e+00 +-1.396046400e+00-1.192242400e+00-1.001202200e+00-8.235763300e-01-6.600428800e-01 +-5.113140300e-01-3.781468000e-01-2.613603800e-01-1.618582000e-01-8.065093300e-02 +-1.891303200e-02 2.145491500e-02 3.535504600e-02 1.699775100e-02-3.625270000e-02 +-1.222179200e-01-2.416487800e-01-3.929032700e-01-5.748602200e-01-7.868226800e-01 +-1.027860000e+00-1.297038000e+00-1.593471200e+00-1.916258800e+00-2.264461000e+00 +-2.637093100e+00-3.033116800e+00-3.451438900e+00-3.890913000e+00-4.350344200e+00 +-4.828495500e+00-5.324093800e+00-5.835835500e+00-6.362395800e+00-6.902437700e+00 +-7.454621300e+00-8.017618200e+00-8.590120300e+00-9.170852700e+00-9.758585000e+00 +-1.035214400e+01-1.095042000e+01-1.155238200e+01-1.215707900e+01-1.276365300e+01 +-1.337134400e+01-1.397949200e+01-1.458754000e+01-1.519504100e+01-1.580165000e+01 +-1.640712900e+01-1.701134500e+01-1.761425800e+01-1.821592100e+01-1.881647900e+01 +-4.576135600e+00-4.256623300e+00-3.944325900e+00-3.639447500e+00-3.342242200e+00 +-3.053011900e+00-2.772100200e+00-2.499888200e+00-2.236790700e+00-1.983249400e+00 +-1.739729300e+00-1.506713600e+00-1.284700000e+00-1.074196500e+00-8.757184100e-01 +-6.897862600e-01-5.169235500e-01-3.576578200e-01-2.125243200e-01-8.208221900e-02 + 3.301015900e-02 1.294779600e-01 1.971434400e-01 2.311719800e-01 2.281210700e-01 + 1.860575200e-01 1.042742800e-01-1.881675000e-02-1.713606000e-01-3.566616800e-01 +-5.715759400e-01-8.148825800e-01-1.086100200e+00-1.384408600e+00-1.708917000e+00 +-2.058733700e+00-2.432900200e+00-2.830383100e+00-3.250091800e+00-3.690893700e+00 +-4.151620400e+00-4.631069200e+00-5.128007900e+00-5.641178100e+00-6.169307700e+00 +-6.711122000e+00-7.265356100e+00-7.830765200e+00-8.406139400e+00-8.990313500e+00 +-9.582174300e+00-1.018067400e+01-1.078483600e+01-1.139376100e+01-1.200663600e+01 +-1.262273700e+01-1.324143400e+01-1.386219500e+01-1.448458800e+01-1.510828200e+01 +-1.573304400e+01-1.635874400e+01-1.698535200e+01-1.761292600e+01-1.824162900e+01 +-5.067687000e+00-4.733283500e+00-4.404632600e+00-4.081999800e+00-3.765670300e+00 +-3.455949800e+00-3.153163900e+00-2.857656700e+00-2.569788500e+00-2.289933200e+00 +-2.018475100e+00-1.755802600e+00-1.502304100e+00-1.258360600e+00-1.024337100e+00 +-8.005695900e-01-5.873507900e-01-3.849100200e-01-1.933978600e-01-1.289193900e-02 + 1.565610600e-01 3.038596500e-01 4.214092800e-01 5.036578200e-01 5.475483500e-01 + 5.520834300e-01 5.171652400e-01 4.430050600e-01 3.299355500e-01 1.767157000e-01 +-1.739892900e-02-2.372349900e-01-4.882627100e-01-7.670977100e-01-1.072689200e+00 +-1.404700800e+00-1.762252000e+00-2.144266800e+00-2.549648500e+00-2.977308500e+00 +-3.426145800e+00-3.895020500e+00-4.382745300e+00-4.888092000e+00-5.409809600e+00 +-5.946639500e+00-6.497334000e+00-7.060671300e+00-7.635466100e+00-8.220582000e+00 +-8.814938500e+00-9.417519600e+00-1.002738000e+01-1.064365400e+01-1.126555500e+01 +-1.189238700e+01-1.252354200e+01-1.315850900e+01-1.379687100e+01-1.443831300e+01 +-1.508262000e+01-1.572967600e+01-1.637946900e+01-1.703208700e+01-1.768772100e+01 +-5.494526900e+00-5.146239800e+00-4.802085900e+00-4.462392800e+00-4.127480500e+00 +-3.797668700e+00-3.473277100e+00-3.154627300e+00-2.842043900e+00-2.535852000e+00 +-2.236375600e+00-1.943933200e+00-1.658833700e+00-1.381367200e+00-1.111794400e+00 +-8.503304100e-01-5.971158700e-01-3.521606600e-01-1.152151500e-01 1.145059500e-01 + 3.298383400e-01 5.192043800e-01 6.737409200e-01 7.881810700e-01 8.618398900e-01 + 9.018265600e-01 9.102015500e-01 8.868029100e-01 8.301645500e-01 7.357300500e-01 + 5.990725800e-01 4.221025400e-01 2.017070900e-01-6.162075700e-02-3.497242600e-01 +-6.690809700e-01-1.015669200e+00-1.387707400e+00-1.784076300e+00-2.203863900e+00 +-2.646166600e+00-3.109942900e+00-3.594013200e+00-4.097111200e+00-4.617932300e+00 +-5.155170900e+00-5.707543400e+00-6.273804200e+00-6.852757500e+00-7.443265400e+00 +-8.044254300e+00-8.654717400e+00-9.273726500e+00-9.900427800e+00-1.053405300e+01 +-1.117391900e+01-1.181943500e+01-1.247010300e+01-1.312552200e+01-1.378539100e+01 +-1.444951100e+01-1.511778500e+01-1.579022400e+01-1.646694800e+01-1.714818600e+01 +-5.861794000e+00-5.500125400e+00-5.140945900e+00-4.784626000e+00-4.431510400e+00 +-4.081926300e+00-3.736187200e+00-3.394597300e+00-3.057452200e+00-2.725041400e+00 +-2.397645700e+00-2.075537900e+00-1.758977100e+00-1.448204600e+00-1.143438000e+00 +-8.448655600e-01-5.526537300e-01-2.670224300e-01 1.137262700e-02 2.859703000e-01 + 5.376867700e-01 7.537553300e-01 9.236853100e-01 1.061732500e+00 1.172218900e+00 + 1.253030200e+00 1.302989400e+00 1.320764700e+00 1.305216300e+00 1.255381800e+00 + 1.170296500e+00 1.049366000e+00 8.923514500e-01 6.946219200e-01 4.477280400e-01 + 1.531086300e-01-1.892814500e-01-5.564929800e-01-9.483454800e-01-1.364696100e+00 +-1.805522100e+00-2.269774400e+00-2.756018900e+00-3.262743700e+00-3.788455700e+00 +-4.331711800e+00-4.891133800e+00-5.465416000e+00-6.053326100e+00-6.653707500e+00 +-7.265476700e+00-7.887625200e+00-8.519224200e+00-9.159423800e+00-9.807461700e+00 +-1.046266000e+01-1.112443500e+01-1.179229800e+01-1.246585600e+01-1.314481800e+01 +-1.382899700e+01-1.451831200e+01-1.521279200e+01-1.591258000e+01-1.661793900e+01 +-6.174703600e+00-5.799744600e+00-5.425705900e+00-5.052969900e+00-4.681881400e+00 +-4.312758400e+00-3.945897600e+00-3.581578500e+00-3.220069200e+00-2.861626600e+00 +-2.506499300e+00-2.154927500e+00-1.807142400e+00-1.463365600e+00-1.123803400e+00 +-7.886378800e-01-4.579992900e-01-1.318887800e-01 1.900063800e-01 4.980155200e-01 + 7.746781100e-01 1.005648300e+00 1.211101400e+00 1.391500400e+00 1.544217700e+00 + 1.667140800e+00 1.758486500e+00 1.816679000e+00 1.840338800e+00 1.828293700e+00 + 1.779595400e+00 1.693552500e+00 1.569752100e+00 1.407933800e+00 1.208023400e+00 + 9.686230400e-01 6.882445200e-01 3.510846800e-01-3.799734300e-02-4.509263300e-01 +-8.961316900e-01-1.367810600e+00-1.863171800e+00-2.380222100e+00-2.917209400e+00 +-3.472509900e+00-4.044632400e+00-4.632212200e+00-5.233991600e+00-5.848799700e+00 +-6.475544900e+00-7.113212100e+00-7.760865200e+00-8.417650200e+00-9.082798000e+00 +-9.755632400e+00-1.043556800e+01-1.112211600e+01-1.181488700e+01-1.251359400e+01 +-1.321805500e+01-1.392819500e+01-1.464404900e+01-1.536577200e+01-1.609363900e+01 +-6.438018300e+00-6.049621600e+00-5.660715600e+00-5.271650300e+00-4.882738600e+00 +-4.494266000e+00-4.106493500e+00-3.719665800e+00-3.334013500e+00-2.949758300e+00 +-2.567115300e+00-2.186295500e+00-1.807510700e+00-1.430975300e+00-1.056914300e+00 +-6.855807900e-01-3.173169500e-01 4.720304500e-02 4.082992700e-01 7.444204100e-01 + 1.037729500e+00 1.309647800e+00 1.558695300e+00 1.782130600e+00 1.977547300e+00 + 2.142717800e+00 2.275585900e+00 2.374262600e+00 2.437052000e+00 2.462474100e+00 + 2.449297200e+00 2.396563500e+00 2.303612700e+00 2.170082300e+00 1.995921300e+00 + 1.781390400e+00 1.527220200e+00 1.234372300e+00 9.021077800e-01 5.241830300e-01 + 9.038012500e-02-3.986504400e-01-9.113996600e-01-1.446408000e+00-2.001807000e+00 +-2.575644500e+00-3.166352000e+00-3.772616600e+00-4.393238100e+00-5.027075300e+00 +-5.673038500e+00-6.330101500e+00-6.997311100e+00-7.673798100e+00-8.358779900e+00 +-9.051569000e+00-9.751574500e+00-1.045830200e+01-1.117136100e+01-1.189046000e+01 +-1.261541400e+01-1.334614500e+01-1.408268300e+01-1.482517500e+01-1.557388400e+01 +-6.655719800e+00-6.253739800e+00-5.849960300e+00-5.444662100e+00-5.038096000e+00 +-4.630489800e+00-4.222052100e+00-3.812974700e+00-3.403440500e+00-2.993623700e+00 +-2.583696600e+00-2.173832400e+00-1.764211100e+00-1.355024000e+00-9.464786600e-01 +-5.387941600e-01-1.321638800e-01 2.734009900e-01 6.652727700e-01 1.019844200e+00 + 1.354689600e+00 1.669837400e+00 1.962205800e+00 2.229015100e+00 2.467645900e+00 + 2.675585000e+00 2.850440500e+00 2.989970000e+00 3.092108500e+00 3.155020700e+00 + 3.177127400e+00 3.157152400e+00 3.094157200e+00 2.987564600e+00 2.837161500e+00 + 2.643114800e+00 2.405968900e+00 2.126592900e+00 1.806064800e+00 1.445608300e+00 + 1.045835300e+00 6.048085700e-01 1.012732500e-01-4.602585400e-01-1.042980400e+00 +-1.642023100e+00-2.256863400e+00-2.886922400e+00-3.531245500e+00-4.188712600e+00 +-4.858188600e+00-5.538592300e+00-6.228924800e+00-6.928280400e+00-7.635853300e+00 +-8.350938800e+00-9.072936100e+00-9.801343900e+00-1.053576600e+01-1.127590900e+01 +-1.202157700e+01-1.277268300e+01-1.352923900e+01-1.429136700e+01-1.505929900e+01 +-6.831014600e+00-6.415522600e+00-5.997033600e+00-5.575736500e+00-5.151802500e+00 +-4.725385200e+00-4.296624200e+00-3.865646600e+00-3.432570700e+00-2.997510900e+00 +-2.560580700e+00-2.121898200e+00-1.681592700e+00-1.239812900e+00-7.967404700e-01 +-3.526304700e-01 9.204425700e-02 5.347417600e-01 9.492929600e-01 1.342880200e+00 + 1.720664900e+00 2.079174500e+00 2.415305400e+00 2.726089000e+00 3.008612400e+00 + 3.260021400e+00 3.477523800e+00 3.658481800e+00 3.800382600e+00 3.900976900e+00 + 3.958296300e+00 3.970701000e+00 3.936935900e+00 3.856158500e+00 3.727954900e+00 + 3.552322400e+00 3.329701200e+00 3.060887100e+00 2.747034100e+00 2.389558300e+00 + 1.990071900e+00 1.550103500e+00 1.070179200e+00 5.453976400e-01-5.457784200e-02 +-6.768882300e-01-1.318253800e+00-1.976482700e+00-2.649421700e+00-3.335344800e+00 +-4.032841700e+00-4.740696000e+00-5.457830900e+00-6.183293800e+00-6.916252100e+00 +-7.655988200e+00-8.401895500e+00-9.153475800e+00-9.910333600e+00-1.067217300e+01 +-1.143879700e+01-1.221010200e+01-1.298608000e+01-1.376681800e+01-1.455249800e+01 +-6.966656200e+00-6.538048300e+00-6.105272800e+00-5.668428900e+00-5.227601500e+00 +-4.782863600e+00-4.334276200e+00-3.881890300e+00-3.425747900e+00-2.965887300e+00 +-2.502346500e+00-2.035167500e+00-1.564403100e+00-1.090122800e+00-6.124141800e-01 +-1.313528300e-01 3.531591900e-01 8.258469100e-01 1.271159100e+00 1.706854100e+00 + 2.127632400e+00 2.529888600e+00 2.910352500e+00 3.265808300e+00 3.592996100e+00 + 3.888660900e+00 4.149577600e+00 4.372602500e+00 4.554763800e+00 4.693326500e+00 + 4.785871000e+00 4.830350400e+00 4.825159500e+00 4.769166000e+00 4.661739300e+00 + 4.502763300e+00 4.292611600e+00 4.032121200e+00 3.722550200e+00 3.365506600e+00 + 2.962909700e+00 2.516921500e+00 2.029886500e+00 1.504274100e+00 9.418755800e-01 + 3.302864700e-01-3.458049600e-01-1.041577700e+00-1.750182000e+00-2.470256800e+00 +-3.200702700e+00-3.940351200e+00-4.688096000e+00-5.442957900e+00-6.204095400e+00 +-6.970800900e+00-7.742486000e+00-8.518674900e+00-9.298993100e+00-1.008316000e+01 +-1.087098400e+01-1.166235800e+01-1.245725400e+01-1.325572400e+01-1.405789600e+01 +-7.065345800e+00-6.624323400e+00-6.177953700e+00-5.726253000e+00-5.269225600e+00 +-4.806862800e+00-4.339143300e+00-3.866033300e+00-3.387488600e+00-2.903458100e+00 +-2.413886300e+00-1.918717500e+00-1.417901800e+00-9.114045500e-01-3.992381700e-01 + 1.184169200e-01 6.399312600e-01 1.135492200e+00 1.624572400e+00 2.102794900e+00 + 2.566716400e+00 3.012998100e+00 3.438241000e+00 3.838928000e+00 4.211418600e+00 + 4.551991900e+00 4.856920200e+00 5.122539000e+00 5.345336900e+00 5.522052800e+00 + 5.649765500e+00 5.725986500e+00 5.748712100e+00 5.716500800e+00 5.628510000e+00 + 5.484502800e+00 5.284837200e+00 5.030439400e+00 4.722751100e+00 4.363669900e+00 + 3.955488000e+00 3.500827300e+00 3.002611900e+00 2.464017200e+00 1.888366800e+00 + 1.278207300e+00 6.294848900e-01-9.670049000e-02-8.412724700e-01-1.599659400e+00 +-2.367897500e+00-3.143809100e+00-3.926022300e+00-4.713526700e+00-5.505522700e+00 +-6.301364400e+00-7.100532500e+00-7.902613600e+00-8.707288700e+00-9.514322300e+00 +-1.032355100e+01-1.113487900e+01-1.194827200e+01-1.276375600e+01-1.358140700e+01 +-7.129977200e+00-6.677475900e+00-6.218430000e+00-5.752785700e+00-5.280472800e+00 +-4.801402600e+00-4.315469300e+00-3.822550500e+00-3.322507600e+00-2.815189100e+00 +-2.300432700e+00-1.778068700e+00-1.247921500e+00-7.098052500e-01-1.635116000e-01 + 3.911640300e-01 9.370309700e-01 1.472072800e+00 2.001338500e+00 2.521047100e+00 + 3.027755000e+00 3.517980300e+00 3.988066000e+00 4.434125900e+00 4.852094200e+00 + 5.237755800e+00 5.586846800e+00 5.895143500e+00 6.158563600e+00 6.373277200e+00 + 6.535814300e+00 6.643198500e+00 6.693010300e+00 6.683486000e+00 6.613553000e+00 + 6.482855800e+00 6.291752300e+00 6.041269800e+00 5.733065100e+00 5.369330900e+00 + 4.952714900e+00 4.486236100e+00 3.973198200e+00 3.417082100e+00 2.821473400e+00 + 2.190013900e+00 1.526571500e+00 8.353138000e-01 8.439314400e-02-7.294263800e-01 +-1.543114500e+00-2.360201600e+00-3.180589200e+00-4.003660200e+00-4.828823600e+00 +-5.655597700e+00-6.483603500e+00-7.312552000e+00-8.142226200e+00-8.972471200e+00 +-9.803182600e+00-1.063430100e+01-1.146580600e+01-1.229771000e+01-1.313005700e+01 +-7.163689100e+00-6.700806100e+00-6.230182600e+00-5.751702800e+00-5.265227800e+00 +-4.770592700e+00-4.267606700e+00-3.756054200e+00-3.235696300e+00-2.706270900e+00 +-2.167498600e+00-1.619087600e+00-1.060751100e+00-4.922518100e-01 8.643709900e-02 + 6.775413800e-01 1.249044200e+00 1.821873300e+00 2.390271900e+00 2.950541300e+00 + 3.499221100e+00 4.032667200e+00 4.546917900e+00 5.037711600e+00 5.500514000e+00 + 5.930605900e+00 6.323166800e+00 6.673375100e+00 6.976535800e+00 7.228213800e+00 + 7.424406500e+00 7.561671700e+00 7.637230400e+00 7.649022600e+00 7.595758000e+00 + 7.476932000e+00 7.292837100e+00 7.044548500e+00 6.733883400e+00 6.363328000e+00 + 5.935913600e+00 5.455091000e+00 4.924609200e+00 4.348403000e+00 3.730515700e+00 + 3.075004100e+00 2.385916500e+00 1.667072900e+00 9.205700800e-01 1.227656900e-01 +-7.410562000e-01-1.602553500e+00-2.463799200e+00-3.324528900e+00-4.184414900e+00 +-5.043232900e+00-5.900831700e+00-6.757111100e+00-7.612006700e+00-8.465482700e+00 +-9.317525900e+00-1.016813600e+01-1.101732800e+01-1.186512300e+01-1.271154800e+01 +-7.169800300e+00-6.697743400e+00-6.216780200e+00-5.726742300e+00-5.227426500e+00 +-4.718594100e+00-4.199970200e+00-3.671244400e+00-3.132070500e+00-2.582065800e+00 +-2.020812300e+00-1.447854600e+00-8.627035000e-01-2.648578900e-01 3.460866200e-01 + 9.574568900e-01 1.566068100e+00 2.174890000e+00 2.780448900e+00 3.379439600e+00 + 3.968345900e+00 4.543285800e+00 5.099969400e+00 5.633709000e+00 6.139503000e+00 + 6.612084400e+00 7.046006700e+00 7.435779600e+00 7.776060100e+00 8.061883900e+00 + 8.288842200e+00 8.453230900e+00 8.552091600e+00 8.583233800e+00 8.545214700e+00 + 8.437336900e+00 8.259683600e+00 8.013159800e+00 7.699525800e+00 7.321383500e+00 + 6.882082900e+00 6.385551500e+00 5.836080100e+00 5.238140600e+00 4.596262000e+00 + 3.914948700e+00 3.198624800e+00 2.451605600e+00 1.678192900e+00 8.818142400e-01 + 3.034145000e-02-8.852860900e-01-1.790231800e+00-2.689577800e+00-3.584533700e+00 +-4.475456200e+00-5.362524500e+00-6.245877300e+00-7.125638000e+00-8.001914000e+00 +-8.874800700e+00-9.744379000e+00-1.061071400e+01-1.147385400e+01-1.233382600e+01 +-7.151693800e+00-6.671739100e+00-6.181783700e+00-5.681613000e+00-5.170964700e+00 +-4.649528500e+00-4.116947200e+00-3.572814700e+00-3.016678300e+00-2.448036700e+00 +-1.866339200e+00-1.270973600e+00-6.612247200e-01-3.610487700e-02 6.063914300e-01 + 1.238679200e+00 1.878410000e+00 2.519981600e+00 3.159927400e+00 3.794907100e+00 + 4.421244100e+00 5.034786700e+00 5.630868400e+00 6.204372900e+00 6.749752500e+00 + 7.261084100e+00 7.732175800e+00 8.156824100e+00 8.529102300e+00 8.843682300e+00 + 9.096088400e+00 9.282698600e+00 9.400809300e+00 9.448370000e+00 9.423944500e+00 + 9.326630600e+00 9.156119300e+00 8.912776000e+00 8.597888000e+00 8.213761300e+00 + 7.763773900e+00 7.252205400e+00 6.683936100e+00 6.064152200e+00 5.398038900e+00 + 4.690619500e+00 3.946752800e+00 3.171065600e+00 2.367937100e+00 1.541411000e+00 + 6.926784500e-01-2.382269100e-01-1.178299800e+00-2.113750700e+00-3.042348900e+00 +-3.964132800e+00-4.879495600e+00-5.788815000e+00-6.692403800e+00-7.590515600e+00 +-8.483354600e+00-9.371085200e+00-1.025383100e+01-1.113167800e+01-1.200467000e+01 +-7.112666600e+00-6.626121000e+00-6.128604400e+00-5.619860200e+00-5.099568400e+00 +-4.567349900e+00-4.022760900e+00-3.465300600e+00-2.894407000e+00-2.309464500e+00 +-1.709810100e+00-1.094748000e+00-4.635686900e-01 1.844619100e-01 8.493989700e-01 + 1.508447400e+00 2.175535200e+00 2.846097000e+00 3.516694500e+00 4.183848900e+00 + 4.843635600e+00 5.491580500e+00 6.122624900e+00 6.731145900e+00 7.310930300e+00 + 7.855237500e+00 8.357052800e+00 8.809456800e+00 9.206144300e+00 9.541806200e+00 + 9.812290200e+00 1.001466100e+01 1.014674600e+01 1.020692600e+01 1.019391400e+01 + 1.010665900e+01 9.944390300e+00 9.706738500e+00 9.394069700e+00 9.007813500e+00 + 8.550812700e+00 8.027335200e+00 7.442735700e+00 6.802959900e+00 6.114067100e+00 + 5.381861200e+00 4.611737300e+00 3.808739900e+00 2.977536900e+00 2.122384800e+00 + 1.246418400e+00 3.421971800e-01-6.414973700e-01-1.611715200e+00-2.571022300e+00 +-3.520916000e+00-4.462241600e+00-5.395550700e+00-6.321260000e+00-7.239712200e+00 +-8.151193600e+00-9.055940600e+00-9.954134900e+00-1.084590700e+01-1.173132800e+01 +-7.055707900e+00-6.563886600e+00-6.060316100e+00-5.544693000e+00-5.016638800e+00 +-4.475697500e+00-3.921339000e+00-3.352956800e+00-2.769868400e+00-2.171313800e+00 +-1.556460600e+00-9.244204800e-01-2.743042100e-01 3.946323400e-01 1.068759400e+00 + 1.754241700e+00 2.446206100e+00 3.142032400e+00 3.838903900e+00 4.533437700e+00 + 5.221560500e+00 5.898486600e+00 6.558740600e+00 7.196097400e+00 7.803535900e+00 + 8.373429300e+00 8.897917700e+00 9.369586900e+00 9.782085400e+00 1.013067300e+01 + 1.041209100e+01 1.062414800e+01 1.076525600e+01 1.083414800e+01 1.082973600e+01 + 1.075094800e+01 1.059669400e+01 1.036606000e+01 1.005847700e+01 9.674215300e+00 + 9.214952500e+00 8.684271800e+00 8.087586400e+00 7.431501900e+00 6.723027700e+00 + 5.968945000e+00 5.175422700e+00 4.348005800e+00 3.491735200e+00 2.611210600e+00 + 1.710706900e+00 7.929299500e-01-2.061087000e-01-1.197838800e+00-2.181295900e+00 +-3.155354300e+00-4.119727100e+00-5.074583100e+00-6.020263200e+00-6.957145700e+00 +-7.885589100e+00-8.805902500e+00-9.718333200e+00-1.062306400e+01-1.152020600e+01 +-6.983175300e+00-6.487436300e+00-5.979430200e+00-5.458792700e+00-4.925073600e+00 +-4.377739400e+00-3.816170700e+00-3.239660300e+00-2.647405400e+00-2.038494600e+00 +-1.411878300e+00-7.663099800e-01-1.002360000e-01 5.882621400e-01 1.274399800e+00 + 1.974824800e+00 2.684069600e+00 3.398891200e+00 4.116109400e+00 4.832036500e+00 + 5.542291200e+00 6.241732100e+00 6.924399900e+00 7.583397400e+00 8.210867900e+00 + 8.798308400e+00 9.337236400e+00 9.820046400e+00 1.024094100e+01 1.059606000e+01 + 1.088296200e+01 1.109995000e+01 1.124577100e+01 1.131957800e+01 1.132057500e+01 + 1.124781000e+01 1.110003700e+01 1.087577900e+01 1.057381000e+01 1.019349400e+01 + 9.735314400e+00 9.201687800e+00 8.597463600e+00 7.929541600e+00 7.205793900e+00 + 6.433982400e+00 5.621202500e+00 4.773643500e+00 3.896745900e+00 2.995314600e+00 + 2.073513000e+00 1.134278800e+00 1.670814900e-01-8.636313700e-01-1.875775500e+00 +-2.873774300e+00-3.859283200e+00-4.833267700e+00-5.796461600e+00-6.749475000e+00 +-7.692820500e+00-8.626918800e+00-9.552101100e+00-1.046861500e+01-1.137661400e+01 +-6.896453400e+00-6.398318800e+00-5.887694400e+00-5.364132900e+00-4.827103600e+00 +-4.275991400e+00-3.710098500e+00-3.128638000e+00-2.530733600e+00-1.915414200e+00 +-1.281621800e+00-6.282782000e-01 4.536157100e-02 7.509673800e-01 1.446874400e+00 + 2.157953500e+00 2.879196600e+00 3.607204200e+00 4.338559600e+00 5.069337400e+00 + 5.794877500e+00 6.509707500e+00 7.207420300e+00 7.880472200e+00 8.520301800e+00 + 9.117721600e+00 9.663890800e+00 1.015147200e+01 1.057540700e+01 1.093258800e+01 + 1.122092500e+01 1.143896000e+01 1.158588200e+01 1.166120300e+01 1.166439000e+01 + 1.159470800e+01 1.145097300e+01 1.123133800e+01 1.093375900e+01 1.055687800e+01 + 1.010049200e+01 9.566052400e+00 8.957524300e+00 8.281732600e+00 7.547081000e+00 + 6.762199900e+00 5.935027600e+00 5.072437800e+00 4.180389900e+00 3.264199700e+00 + 2.328683400e+00 1.378139600e+00 4.099680200e-01-6.391210000e-01-1.670977800e+00 +-2.687259900e+00-3.689441200e+00-4.678718100e+00-5.656059300e+00-6.622254800e+00 +-7.577951900e+00-8.523672100e+00-9.459825500e+00-1.038671500e+01-1.130454100e+01 +-6.795802100e+00-6.297124900e+00-5.786007400e+00-5.261905200e+00-4.724200700e+00 +-4.172201200e+00-3.605136600e+00-3.022157200e+00-2.422331600e+00-1.804643000e+00 +-1.167985100e+00-5.111506600e-01 1.672088700e-01 8.705303100e-01 1.576169300e+00 + 2.295115900e+00 3.023811600e+00 3.759351000e+00 4.498461700e+00 5.237202600e+00 + 5.970789900e+00 6.693547700e+00 7.398742200e+00 8.078380600e+00 8.723398200e+00 + 9.324255900e+00 9.872031200e+00 1.035977800e+01 1.078305400e+01 1.113910200e+01 + 1.142592800e+01 1.164247400e+01 1.178838000e+01 1.186300500e+01 1.186563500e+01 + 1.179558300e+01 1.165217800e+01 1.143393500e+01 1.113807100e+01 1.076239600e+01 + 1.030629900e+01 9.770752000e+00 9.159219700e+00 8.478215200e+00 7.736392000e+00 + 6.942924500e+00 6.106291800e+00 5.233840000e+00 4.331838100e+00 3.405843500e+00 + 2.460849000e+00 1.501260800e+00 5.263343500e-01-5.332468200e-01-1.576128700e+00 +-2.603474400e+00-3.616445800e+00-4.616125600e+00-5.603477500e+00-6.579333800e+00 +-7.544396400e+00-8.499240900e+00-9.444321600e+00-1.037998100e+01-1.130645000e+01 +-6.680533900e+00-6.183614700e+00-5.674512900e+00-5.152588400e+00-4.617140300e+00 +-4.067402800e+00-3.502543200e+00-2.921658800e+00-2.323772900e+00-1.707832000e+00 +-1.072704600e+00-4.171820900e-01 2.600087500e-01 9.561529200e-01 1.664411200e+00 + 2.384972100e+00 3.114775700e+00 3.851158100e+00 4.590976200e+00 5.330306500e+00 + 6.064344900e+00 6.787360200e+00 7.492464100e+00 8.171495400e+00 8.815199900e+00 + 9.413953800e+00 9.958866100e+00 1.044329300e+01 1.086304200e+01 1.121549300e+01 + 1.149875600e+01 1.171192700e+01 1.185472200e+01 1.192633200e+01 1.192603700e+01 + 1.185313900e+01 1.170695900e+01 1.148637600e+01 1.118837600e+01 1.081049500e+01 + 1.035195700e+01 9.813630100e+00 9.198866800e+00 8.514149700e+00 7.768196100e+00 + 6.970303500e+00 6.129068900e+00 5.251922100e+00 4.345182400e+00 3.414426100e+00 + 2.464651600e+00 1.500254600e+00 5.204464800e-01-5.439546100e-01-1.591782800e+00 +-2.624217700e+00-3.642442200e+00-4.647562500e+00-5.640566300e+00-6.622310600e+00 +-7.593518700e+00-8.554786700e+00-9.506588900e+00-1.044928200e+01-1.138311200e+01 +-6.549396000e+00-6.057008300e+00-5.552832100e+00-5.036142800e+00-4.506166500e+00 +-3.962078800e+00-3.402998400e+00-2.827982900e+00-2.236023200e+00-1.626037400e+00 +-9.968642600e-01-3.472538300e-01 3.241461500e-01 1.010739800e+00 1.713111000e+00 + 2.427603000e+00 3.151102500e+00 3.880896100e+00 4.613837700e+00 5.346023600e+00 + 6.072685700e+00 6.788151700e+00 7.485609100e+00 8.157006300e+00 8.793233900e+00 + 9.384812400e+00 9.922959300e+00 1.040101800e+01 1.081473700e+01 1.116145600e+01 + 1.143921800e+01 1.164697600e+01 1.178434300e+01 1.185063600e+01 1.184511200e+01 + 1.176705200e+01 1.161574500e+01 1.138939900e+01 1.108531600e+01 1.070153000e+01 + 1.023749400e+01 9.694383600e+00 9.075897200e+00 8.388741500e+00 7.641587300e+00 + 6.843427200e+00 6.002518700e+00 5.125965600e+00 4.219846700e+00 3.289541500e+00 + 2.339877400e+00 1.375129300e+00 3.925241200e-01-6.709718100e-01-1.717606800e+00 +-2.749076600e+00-3.766925800e+00-4.772431400e+00-5.766640200e+00-6.750417200e+00 +-7.724476800e+00-8.689404500e+00-9.645666100e+00-1.059361300e+01-1.153348800e+01 +-6.400979000e+00-5.916331300e+00-5.420352900e+00-4.912253400e+00-4.391206700e+00 +-3.856349700e+00-3.306773700e+00-2.741519200e+00-2.159568500e+00-1.559838300e+00 +-9.411703900e-01-3.023210800e-01 3.580536200e-01 1.031253300e+00 1.721093900e+00 + 2.422589100e+00 3.132607700e+00 3.848416300e+00 4.566881200e+00 5.284160600e+00 + 5.995605000e+00 6.695702600e+00 7.377935900e+00 8.034621200e+00 8.657099700e+00 + 9.236259500e+00 9.763512600e+00 1.023196500e+01 1.063697100e+01 1.097562600e+01 + 1.124593400e+01 1.144647800e+01 1.157642900e+01 1.163522600e+01 1.162221900e+01 + 1.153652100e+01 1.137677000e+01 1.114104300e+01 1.082737000e+01 1.043466200e+01 + 9.962909700e+00 9.413946200e+00 8.792236300e+00 8.104844100e+00 7.360073100e+00 + 6.566229300e+00 5.730848800e+00 4.860414500e+00 3.960536000e+00 3.036111100e+00 + 2.091354600e+00 1.129246000e+00 1.389178000e-01-9.159266400e-01-1.952475000e+00 +-2.975460300e+00-3.986740400e+00-4.987442500e+00-5.978443600e+00-6.960481200e+00 +-7.934183600e+00-8.900076900e+00-9.858589200e+00-1.081004800e+01-1.175468200e+01 +-6.234088900e+00-5.760749800e+00-5.276528400e+00-4.780592400e+00-4.272093300e+00 +-3.750156900e+00-3.213877200e+00-2.662307300e+00-2.094452400e+00-1.509262400e+00 +-9.056254600e-01-2.823597200e-01 3.617971200e-01 1.017825200e+00 1.688863800e+00 + 2.370849100e+00 3.060592900e+00 3.755358200e+00 4.452041600e+00 5.146927800e+00 + 5.835532200e+00 6.512608500e+00 7.172052900e+00 7.806760300e+00 8.408754300e+00 + 8.969538700e+00 9.480869300e+00 9.935626000e+00 1.032859000e+01 1.065629100e+01 + 1.091644100e+01 1.110740500e+01 1.122791300e+01 1.127703000e+01 1.125382300e+01 + 1.115717100e+01 1.098565100e+01 1.073787700e+01 1.041267100e+01 1.000965300e+01 + 9.529747000e+00 8.975919700e+00 8.353542300e+00 7.669617200e+00 6.931755100e+00 + 6.147307900e+00 5.322891700e+00 4.464324500e+00 3.576818200e+00 2.665065800e+00 + 1.733463600e+00 7.850300700e-01-2.461055400e-01-1.270228400e+00-2.286778000e+00 +-3.294901800e+00-4.294543700e+00-5.286078000e+00-6.270033800e+00-7.246963000e+00 +-8.217382400e+00-9.181749300e+00-1.014044600e+01-1.109377500e+01-1.204195500e+01 +-6.048128100e+00-5.589914300e+00-5.121172400e+00-4.641070400e+00-4.148776100e+00 +-3.643443100e+00-3.124202500e+00-2.590153700e+00-2.040355200e+00-1.473818900e+00 +-8.895088400e-01-2.863432800e-01 3.367934200e-01 9.721904400e-01 1.618499000e+00 + 2.274874200e+00 2.938025500e+00 3.605213200e+00 4.273388400e+00 4.938945300e+00 + 5.597608100e+00 6.244432400e+00 6.873761700e+00 7.479165100e+00 8.053455400e+00 + 8.588965400e+00 9.078025800e+00 9.513602300e+00 9.889911700e+00 1.020273000e+01 + 1.044912500e+01 1.062702300e+01 1.073484800e+01 1.077125000e+01 1.073503700e+01 + 1.062500600e+01 1.044005500e+01 1.017928100e+01 9.842308000e+00 9.429821000e+00 + 8.944064100e+00 8.389160200e+00 7.770733800e+00 7.095277300e+00 6.369423900e+00 + 5.599463900e+00 4.791133400e+00 3.949672200e+00 3.079872800e+00 2.186048700e+00 + 1.271447800e+00 3.292479800e-01-6.930264800e-01-1.702810800e+00-2.702916100e+00 +-3.695084100e+00-4.680401300e+00-5.659650800e+00-6.633471000e+00-7.602416000e+00 +-8.566972700e+00-9.527564000e+00-1.048455200e+01-1.143822600e+01-1.238880700e+01 +-5.843525900e+00-5.404309300e+00-4.954747700e+00-4.494070500e+00-4.021515400e+00 +-3.536310900e+00-3.037668500e+00-2.524769300e+00-1.996753200e+00-1.452709600e+00 +-8.916662900e-01-3.125893800e-01 2.855887700e-01 8.982330000e-01 1.513553100e+00 + 2.138429600e+00 2.769260900e+00 3.403121200e+00 4.036918200e+00 4.667109500e+00 + 5.289609900e+00 5.899753100e+00 6.492318600e+00 7.061512900e+00 7.600949800e+00 + 8.103826500e+00 8.563225700e+00 8.972529400e+00 9.325858100e+00 9.618401500e+00 + 9.846454600e+00 1.000729100e+01 1.009885500e+01 1.011953400e+01 1.006800000e+01 + 9.943182900e+00 9.744345700e+00 9.471334500e+00 9.124818800e+00 8.706716500e+00 + 8.220295000e+00 7.670006800e+00 7.061142400e+00 6.399350600e+00 5.690239900e+00 + 4.939158000e+00 4.151138800e+00 3.330961200e+00 2.483144500e+00 1.612021400e+00 + 7.198401100e-01-2.546819700e-01-1.239224000e+00-2.220520300e+00-3.196681500e+00 +-4.168034100e+00-5.135242500e+00-6.098946600e+00-7.059714800e+00-8.018050200e+00 +-8.974398600e+00-9.929157300e+00-1.088267400e+01-1.183524500e+01-1.278710900e+01 +-5.622156100e+00-5.205553500e+00-4.778581100e+00-4.340605300e+00-3.890994800e+00 +-3.429109100e+00-2.954287500e+00-2.465838900e+00-1.963031500e+00-1.445074600e+00 +-9.110886500e-01-3.600375100e-01 2.094247900e-01 7.985169900e-01 1.376363300e+00 + 1.965051300e+00 2.559245300e+00 3.155404100e+00 3.750253000e+00 4.340295800e+00 + 4.921631800e+00 5.489882900e+00 6.040224100e+00 6.567396200e+00 7.065734400e+00 + 7.529243000e+00 7.951785100e+00 8.327353500e+00 8.650341000e+00 8.915827800e+00 + 9.119719500e+00 9.258734700e+00 9.330383300e+00 9.332778000e+00 9.264590300e+00 + 9.125050500e+00 8.913991000e+00 8.632080100e+00 8.280893300e+00 7.863015200e+00 + 7.381954200e+00 6.841909900e+00 6.247516200e+00 5.603548500e+00 4.914738200e+00 + 4.185700900e+00 3.420916800e+00 2.624728200e+00 1.801376900e+00 9.540677700e-01 + 5.907233800e-02-9.032491400e-01-1.857013500e+00-2.807300800e+00-3.755528200e+00 +-4.702313900e+00-5.648118500e+00-6.593370400e+00-7.538482700e+00-8.483855200e+00 +-9.429870600e+00-1.037689400e+01-1.132526600e+01-1.227530200e+01-1.322728400e+01 +-5.387549900e+00-4.996511500e+00-4.594913000e+00-4.182327700e+00-3.758312900e+00 +-3.322401800e+00-2.874102600e+00-2.412896400e+00-1.938237000e+00-1.449557200e+00 +-9.462840000e-01-4.278669400e-01 1.062137400e-01 6.626291300e-01 1.206028600e+00 + 1.758283300e+00 2.313957500e+00 2.869712600e+00 3.422471800e+00 3.968956500e+00 + 4.505520300e+00 5.028119100e+00 5.532304300e+00 6.013286100e+00 6.465990100e+00 + 6.885123300e+00 7.265276000e+00 7.601090400e+00 7.887461700e+00 8.119748100e+00 + 8.293879500e+00 8.406495100e+00 8.454946500e+00 8.437304500e+00 8.352366400e+00 + 8.199667900e+00 7.979507400e+00 7.693003700e+00 7.342071100e+00 6.929369400e+00 + 6.458171400e+00 5.932176100e+00 5.355320900e+00 4.731661800e+00 4.065280900e+00 + 3.360201600e+00 2.620316000e+00 1.849271100e+00 1.049224900e+00 2.058795200e-01 +-7.052307100e-01-1.616771800e+00-2.530541400e+00-3.446402100e+00-4.364267300e+00 +-5.284204000e+00-6.206378000e+00-7.131019100e+00-8.058402100e+00-8.988831500e+00 +-9.922636000e+00-1.086015700e+01-1.180174700e+01-1.274776100e+01-1.369854800e+01 +-5.144618000e+00-4.781025900e+00-4.406665800e+00-4.021348500e+00-3.624839300e+00 +-3.216862200e+00-2.797103900e+00-2.365217700e+00-1.920827600e+00-1.463535900e+00 +-9.929269000e-01-5.085475400e-01-9.703694800e-03 5.058035300e-01 1.015292300e+00 + 1.528254500e+00 2.042789500e+00 2.555683100e+00 3.063987500e+00 3.564589700e+00 + 4.054076200e+00 4.528702700e+00 4.984399800e+00 5.416809100e+00 5.821359600e+00 + 6.193339800e+00 6.527988900e+00 6.820609600e+00 7.066681400e+00 7.262033500e+00 + 7.402960300e+00 7.486337200e+00 7.509697900e+00 7.471281500e+00 7.370060400e+00 + 7.205760500e+00 6.978855600e+00 6.690538400e+00 6.342666100e+00 5.937644000e+00 + 5.478326800e+00 4.967894600e+00 4.409736200e+00 3.807369700e+00 3.164341700e+00 + 2.484181200e+00 1.770217700e+00 1.024111000e+00 2.313025700e-01-6.294644500e-01 +-1.493596800e+00-2.363643200e+00-3.239554200e+00-4.121008900e+00-5.007780100e+00 +-5.899769300e+00-6.796991800e+00-7.699553500e+00-8.607638400e+00-9.521491100e+00 +-1.044141200e+01-1.136774500e+01-1.230087800e+01-1.324122700e+01-1.418924100e+01 +-4.898735500e+00-4.563229600e+00-4.216928500e+00-3.859852600e+00-3.491956700e+00 +-3.113138000e+00-2.723245900e+00-2.322087000e+00-1.909429000e+00-1.484997400e+00 +-1.048466300e+00-5.994287700e-01-1.373380300e-01 3.385897000e-01 8.191154000e-01 + 1.285129300e+00 1.754926200e+00 2.222813400e+00 2.685122300e+00 3.138592200e+00 + 3.579923200e+00 4.005619500e+00 4.411956300e+00 4.795002000e+00 5.150657200e+00 + 5.474734300e+00 5.763045800e+00 6.011486500e+00 6.216140700e+00 6.373384000e+00 + 6.479992900e+00 6.533251300e+00 6.531005400e+00 6.471736000e+00 6.354583300e+00 + 6.179353700e+00 5.946515600e+00 5.657139300e+00 5.312855200e+00 4.915751000e+00 + 4.468304600e+00 3.973290200e+00 3.433644800e+00 2.852381900e+00 2.232503700e+00 + 1.577085600e+00 8.891347600e-01 1.459039700e-01-6.626247200e-01-1.476151200e+00 +-2.298205900e+00-3.129088900e+00-3.968555200e+00-4.816308500e+00-5.672116300e+00 +-6.535837200e+00-7.407430600e+00-8.286950100e+00-9.174537700e+00-1.007042000e+01 +-1.097489800e+01-1.188834700e+01-1.281120900e+01-1.374399100e+01-1.468726100e+01 +-4.654491400e+00-4.346635800e+00-4.028290300e+00-3.699618600e+00-3.360713500e+00 +-3.011609300e+00-2.652290800e+00-2.282702400e+00-1.902754100e+00-1.512327300e+00 +-1.111284700e+00-6.994866700e-01-2.768312400e-01 1.566783300e-01 6.017998500e-01 + 1.029869000e+00 1.456198700e+00 1.879090800e+00 2.295201100e+00 2.701437700e+00 + 3.094668400e+00 3.471648700e+00 3.828992800e+00 4.163157900e+00 4.470503300e+00 + 4.747351200e+00 4.990033600e+00 5.194992500e+00 5.358860000e+00 5.478535700e+00 + 5.551281500e+00 5.574783800e+00 5.547222100e+00 5.467308500e+00 5.334316300e+00 + 5.148082700e+00 4.909000400e+00 4.617982400e+00 4.276427300e+00 3.886155600e+00 + 3.449366800e+00 2.968569500e+00 2.446488100e+00 1.885891000e+00 1.288742700e+00 + 6.511516000e-01-6.513140400e-02-8.025045400e-01-1.557200000e+00-2.326056200e+00 +-3.107493200e+00-3.900625200e+00-4.704864000e+00-5.519786400e+00-6.345096100e+00 +-7.180610200e+00-8.026254700e+00-8.882062000e+00-9.748164200e+00-1.062479200e+01 +-1.151227500e+01-1.241103400e+01-1.332158300e+01-1.424453300e+01-1.518058500e+01 +-4.414732900e+00-4.133422900e+00-3.842304700e+00-3.541609800e+00-3.231510900e+00 +-2.912132700e+00-2.583560700e+00-2.245847700e+00-1.899020900e+00-1.543087500e+00 +-1.178040500e+00-8.038579800e-01-4.204692800e-01-2.754715800e-02 3.765910900e-01 + 7.783836100e-01 1.156358100e+00 1.533111900e+00 1.903064400e+00 2.262606400e+00 + 2.608590100e+00 2.937937000e+00 3.247543800e+00 3.534226700e+00 3.794780500e+00 + 4.025976700e+00 4.224638500e+00 4.387708200e+00 4.512305700e+00 4.595799900e+00 + 4.635872400e+00 4.630576100e+00 4.578377200e+00 4.478187100e+00 4.329388100e+00 + 4.131819700e+00 3.885779400e+00 3.592016500e+00 3.251686800e+00 2.866344900e+00 + 2.437964200e+00 1.968838600e+00 1.461395500e+00 9.170835000e-01 3.216010000e-01 +-3.385732500e-01-1.021197800e+00-1.720313500e+00-2.435077900e+00-3.164858600e+00 +-3.908931700e+00-4.666614500e+00-5.437332200e+00-6.220634900e+00-7.016197200e+00 +-7.823814400e+00-8.643399200e+00-9.474979400e+00-1.031869600e+01-1.117479900e+01 +-1.204365300e+01-1.292573500e+01-1.382163700e+01-1.473206900e+01-1.565786500e+01 +-4.180275900e+00-3.924179600e+00-3.659274800e+00-3.385801600e+00-3.103964600e+00 +-2.813939600e+00-2.515878200e+00-2.209913000e+00-1.896161000e+00-1.574727300e+00 +-1.245709100e+00-9.091973300e-01-5.652787100e-01-2.140382500e-01 1.444735200e-01 + 5.104868400e-01 8.608304900e-01 1.191861200e+00 1.516448500e+00 1.830394000e+00 + 2.130492000e+00 2.413813100e+00 2.677493800e+00 2.918675700e+00 3.134516200e+00 + 3.322197200e+00 3.478963600e+00 3.602217000e+00 3.689489400e+00 3.738554700e+00 + 3.747467000e+00 3.714592200e+00 3.638640200e+00 3.518693400e+00 3.354226400e+00 + 3.145058400e+00 2.891379600e+00 2.593729300e+00 2.252940700e+00 1.870188800e+00 + 1.446970800e+00 9.842099000e-01 4.751772000e-01-9.654673200e-02-6.926414400e-01 +-1.311783700e+00-1.952142700e+00-2.611759900e+00-3.289137600e+00-3.983145700e+00 +-4.692887300e+00-5.417633100e+00-6.156796000e+00-6.909920700e+00-7.676678700e+00 +-8.456864400e+00-9.250393900e+00-1.005730300e+01-1.087774700e+01-1.171200500e+01 +-1.256047600e+01-1.342368700e+01-1.430229800e+01-1.519710400e+01-1.610905100e+01 +-3.950212000e+00-3.718097900e+00-3.478375900e+00-3.231262000e+00-2.976964200e+00 +-2.715684400e+00-2.447618200e+00-2.172958100e+00-1.891893500e+00-1.604613800e+00 +-1.311309600e+00-1.012176200e+00-7.074146900e-01-3.972023400e-01-8.145875500e-02 + 2.415943900e-01 5.630700000e-01 8.637618400e-01 1.143114400e+00 1.412399600e+00 + 1.668031500e+00 1.907084900e+00 2.126861800e+00 2.324753300e+00 2.498210700e+00 + 2.644751800e+00 2.761991000e+00 2.847676800e+00 2.899723100e+00 2.916256200e+00 + 2.895646100e+00 2.836527600e+00 2.737830200e+00 2.598799200e+00 2.418986100e+00 + 2.198241500e+00 1.936655300e+00 1.634533000e+00 1.291904400e+00 9.073912500e-01 + 4.726693600e-01-2.122150900e-02-5.395565600e-01-1.081587300e+00-1.646406300e+00 +-2.232962400e+00-2.840092200e+00-3.466610400e+00-4.111416800e+00-4.773544800e+00 +-5.452168000e+00-6.146597400e+00-6.856272200e+00-7.580757600e+00-8.319740300e+00 +-9.073028600e+00-9.840550400e+00-1.062235700e+01-1.141862100e+01-1.222964200e+01 +-1.305585000e+01-1.389780600e+01-1.475621700e+01-1.563193700e+01-1.652598000e+01 +-3.722520600e+00-3.513432500e+00-3.298001800e+00-3.076413400e+00-2.848871700e+00 +-2.615595100e+00-2.376816500e+00-2.132780100e+00-1.883740200e+00-1.629959800e+00 +-1.371707700e+00-1.109253000e+00-8.428539600e-01-5.727355500e-01-2.990601100e-01 +-2.191448400e-02 2.586975100e-01 5.338717700e-01 7.895779000e-01 1.015898800e+00 + 1.227954400e+00 1.424342900e+00 1.602198000e+00 1.759022600e+00 1.892451000e+00 + 2.000256100e+00 2.080333200e+00 2.130723700e+00 2.149642900e+00 2.135522600e+00 + 2.087028300e+00 2.003011700e+00 1.882554100e+00 1.725122300e+00 1.530263100e+00 + 1.298000500e+00 1.027048700e+00 7.175542700e-01 3.480018100e-01-7.528133700e-02 +-5.227176000e-01-9.938739500e-01-1.488213900e+00-2.005060400e+00-2.543626500e+00 +-3.103049300e+00-3.682423100e+00-4.280842300e+00-4.897437600e+00-5.531410200e+00 +-6.182047400e+00-6.848736800e+00-7.530971100e+00-8.228352500e+00-8.940593700e+00 +-9.667523400e+00-1.040908600e+01-1.116534500e+01-1.193648700e+01-1.272282400e+01 +-1.352479800e+01-1.434298900e+01-1.517811900e+01-1.603106300e+01-1.690285900e+01 +-3.494773100e+00-3.308066100e+00-3.116213600e+00-2.919385900e+00-2.717794200e+00 +-2.511683900e+00-2.301330100e+00-2.087033000e+00-1.869117400e+00-1.647928400e+00 +-1.423831500e+00-1.197210000e+00-9.684630600e-01-7.380068300e-01-5.062755900e-01 +-2.737293500e-01-4.084442600e-02 1.920409400e-01 4.191869200e-01 6.293915500e-01 + 8.144872800e-01 9.715721000e-01 1.108996200e+00 1.226915400e+00 1.322559200e+00 + 1.393912100e+00 1.439107300e+00 1.456363000e+00 1.444025600e+00 1.400751400e+00 + 1.325856600e+00 1.218189400e+00 1.075684100e+00 8.997580400e-01 6.845715000e-01 + 4.207522300e-01 1.161457800e-01-2.374570100e-01-6.165687400e-01-1.020637200e+00 +-1.448820700e+00-1.900294300e+00-2.374259700e+00-2.869922200e+00-3.386477000e+00 +-3.923111900e+00-4.479016300e+00-5.053398600e+00-5.645504000e+00-6.254631000e+00 +-6.880147000e+00-7.521501100e+00-8.178231200e+00-8.849971800e+00-9.536460900e+00 +-1.023754200e+01-1.095317200e+01-1.168342200e+01-1.242848200e+01-1.318866300e+01 +-1.396440700e+01-1.475628300e+01-1.556500300e+01-1.639142200e+01-1.723655100e+01 +-3.264812500e+00-3.100063100e+00-2.931186400e+00-2.758374200e+00-2.581872500e+00 +-2.401972800e+00-2.219007700e+00-2.033345700e+00-1.845388400e+00-1.655571000e+00 +-1.464361900e+00-1.272265200e+00-1.079826400e+00-8.876406000e-01-6.963675000e-01 +-5.067526700e-01-3.196478800e-01-1.359534000e-01 4.399762700e-02 2.183907900e-01 + 3.787430800e-01 5.188496700e-01 6.348626000e-01 7.263276000e-01 7.914019800e-01 + 8.289764500e-01 8.411844400e-01 8.273043600e-01 7.849203300e-01 7.084318400e-01 + 5.988359500e-01 4.553294200e-01 2.744716100e-01 5.707752300e-02-2.032825400e-01 +-4.888466600e-01-8.000997300e-01-1.138769100e+00-1.503577800e+00-1.893175000e+00 +-2.306412900e+00-2.742293100e+00-3.199905400e+00-3.678390500e+00-4.176919000e+00 +-4.694685900e+00-5.230910300e+00-5.784842500e+00-6.355774400e+00-6.943048500e+00 +-7.546071500e+00-8.164321900e+00-8.797362300e+00-9.444842300e+00-1.010651200e+01 +-1.078222100e+01-1.147192800e+01-1.217570300e+01-1.289372800e+01-1.362630400e+01 +-1.437385500e+01-1.513692400e+01-1.591618600e+01-1.671244400e+01-1.752664200e+01 +-3.031322500e+00-2.888127100e+00-2.741577400e+00-2.591934900e+00-2.439517000e+00 +-2.284688700e+00-2.127857700e+00-1.969470900e+00-1.810012600e+00-1.650005900e+00 +-1.490014000e+00-1.330644600e+00-1.172557100e+00-1.016471500e+00-8.631814700e-01 +-7.135705400e-01-5.686301600e-01-4.294853500e-01-2.974472000e-01-1.741351600e-01 +-6.119751600e-02 3.823689000e-02 1.201265300e-01 1.790507900e-01 2.133526700e-01 + 2.216055100e-01 2.025851300e-01 1.548418300e-01 7.568255100e-02-4.039143400e-02 +-1.802958800e-01-3.491188300e-01-5.490159400e-01-7.767543800e-01-1.032470000e+00 +-1.314849300e+00-1.622925800e+00-1.956028000e+00-2.313376900e+00-2.694099400e+00 +-3.097296200e+00-3.522078500e+00-3.967577500e+00-4.432947600e+00-4.917363600e+00 +-5.420023900e+00-5.940152200e+00-6.477003600e+00-7.029876200e+00-7.598116900e+00 +-8.181134200e+00-8.778405200e+00-9.389490100e+00-1.001403500e+01-1.065178100e+01 +-1.130257400e+01-1.196636300e+01-1.264320800e+01-1.333327800e+01-1.403685800e+01 +-1.475434500e+01-1.548624600e+01-1.623318700e+01-1.699589900e+01-1.777523400e+01 +-2.794174000e+00-2.671860900e+00-2.546724600e+00-2.419144400e+00-2.289543400e+00 +-2.158382900e+00-2.026161000e+00-1.893409400e+00-1.760695300e+00-1.628622100e+00 +-1.497831900e+00-1.369012100e+00-1.242899700e+00-1.120291900e+00-1.002057200e+00 +-8.891495500e-01-7.826277000e-01-6.836801200e-01-5.936576700e-01-5.141149800e-01 +-4.468567700e-01-3.940157000e-01-3.579587600e-01-3.410511900e-01-3.452460200e-01 +-3.721576300e-01-4.231663600e-01-4.994967900e-01-6.021847700e-01-7.317453600e-01 +-8.875709200e-01-1.069668100e+00-1.278032100e+00-1.512243400e+00-1.771817400e+00 +-2.056143000e+00-2.364558900e+00-2.696387300e+00-3.050916200e+00-3.427394600e+00 +-3.825038200e+00-4.243041000e+00-4.680585900e+00-5.136850800e+00-5.611016300e+00 +-6.102271600e+00-6.609822300e+00-7.132899800e+00-7.670771600e+00-8.222753500e+00 +-8.788219500e+00-9.366613400e+00-9.957462300e+00-1.056038600e+01-1.117510100e+01 +-1.180143200e+01-1.243931200e+01-1.308879000e+01-1.375002300e+01-1.442328100e+01 +-1.510893900e+01-1.580747600e+01-1.651946600e+01-1.724558100e+01-1.798657000e+01 +-2.554375600e+00-2.451715000e+00-2.346603900e+00-2.239566800e+00-2.131150500e+00 +-2.021924300e+00-1.912481200e+00-1.803438700e+00-1.695440500e+00-1.589159100e+00 +-1.485298800e+00-1.384599800e+00-1.287844700e+00-1.195864300e+00-1.109547600e+00 +-1.029850500e+00-9.578082000e-01-8.945479400e-01-8.413015600e-01-7.994154700e-01 +-7.703525400e-01-7.556754900e-01-7.569963300e-01-7.758945200e-01-8.138313900e-01 +-8.721081000e-01-9.518503000e-01-1.053994800e+00-1.179261100e+00-1.328110000e+00 +-1.500747200e+00-1.697244600e+00-1.917553100e+00-2.161485900e+00-2.428738600e+00 +-2.718905200e+00-3.031497700e+00-3.365960800e+00-3.721679700e+00-4.097985300e+00 +-4.494160700e+00-4.909446700e+00-5.343050000e+00-5.794150800e+00-6.261911400e+00 +-6.745484400e+00-7.244024300e+00-7.756700000e+00-8.282708200e+00-8.821289100e+00 +-9.371739400e+00-9.933431600e+00-1.050582700e+01-1.108848700e+01-1.168108500e+01 +-1.228341600e+01-1.289539500e+01-1.351706200e+01-1.414857700e+01-1.479021200e+01 +-1.544234500e+01-1.610545000e+01-1.678007900e+01-1.746685600e+01-1.816646800e+01 +-2.313556000e+00-2.228596400e+00-2.141533100e+00-2.053029100e+00-1.963749100e+00 +-1.874365700e+00-1.785561700e+00-1.698032400e+00-1.612488300e+00-1.529657400e+00 +-1.450288100e+00-1.375152600e+00-1.305051000e+00-1.240816000e+00-1.183317900e+00 +-1.133471000e+00-1.092238300e+00-1.060636600e+00-1.039738900e+00-1.030672600e+00 +-1.034611800e+00-1.052759900e+00-1.086322900e+00-1.136474500e+00-1.204321100e+00 +-1.290872100e+00-1.397018100e+00-1.523513900e+00-1.670964700e+00-1.839819000e+00 +-2.030372600e+00-2.242785200e+00-2.477091800e+00-2.733211800e+00-3.010956300e+00 +-3.310038600e+00-3.630080700e+00-3.970622800e+00-4.331127200e+00-4.710985200e+00 +-5.109518500e+00-5.525986200e+00-5.959590900e+00-6.409483000e+00-6.874770200e+00 +-7.354528400e+00-7.847814600e+00-8.353682500e+00-8.871201500e+00-9.399477000e+00 +-9.937671700e+00-1.048503100e+01-1.104090400e+01-1.160475900e+01-1.217620400e+01 +-1.275499100e+01-1.334102500e+01-1.393435800e+01-1.453518100e+01-1.514381100e+01 +-1.576067500e+01-1.638629000e+01-1.702124000e+01-1.766616100e+01-1.832171200e+01 +-2.073164000e+00-2.003279400e+00-1.931726800e+00-1.859275300e+00-1.786687300e+00 +-1.714721400e+00-1.644136900e+00-1.575695200e+00-1.510161200e+00-1.448305500e+00 +-1.390905700e+00-1.338748700e+00-1.292632600e+00-1.253370000e+00-1.221791100e+00 +-1.198745800e+00-1.185106900e+00-1.181770400e+00-1.189656000e+00-1.209703000e+00 +-1.242863500e+00-1.290091500e+00-1.352327800e+00-1.430482300e+00-1.525415900e+00 +-1.637922600e+00-1.768715000e+00-1.918411900e+00-2.087528700e+00-2.276473300e+00 +-2.485544000e+00-2.714931500e+00-2.964721900e+00-3.234900700e+00-3.525355100e+00 +-3.835878600e+00-4.166171100e+00-4.515842000e+00-4.884412300e+00-5.271313700e+00 +-5.675888500e+00-6.097392100e+00-6.534994600e+00-6.987783900e+00-7.454772500e+00 +-7.934908400e+00-8.427088700e+00-8.930180500e+00-9.443045600e+00-9.964567200e+00 +-1.049368800e+01-1.102944600e+01-1.157100300e+01-1.211768400e+01-1.266899600e+01 +-1.322464500e+01-1.378454000e+01-1.434878600e+01-1.491766800e+01-1.549162100e+01 +-1.607120300e+01-1.665706400e+01-1.724990500e+01-1.785044700e+01-1.845941000e+01 +-1.833797100e+00-1.775884200e+00-1.716881500e+00-1.657631200e+00-1.598967600e+00 +-1.541719100e+00-1.486708000e+00-1.434750800e+00-1.386657000e+00-1.343229400e+00 +-1.305264000e+00-1.273549900e+00-1.248870600e+00-1.232005000e+00-1.223729500e+00 +-1.224819300e+00-1.236050000e+00-1.258198900e+00-1.292044000e+00-1.338363200e+00 +-1.397929400e+00-1.471505400e+00-1.559835900e+00-1.663638400e+00-1.783593100e+00 +-1.920332900e+00-2.074434500e+00-2.246410100e+00-2.436700100e+00-2.645668500e+00 +-2.873600200e+00-3.120697500e+00-3.387078800e+00-3.672777900e+00-3.977742200e+00 +-4.301830800e+00-4.644810700e+00-5.006354800e+00-5.386036400e+00-5.783324700e+00 +-6.197576500e+00-6.628034100e+00-7.073818700e+00-7.533928400e+00-8.007240300e+00 +-8.492514600e+00-8.988410900e+00-9.493512200e+00-1.000635200e+01-1.052546300e+01 +-1.104942800e+01-1.157693900e+01-1.210685600e+01-1.263826600e+01-1.317052500e+01 +-1.370328600e+01-1.423650200e+01-1.477041100e+01-1.530550200e+01-1.584246300e+01 +-1.638212400e+01-1.692540400e+01-1.747324900e+01-1.802659000e+01-1.858630400e+01 +-1.594909100e+00-1.545604100e+00-1.495924100e+00-1.446764900e+00-1.399021100e+00 +-1.353581500e+00-1.311326700e+00-1.273123700e+00-1.239823300e+00-1.212256600e+00 +-1.191231600e+00-1.177532900e+00-1.171920100e+00-1.175128800e+00-1.187871500e+00 +-1.210839700e+00-1.244707000e+00-1.290129700e+00-1.347750500e+00-1.418198300e+00 +-1.502088800e+00-1.600022600e+00-1.712583100e+00-1.840332500e+00-1.983807000e+00 +-2.143512000e+00-2.319916700e+00-2.513448500e+00-2.724487800e+00-2.953364800e+00 +-3.200353600e+00-3.465669400e+00-3.749463800e+00-4.051820800e+00-4.372750800e+00 +-4.712186300e+00-5.069972500e+00-5.445860400e+00-5.839493300e+00-6.250395800e+00 +-6.677960900e+00-7.121431800e+00-7.579887400e+00-8.052228900e+00-8.537168500e+00 +-9.033224100e+00-9.538726800e+00-1.005184000e+01-1.057060300e+01-1.109298400e+01 +-1.161697200e+01-1.214067400e+01-1.266242900e+01-1.318091900e+01-1.369525200e+01 +-1.420502000e+01-1.471030500e+01-1.521163900e+01-1.570992600e+01-1.620634500e+01 +-1.670224000e+01-1.719902000e+01-1.769807100e+01-1.820068700e+01-1.870802100e+01 +-1.354877400e+00-1.310691700e+00-1.266941200e+00-1.224578900e+00-1.184564700e+00 +-1.147856400e+00-1.115400800e+00-1.088124800e+00-1.066926400e+00-1.052669000e+00 +-1.046174400e+00-1.048218700e+00-1.059531300e+00-1.080794300e+00-1.112644300e+00 +-1.155676600e+00-1.210449100e+00-1.277488000e+00-1.357293600e+00-1.450344400e+00 +-1.557102300e+00-1.678014800e+00-1.813517100e+00-1.964033100e+00-2.129973600e+00 +-2.311735600e+00-2.509699100e+00-2.724224100e+00-2.955646500e+00-3.204275600e+00 +-3.470387900e+00-3.754224100e+00-4.055982100e+00-4.375813500e+00-4.713812800e+00 +-5.070010700e+00-5.444363600e+00-5.836738100e+00-6.246893900e+00-6.674465700e+00 +-7.118936100e+00-7.579607500e+00-8.055570600e+00-8.545666700e+00-9.048458100e+00 +-9.562192900e+00-1.008478800e+01-1.061383300e+01-1.114662100e+01-1.168022400e+01 +-1.221162600e+01-1.273789700e+01-1.325642000e+01-1.376512100e+01-1.426266600e+01 +-1.474858200e+01-1.522326500e+01-1.568787800e+01-1.614417500e+01-1.659427100e+01 +-1.704044700e+01-1.748495300e+01-1.792987800e+01-1.837707500e+01-1.882809300e+01 +-1.111253100e+00-1.068597600e+00-1.027228800e+00-9.881831400e-01-9.525139900e-01 +-9.212763900e-01-8.955115700e-01-8.762312500e-01-8.644030700e-01-8.609375400e-01 +-8.666780600e-01-8.823939600e-01-9.087768800e-01-9.464414700e-01-9.959290000e-01 +-1.057714300e+00-1.132215100e+00-1.219802100e+00-1.320810600e+00-1.435549900e+00 +-1.564314500e+00-1.707391000e+00-1.865064100e+00-2.037621300e+00-2.225354700e+00 +-2.428562400e+00-2.647547000e+00-2.882614900e+00-3.134071600e+00-3.402220700e+00 +-3.687358900e+00-3.989770200e+00-4.309722400e+00-4.647459000e+00-5.003192900e+00 +-5.377093800e+00-5.769278500e+00-6.179792400e+00-6.608590100e+00-7.055506200e+00 +-7.520223100e+00-8.002224900e+00-8.500743900e+00-9.014697100e+00-9.542607300e+00 +-1.008252400e+01-1.063194200e+01-1.118774200e+01-1.174616700e+01-1.230287700e+01 +-1.285311400e+01-1.339201700e+01-1.391506400e+01-1.441862200e+01-1.490045100e+01 +-1.536001800e+01-1.579850500e+01-1.621851000e+01-1.662355800e+01-1.701760500e+01 +-1.740458700e+01-1.778812400e+01-1.817135000e+01-1.855683300e+01-1.894657300e+01 +-8.610633000e-01-8.161689600e-01-7.733941700e-01-7.339085900e-01-6.989127400e-01 +-6.696143200e-01-6.472032100e-01-6.328257900e-01-6.275605000e-01-6.323966400e-01 +-6.482175000e-01-6.757887000e-01-7.157540300e-01-7.686365800e-01-8.348472700e-01 +-9.146978900e-01-1.008418400e+00-1.116176600e+00-1.238097500e+00-1.374282700e+00 +-1.524826900e+00-1.689831300e+00-1.869414700e+00-2.063720000e+00-2.272919700e+00 +-2.497216200e+00-2.736843600e+00-2.992065200e+00-3.263171200e+00-3.550475400e+00 +-3.854311900e+00-4.175030700e+00-4.512992900e+00-4.868566000e+00-5.242115500e+00 +-5.634000300e+00-6.044558000e+00-6.474092500e+00-6.922853900e+00-7.391009800e+00 +-7.878606300e+00-8.385516200e+00-8.911362600e+00-9.455425300e+00-1.001650600e+01 +-1.059276500e+01-1.118152400e+01-1.177904200e+01-1.238030500e+01-1.297890700e+01 +-1.356710800e+01-1.413625900e+01-1.467769000e+01-1.518408000e+01-1.565098600e+01 +-1.607789000e+01-1.646814700e+01-1.682791700e+01-1.716469600e+01-1.748604600e+01 +-1.779876500e+01-1.810849200e+01-1.841961900e+01-1.873538800e+01-1.905806000e+01 +-6.011200000e-01-5.498662600e-01-5.014709800e-01-4.573154200e-01-4.188348700e-01 +-3.874830900e-01-3.646917600e-01-3.518284900e-01-3.501561900e-01-3.607975800e-01 +-3.847071200e-01-4.226530800e-01-4.752109300e-01-5.427685400e-01-6.255426400e-01 +-7.236046200e-01-8.369128700e-01-9.653481800e-01-1.108748600e+00-1.266940700e+00 +-1.439766300e+00-1.627102500e+00-1.828876000e+00-2.045071800e+00-2.275738000e+00 +-2.520985600e+00-2.780988700e+00-3.055980400e+00-3.346250800e+00-3.652140400e+00 +-3.974039100e+00-4.312381700e+00-4.667644500e+00-5.040344200e+00-5.431032200e+00 +-5.840295300e+00-6.268748800e+00-6.717030500e+00-7.185792000e+00-7.675677800e+00 +-8.187302600e+00-8.721202900e+00-9.277768100e+00-9.857135800e+00-1.045902000e+01 +-1.108247200e+01-1.172551000e+01-1.238462300e+01-1.305410400e+01-1.372528500e+01 +-1.438587100e+01-1.501981800e+01-1.560856500e+01-1.613445500e+01-1.658624800e+01 +-1.696390900e+01-1.727804600e+01-1.754490500e+01-1.778131100e+01-1.800171300e+01 +-1.821715500e+01-1.843543600e+01-1.866167600e+01-1.889900600e+01-1.914913600e+01 +-3.283720300e-01-2.660208000e-01-2.070573300e-01-1.531903700e-01-1.062292200e-01 +-6.802747400e-02-4.041653100e-02-2.513383300e-02-2.375333900e-02-3.762469400e-02 +-6.782633100e-02-1.151360400e-01-1.800214900e-01-2.626521300e-01-3.629321800e-01 +-4.805513300e-01-6.150468600e-01-7.658690200e-01-9.324420700e-01-1.114215500e+00 +-1.310702300e+00-1.521505400e+00-1.746331600e+00-1.984998100e+00-2.237431300e+00 +-2.503664000e+00-2.783826600e+00-3.078142400e+00-3.386919500e+00-3.710544800e+00 +-4.049480900e+00-4.404260600e+00-4.775489300e+00-5.163844100e+00-5.570076500e+00 +-5.995017500e+00-6.439585200e+00-6.904792300e+00-7.391754600e+00-7.901700000e+00 +-8.435973200e+00-8.996035600e+00-9.583446500e+00-1.019982100e+01-1.084672300e+01 +-1.152546200e+01-1.223670900e+01-1.297978900e+01-1.375143400e+01-1.454370600e+01 +-1.534082300e+01-1.611512900e+01-1.682427200e+01-1.741564900e+01-1.784793500e+01 +-1.812529800e+01-1.829052200e+01-1.839231500e+01-1.846847000e+01-1.854335600e+01 +-1.863087700e+01-1.873806400e+01-1.886782100e+01-1.902073300e+01-1.919613800e+01 +-4.040538100e-02 3.877271700e-02 1.144550000e-01 1.844350000e-01 2.463076100e-01 + 2.975584300e-01 3.356806900e-01 3.583059000e-01 3.633290500e-01 3.490133300e-01 + 3.140679300e-01 2.576967500e-01 1.796157700e-01 8.003232600e-02-4.041884500e-02 +-1.807787900e-01-3.398904200e-01-5.165255700e-01-7.094937600e-01-9.177221100e-01 +-1.140304600e+00-1.376525000e+00-1.625861500e+00-1.887977400e+00-2.162707300e+00 +-2.450040100e+00-2.750100400e+00-3.063135900e+00-3.389502500e+00-3.729656700e+00 +-4.084147900e+00-4.453617100e+00-4.838797100e+00-5.240517100e+00-5.659712800e+00 +-6.097437400e+00-6.554882500e+00-7.033401500e+00-7.534544500e+00-8.060097700e+00 +-8.612143500e+00-9.193121900e+00-9.805927300e+00-1.045401100e+01-1.114151400e+01 +-1.187339900e+01-1.265555700e+01-1.349474400e+01-1.439802800e+01-1.537087600e+01 +-1.641169900e+01-1.749791100e+01-1.855451600e+01-1.940330300e+01-1.978390700e+01 +-1.975028200e+01-1.955089000e+01-1.933217400e+01-1.915316800e+01-1.903094300e+01 +-1.896597500e+01-1.895316700e+01-1.898615800e+01-1.905884600e+01-1.916582700e+01 + 2.636881800e-01 3.669208900e-01 4.673776000e-01 5.621302100e-01 6.478160000e-01 + 7.207884200e-01 7.773496500e-01 8.140204000e-01 8.277827500e-01 8.162503200e-01 + 7.777727800e-01 7.115089900e-01 6.174810500e-01 4.965704100e-01 3.504050100e-01 + 1.811320900e-01-8.868975600e-03-2.172557100e-01-4.419188200e-01-6.810911300e-01 +-9.333834100e-01-1.197772500e+00-1.473564100e+00-1.760348100e+00-2.057951700e+00 +-2.366401000e+00-2.685886400e+00-3.016738400e+00-3.359405300e+00-3.714442700e+00 +-4.082504300e+00-4.464338800e+00-4.860793600e+00-5.272820500e+00-5.701490400e+00 +-6.148011700e+00-6.613756200e+00-7.100297500e+00-7.609461300e+00-8.143389700e+00 +-8.704637500e+00-9.296297100e+00-9.922179200e+00-1.058707600e+01-1.129714900e+01 +-1.206052700e+01-1.288826200e+01-1.379593200e+01-1.480646400e+01-1.595547000e+01 +-1.730198100e+01-1.895085300e+01-2.108463500e+01-2.360937700e+01-2.357572200e+01 +-2.192628900e+01-2.078923200e+01-2.006141700e+01-1.958722900e+01-1.927986100e+01 +-1.908961100e+01-1.898592800e+01-1.894880700e+01-1.896444100e+01-1.902287500e+01 + 0.109000000E+01 0.109022217E+01 0.109088867E+01 0.109199953E+01 0.109355479E+01 + 0.109555461E+01 0.109799927E+01 0.110088931E+01 0.110422562E+01 0.110800953E+01 + 0.111224299E+01 0.111692873E+01 0.112207040E+01 0.112767282E+01 0.113374215E+01 + 0.114028615E+01 0.114731445E+01 0.115483879E+01 0.116287332E+01 0.117143493E+01 + 0.118054357E+01 0.119022258E+01 0.120049911E+01 0.121140443E+01 0.122297440E+01 + 0.123524987E+01 0.124827712E+01 0.126210833E+01 0.127680206E+01 0.129242374E+01 + 0.130904620E+01 0.132675020E+01 0.134562500E+01 0.136576892E+01 0.138728993E+01 + 0.141030628E+01 0.143494712E+01 0.146135317E+01 0.148967735E+01 0.152008551E+01 + 0.155275711E+01 0.158788596E+01 0.162568096E+01 0.166636686E+01 0.171018506E+01 + 0.175739438E+01 0.180827192E+01 0.186311385E+01 0.192223633E+01 0.198597632E+01 + 0.205469254E+01 0.212876633E+01 0.220860261E+01 0.229463085E+01 0.238730600E+01 + 0.248710951E+01 0.259455032E+01 0.271016592E+01 0.283452334E+01 0.296822029E+01 + 0.311188617E+01 0.326618323E+01 0.343180766E+01 0.360949074E+01 0.380000000E+01 + 96 104 + 0.512751239E+01-0.341435339E+01 0.504849670E+01-0.325366136E+01 0.498600871E+01 +-0.307294936E+01 0.492890412E+01-0.288601746E+01 0.487451269E+01-0.269610869E+01 + 0.482317106E+01-0.250515085E+01 0.477048833E+01-0.231385642E+01 0.471877156E+01 +-0.212151292E+01 0.466703208E+01-0.193160415E+01 0.461596106E+01-0.173926066E+01 + 0.456554733E+01-0.154598024E+01 0.451693907E+01-0.135045957E+01 0.447037848E+01 +-0.115492598E+01 0.442638319E+01-0.955278299E+00 0.438450620E+01-0.753195890E+00 + 0.434645971E+01-0.548678753E+00 0.431166806E+01-0.339292161E+00 0.428034172E+01 +-0.127470841E+00 0.425354271E+01 0.892199344E-01 0.423222263E+01 0.310780166E+00 + 0.421511602E+01 0.537209852E+00 0.420285082E+01 0.768508995E+00 0.419590008E+01 + 0.100467759E+01 0.419475507E+01 0.124815038E+01 0.419972250E+01 0.148675370E+01 + 0.421075020E+01 0.171805284E+01 0.422881893E+01 0.194448253E+01 0.425230143E+01 + 0.216360803E+01 0.428240899E+01 0.237786408E+01 0.432007566E+01 0.258264183E+01 + 0.436425744E+01 0.278202890E+01 0.441768476E+01 0.297193767E+01 0.447915136E+01 + 0.315454225E+01 0.455096485E+01 0.332512842E+01 0.463602929E+01 0.348420142E+01 + 0.473599494E+01 0.362687945E+01 0.485350298E+01 0.375348530E+01 0.499329995E+01 + 0.385808525E+01 0.515856800E+01 0.393421816E+01 0.536272266E+01 0.397473351E+01 + 0.559118144E+01 0.396990838E+01 0.579650653E+01 0.393122043E+01 0.598004746E+01 + 0.387100475E+01 0.615017634E+01 0.379953843E+01 0.631145811E+01 0.371696438E+01 + 0.646301862E+01 0.362444472E+01 0.660952432E+01 0.352705829E+01 0.674647575E+01 + 0.342236231E+01 0.687906068E+01 0.331036484E+01 0.700568158E+01 0.319382943E+01 + 0.712720221E+01 0.307264054E+01 0.724386201E+01 0.294659202E+01 0.735566099E+01 + 0.281569032E+01 0.746259915E+01 0.267905841E+01 0.756222144E+01 0.253368666E+01 + 0.765703215E+01 0.238648504E+01 0.774452701E+01 0.223148920E+01 0.782716103E+01 + 0.206984215E+01 0.790377774E+01 0.190309216E+01 0.797366257E+01 0.173022648E+01 + 0.803436518E+01 0.154762190E+01 0.808869359E+01 0.135771313E+01 0.813136597E+01 + 0.115806545E+01 0.816875900E+01 0.951113581E+00 0.819194749E+01 0.731988078E+00 + 0.820105049E+01 0.495819480E+00 0.819412904E+01 0.259650881E+00 0.817220694E+01 + 0.380906502E-01 0.813520975E+01-0.168861214E+00 0.809207601E+01-0.369166244E+00 + 0.803645309E+01-0.558417665E+00 0.797387140E+01-0.738587523E+00 0.790100575E+01 +-0.909018470E+00 0.782074094E+01-0.107214523E+01 0.773452018E+01-0.122796781E+01 + 0.764001927E+01-0.137751508E+01 0.754141093E+01-0.152256988E+01 0.743586461E+01 +-0.166028834E+01 0.732649604E+01-0.179506595E+01 0.721401488E+01-0.192429997E+01 + 0.709468820E+01-0.204847109E+01 0.697084230E+01-0.216777275E+01 0.684159605E+01 +-0.228220496E+01 0.670917124E+01-0.239249568E+01 0.657543699E+01-0.250133046E+01 + 0.643825704E+01-0.260845849E+01 0.629755386E+01-0.271071705E+01 0.615596466E+01 +-0.281297562E+01 0.601164282E+01-0.291145949E+01 0.586645914E+01-0.301018857E+01 + 0.571756290E+01-0.310486494E+01 0.556687732E+01-0.319758083E+01 0.541133091E+01 +-0.328453802E+01 0.525002301E+01-0.336565884E+01 0.512751239E+01-0.341435339E+01 + 0.512751239E+01-0.341435339E+01 + 0.623648000E+01-0.323689000E+01 0.625810000E+01-0.305133000E+01 0.645968000E+01 +-0.289515000E+01 0.666126000E+01-0.273898000E+01 0.686284000E+01-0.258280000E+01 + 0.706442000E+01-0.242663000E+01 0.726600000E+01-0.227045000E+01 0.757468000E+01 +-0.181398000E+01 0.788337000E+01-0.135751000E+01 0.808916000E+01-0.893410000E+00 + 0.829495000E+01-0.429300000E+00 0.833960000E+01 0.918500000E-01 0.838425000E+01 + 0.613000000E+00 0.832141000E+01 0.114150000E+01 0.825857000E+01 0.167000000E+01 + 0.807852000E+01 0.205647000E+01 0.789846000E+01 0.244294000E+01 0.764854000E+01 + 0.280079000E+01 0.739862000E+01 0.315864000E+01 0.699097000E+01 0.351411000E+01 + 0.658331000E+01 0.386959000E+01 0.637405000E+01 0.403070000E+01 0.616479000E+01 + 0.419180000E+01 0.595553000E+01 0.435290000E+01 0.574627000E+01 0.451401000E+01 + 0.546798000E+01 0.457376000E+01 0.518969000E+01 0.463350000E+01 0.491139000E+01 + 0.469325000E+01 0.461641000E+01 0.450709000E+01 0.432144000E+01 0.432094000E+01 + 0.422375000E+01 0.407662000E+01 0.412606000E+01 0.383231000E+01 0.402837000E+01 + 0.358800000E+01 0.403127000E+01 0.333175000E+01 0.403418000E+01 0.307550000E+01 + 0.403709000E+01 0.281925000E+01 0.404000000E+01 0.256300000E+01 0.404000000E+01 + 0.205550000E+01 0.404000000E+01 0.154800000E+01 0.404000000E+01 0.104050000E+01 + 0.404000000E+01 0.533000000E+00 0.404000000E+01 0.255000000E-01 0.404000000E+01 +-0.482000000E+00 0.404000000E+01-0.989500000E+00 0.404000000E+01-0.149700000E+01 + 0.404000000E+01-0.175075000E+01 0.404000000E+01-0.200450000E+01 0.404000000E+01 +-0.225825000E+01 0.404000000E+01-0.251200000E+01 0.402315000E+01-0.254484000E+01 + 0.412746000E+01-0.256078000E+01 0.422633000E+01-0.259765000E+01 0.431561000E+01 +-0.265390000E+01 0.439155000E+01-0.272716000E+01 0.445097000E+01-0.281436000E+01 + 0.449136000E+01-0.291184000E+01 0.451104000E+01-0.301551000E+01 0.450918000E+01 +-0.312101000E+01 0.448586000E+01-0.322392000E+01 0.440073000E+01-0.340839000E+01 + 0.436561000E+01-0.350300000E+01 0.431849000E+01-0.359949000E+01 0.427136000E+01 +-0.369598000E+01 0.422424000E+01-0.379248000E+01 0.417711000E+01-0.388897000E+01 + 0.427993000E+01-0.389704000E+01 0.438274000E+01-0.390513000E+01 0.448556000E+01 +-0.391320000E+01 0.448089000E+01-0.397252000E+01 0.445577000E+01-0.404103000E+01 + 0.439204000E+01-0.405075000E+01 0.439732000E+01-0.410914000E+01 0.449368000E+01 +-0.414884000E+01 0.459026000E+01-0.418799000E+01 0.468684000E+01-0.422714000E+01 + 0.478342000E+01-0.426629000E+01 0.488000000E+01-0.430543000E+01 0.497658000E+01 +-0.434458000E+01 0.507316000E+01-0.438373000E+01 0.516996000E+01-0.442232000E+01 + 0.518403000E+01-0.442745000E+01 0.520633000E+01-0.441940000E+01 0.519442000E+01 +-0.437495000E+01 0.519570000E+01-0.435057000E+01 0.522849000E+01-0.430395000E+01 + 0.526534000E+01-0.426711000E+01 0.533758000E+01-0.433938000E+01 0.540983000E+01 +-0.441165000E+01 0.548207000E+01-0.448392000E+01 0.555432000E+01-0.455619000E+01 + 0.555430000E+01-0.443708000E+01 0.555427000E+01-0.431797000E+01 0.555425000E+01 +-0.419886000E+01 0.555423000E+01-0.407974000E+01 0.556425000E+01-0.399950000E+01 + 0.557068000E+01-0.380757000E+01 0.559793000E+01-0.369111000E+01 0.564567000E+01 +-0.358145000E+01 0.571233000E+01-0.348215000E+01 0.579575000E+01-0.339644000E+01 + 0.589321000E+01-0.332711000E+01 0.600154000E+01-0.327642000E+01 0.611722000E+01 +-0.324602000E+01 0.623648000E+01-0.323689000E+01 + 0 0.000000000E+00 0 + 0.000000000E+00 0.975386540E-01 0.137992131E+00 0.168960352E+00 0.194993545E+00 + 0.217893742E+00 0.238596333E+00 0.257652131E+00 0.275421395E+00 0.292153235E+00 + 0.308031397E+00 0.323196071E+00 0.337757538E+00 0.351804988E+00 0.365412700E+00 + 0.378642229E+00 0.391546431E+00 0.404169613E+00 0.416550394E+00 0.428721639E+00 + 0.440712216E+00 0.452547513E+00 0.464249981E+00 0.475839319E+00 0.487333177E+00 + 0.498747475E+00 0.510096771E+00 0.521393863E+00 0.532651143E+00 0.543879354E+00 + 0.555089317E+00 0.566290469E+00 0.577492101E+00 0.588702902E+00 0.599931454E+00 + 0.611185859E+00 0.622474544E+00 0.633805432E+00 0.645186534E+00 0.656626336E+00 + 0.668132976E+00 0.679715090E+00 0.691381378E+00 0.703140950E+00 0.715003697E+00 + 0.726979654E+00 0.739079769E+00 0.751315665E+00 0.763699992E+00 0.776246308E+00 + 0.788970559E+00 0.801889674E+00 0.815023379E+00 0.828396032E+00 0.842035487E+00 + 0.855977202E+00 0.870267353E+00 0.884964083E+00 0.900154142E+00 0.915927948E+00 + 0.932030985E+00 0.948035094E+00 0.964135513E+00 0.980766344E+00 0.100000000E+01 + 0 +0 \ No newline at end of file diff --git a/src/SD4SOLPS.jl b/src/SD4SOLPS.jl new file mode 100644 index 0000000..2fbeb29 --- /dev/null +++ b/src/SD4SOLPS.jl @@ -0,0 +1,261 @@ +module SD4SOLPS + +using OMAS: OMAS +using SOLPS2IMAS: SOLPS2IMAS +using EFIT: EFIT +using Interpolations: Interpolations +#import GGDUtils + +export find_files_in_allowed_folders +export geqdsk_to_imas + +include("$(@__DIR__)/supersize_profile.jl") +include("$(@__DIR__)/repair_eq.jl") +include("$(@__DIR__)/actuator_model.jl") + +greet() = print("Hello World!") + +""" + find_files_in_allowed_folders() + +Searches a list of allowed folders for a set of filenames that will provide information +about the SOLPS case. Returns a list of filenames with complete paths. + +Example: +SD4SOLPS.find_files_in_allowed_folders( +"/D3D_Ma_184833_03600", +eqdsk_file="g184833.03600", +) +""" +function find_files_in_allowed_folders( + input_dirs...; + eqdsk_file, + recursive=true, + allow_reduced_versions=false, +) + files = ["b2fgmtry", "b2time.nc", "b2mn.dat", "gridspacedesc.yml", eqdsk_file] + reduced_files = + ["b2fgmtry_red", "b2time_red.nc", "b2mn.dat", "gridspacedesc.yml", eqdsk_file] + output_files = fill("", length(files)) + if recursive + dirs = [] + for dir ∈ input_dirs + dirs = + append!(dirs, [subdir[1] for subdir ∈ [item for item ∈ walkdir(dir)]]) + end + else + dirs = input_dirs + end + for i ∈ 1:length(files) + for dir ∈ dirs + file = dir * "/" * files[i] + reduced_file = dir * "/" * reduced_files[i] + if isfile(file) + output_files[i] = file + break + elseif isfile(reduced_file) + output_files[i] = reduced_file + break + end + end + end + return output_files +end + +""" + geqdsk_to_imas() + +Transfers the equilibrium reconstruction in an EFIT-style gEQDSK file into +the IMAS DD structure. +""" +function geqdsk_to_imas(eqdsk_file, dd; time_index=1) + # https://github.com/JuliaFusion/EFIT.jl/blob/master/src/io.jl + g = EFIT.readg(eqdsk_file) + # Copying ideas from OMFIT: omfit/omfit_classes/omfit_eqdsk.py / to_omas() + eq = dd.equilibrium + resize!(eq.time_slice, 1) + eqt = eq.time_slice[time_index] + + # 0D + gq = eqt.global_quantities + gq.magnetic_axis.r = g.rmaxis + gq.magnetic_axis.z = g.zmaxis + gq.psi_axis = g.simag + gq.psi_boundary = g.sibry + gq.ip = g.current + eq.vacuum_toroidal_field.r0 = g.rcentr + b0 = Array{Float64}(undef, time_index) + b0[time_index] = g.bcentr + eq.vacuum_toroidal_field.b0 = b0 + + # 1D + p1 = eqt.profiles_1d + nprof = length(g.pres) + psi = collect(LinRange(g.simag, g.sibry, nprof)) + p1.psi = psi + p1.f = g.fpol + p1.pressure = g.pres + p1.f_df_dpsi = g.ffprim + p1.dpressure_dpsi = g.pprime + p1.q = g.qpsi + if hasproperty(g, :rhovn) + # rhovn is not in the original EFIT.jl but is added on a branch + p1.rho_tor_norm = g.rhovn + end + + # 2D + resize!(eqt.profiles_2d, 1) + p2 = eqt.profiles_2d[1] + p2.grid.dim1 = collect(g.r) + p2.grid.dim2 = collect(g.z) + p2.psi = g.psirz # Not sure if transpose is correct + # missing j_tor = pcurrt + + # Derived + psin1d = (psi .- g.simag) ./ (g.sibry - g.simag) + gq.magnetic_axis.b_field_tor = g.bcentr * g.rcentr / g.rmaxis + gq.q_axis = g.qpsi[1] + gq.q_95 = Interpolations.linear_interpolation(psin1d, g.qpsi)(0.95) + qmin_idx = argmin(abs.(g.qpsi)) + gq.q_min.value = g.qpsi[qmin_idx] + if hasproperty(g, :rhovn) + gq.q_min.rho_tor_norm = g.rhovn[qmin_idx] + end + + # Boundary / LCFS + eqt.boundary.outline.r = g.rbbbs + eqt.boundary.outline.z = g.zbbbs + + # Wall + resize!(dd.wall.description_2d, 1) + limiter = dd.wall.description_2d[1].limiter + limiter.type.name = "first wall" + limiter.type.index = 0 + limiter.type.description = "first wall" + resize!(limiter.unit, 1) + limiter.unit[1].outline.r = g.rlim + return limiter.unit[1].outline.z = g.zlim +end + +""" + core_profile_2d(dd, prof_time_idx, eq_time_idx, quantity) + +Reads a 1D core profile and flux map and returns a quantity at requested R,Z points +dd: a data dictionary instance with equilibrium and core profile data loaded +quantity: a string specifying the quantity to fetch + +Returns a callable function that takes (r, z) as arguments and returns the quantity +""" +function core_profile_2d(dd, prof_time_idx, eq_time_idx, quantity) + if !check_rho_1d(dd; time_slice=eq_time_idx) + throw(ArgumentError("Equilibrium rho profile in input DD was missing.")) + end + prof = dd.core_profiles.profiles_1d[prof_time_idx] + rho_prof = prof.grid.rho_tor_norm + quantity_fields = split(quantity, ".") + p = prof + for field ∈ quantity_fields + p = getproperty(p, Symbol(field)) + end + eqt = dd.equilibrium.time_slice[eq_time_idx] + p1 = eqt.profiles_1d + p2 = eqt.profiles_2d[1] + gq = eqt.global_quantities + psi_a = gq.psi_axis + psi_b = gq.psi_boundary + rhon_eq = p1.rho_tor_norm + psi_eq = p1.psi + psin_eq = (psi_eq .- psi_a) ./ (psi_b - psi_a) + psirz = p2.psi + psinrz = (psirz .- psi_a) ./ (psi_b - psi_a) + r_eq = p2.grid.dim1 + z_eq = p2.grid.dim2 + extension = [1.0001, 1.1, 5] + # rho_N isn't defined on open flux surfaces, so it is extended by copying psi_N + psin_eq_ext = copy(psin_eq) + append!(psin_eq_ext, extension) + rhon_eq_ext = copy(rhon_eq) + append!(rhon_eq_ext, extension) + neg_extension = [-5, -0.0001] # I guess this would be at a PF coil or something? + prepend!(psin_eq_ext, neg_extension) + prepend!(rhon_eq_ext, neg_extension) + + rho_prof_ext = vcat(rho_prof, extension) + p_ext = vcat(p, zeros(size(extension))) + rho_prof_ext = prepend!(rho_prof_ext, neg_extension) + p_ext = prepend!(p_ext, zeros(size(neg_extension))) + + # Data are set up and ready to process + + # EDGE PROFILES (the input data): + # rho_prof_ext: rho_N values associated with the profile of some quantity + # p_ext : profile of some quantity vs. rho_prof + + # EQUILBRIUM (the connection from rho to R,Z via psi): + # psin_eq_ext : 1D array of psi_N values that corresponds to rhon_eq_ext + # rhon_eq_ext : 1D array of rho_N values that corresponds to psin_eq_ext + # --> connects rho to everything else via psi + # psinrz : 2D array of psi_N values that corresponds to r_eq and z_eq + # r_eq and z_eq : 1D coordinate arrays that correspond to psinrz + + # OUTPUT INSTRUCTIONS: + # r and z : coordinates of output points where values of p are desired + + # psi_at_requested_points = + # Interpolations.linear_interpolation((r_eq, z_eq), psinrz).(r, z) + # rhonpsi = Interpolations.linear_interpolation(psin_eq_ext, rhon_eq_ext) + # rho_at_requested_points = rhonpsi.(psi_at_requested_points) + # itp = Interpolations.linear_interpolation(rho_prof_ext, p_ext) + # p_at_requested_points = itp.(rho_at_requested_points) + # return p_at_requested_points + rz2psin = Interpolations.linear_interpolation((r_eq, z_eq), psinrz) + psin2rhon = Interpolations.linear_interpolation(psin_eq_ext, rhon_eq_ext) + rhon2prof = Interpolations.linear_interpolation(rho_prof_ext, p_ext) + return (r, z) -> rhon2prof(psin2rhon(rz2psin(r, z))) +end + +""" + preparation() + +Gathers SOLPS and EFIT files and loads them into IMAS structure. Extrapolates +profiles as needed to get a complete picture. +""" +function preparation( + eqdsk_file, + dirs...; + core_method::String="simple", + edge_method::String="simple", + filename::String="sd_input_data", + output_format::String="json", +) + b2fgmtry, b2time, b2mn, gridspec, eqdsk = + find_files_in_allowed_folders(dirs...; eqdsk_file=eqdsk_file) + println("Found source files:") + println(" b2fgmtry = ", b2fgmtry) + println(" b2time = ", b2time) + println(" b2mn.dat = ", b2mn) + println(" gridspec = ", gridspec) + println(" eqdsk = ", eqdsk) + + dd = SOLPS2IMAS.solps2imas(b2fgmtry, b2time, gridspec, b2mn) + geqdsk_to_imas(eqdsk, dd) + println("Loaded input data into IMAS DD") + + fill_in_extrapolated_core_profile!(dd, "electrons.density"; method=core_method) + fill_in_extrapolated_core_profile!(dd, "electrons.temperature"; method=core_method) + # ... more profiles here as they become available in b2time + println("Extrapolated core profiles") + + fill_in_extrapolated_edge_profile!(dd, "electrons.density"; method=core_method) + # ... more profiles here + println("Extrapolated edge profiles (but not really (placeholder only))") + + if output_format == "json" + OMAS.imas2json(dd, filename * ".json") + else + throw(ArgumentError(string("Unrecognized output format: ", output_format))) + end + return dd +end + +end # module SD4SOLPS diff --git a/src/actuator_model.jl b/src/actuator_model.jl new file mode 100644 index 0000000..ec0a0f0 --- /dev/null +++ b/src/actuator_model.jl @@ -0,0 +1,222 @@ +# Actuator models to translate commands (probably in V) into gas flows + +using PhysicalConstants.CODATA2018 +using Unitful: Unitful +using Interpolations: Interpolations +using YAML: YAML + +torrl_per_pam3 = Float64( + Unitful.upreferred((1 * Unitful.Torr * Unitful.L) / (Unitful.Pa * Unitful.m^3)), +) +electrons_per_molecule = Dict( + "H" => 1 * 2, # Assumed to mean H2. How would you even puff a bunch of H1. + "H2" => 1 * 2, + "D" => 1 * 2, + "D2" => 1 * 2, + "T" => 1 * 2, + "T2" => 1 * 2, + "CH" => 6 + 1, + "CD" => 6 + 1, + "CH4" => 6 + 4, + "CD4" => 6 + 4, + "N" => 7 * 2, + "N2" => 7 * 2, + "Ne" => 10, + "Ar" => 18, + "Kr" => 36, + "Xe" => 54, +) + +""" +gas_unit_converter() + +Converts gas flows between different units. Uses ideal gas law to convert between +Pressure * volume type flows / quantities and count / current types of units. +There is a version that accepts floats in and outputs floats, and another that +deals in Unitful quantities. +""" +function gas_unit_converter( + value_in::Float64, units_in::String, units_out::String; species::String="H", + temperature=293.15, +) + if units_in == units_out + return value_in + end + torrl_to_pam3 = torrl_per_pam3 + + pam3_to_molecules = 1.0 / (temperature * BoltzmannConstant.val) + torrl_to_molecules = torrl_to_pam3 * pam3_to_molecules + + factor_to_get_molecules_s = Dict( + "torr L s^-1" => torrl_to_molecules, + "molecules s^-1" => 1.0, + "Pa m^3 s^-1" => pam3_to_molecules, + "el s^-1" => 1.0 / electrons_per_molecule[species], + "A" => ElementaryCharge / electrons_per_molecule[species], + ) + factor_to_get_molecules = Dict( + "torr L" => torrl_to_molecules, + "molecules" => 1.0, + "Pa m^3" => pam3_to_molecules, + "el" => 1.0 / electrons_per_molecule[species], + "C" => ElementaryCharge / electrons_per_molecule[species], + ) + if haskey(factor_to_get_molecules_s, units_in) & + haskey(factor_to_get_molecules_s, units_out) + conversion_factor = + factor_to_get_molecules_s[units_in] / factor_to_get_molecules_s[units_out] + elseif haskey(factor_to_get_molecules, units_in) & + haskey(factor_to_get_molecules, units_out) + conversion_factor = + factor_to_get_molecules[units_in] / factor_to_get_molecules[units_out] + else + throw(ArgumentError("Unrecognized units: " * units_in * " or " * units_out)) + end + return value_in .* conversion_factor +end + +""" +gas_unit_converter() + +Converts gas flows between different units. Uses ideal gas law to convert between +Pressure * volume type flows / quantities and count / current types of units. +This is the Unitful version. +Output will be unitful, but the units are not simplified automatically. You can +perform operations such as +(output |> Unitful.upreferred).val +Unitful.uconvert(Unitful.whatever, output).val +to handle simplification or conversion of units. + +Although this function pretends torr L s^-1 and Pa m^3 s^-1 are different, use of +Unitful should cause them to behave the same way as long as you simplify or convert +units at the end. This means that you can use other pressure*volume type gas units +and call them torr L s^-1 and the script will deal with them up to having messy +units in the output. +""" +function gas_unit_converter( + value_in::Unitful.Quantity, units_in::String, units_out::String; + species::String="H", temperature=293.15 * Unitful.K, +) + if units_in == units_out + return value_in + end + + # The conversion between Torr*L and Pa*m^-3 is the only mundane unit conversion in + # here. Unitful or any other unit conversion tool could handle this by itself + # (e.g. Unitful.uconvert), but you wouldn't need this fancy function for that. + # The rest of the conversions, the hard ones (that require assuming a temperature + # or knowing molecule structure and atomic numbers) are all implemented with + # multiplicative factors, so Unitful's normal conversion handling is bypassed + # and replaced with a multiplicative factor. + torrl_to_pam3 = torrl_per_pam3 * Unitful.Pa * Unitful.m^3 / Unitful.Torr / Unitful.L + # torrl_to_pam3 should simplify to 1, but Unitful doesn't do this simpliciation + # without prompting. So the Torr L or the Pa m^-3 will cancel when this factor + # is multiplied by some gas pressure*volume units. + + pam3_to_molecules = + Unitful.J / (temperature * BoltzmannConstant) / (Unitful.Pa * Unitful.m^3) + torrl_to_molecules = torrl_to_pam3 * pam3_to_molecules + + factor_to_get_molecules_s = Dict( + "torr L s^-1" => torrl_to_molecules, + "molecules s^-1" => 1.0, + "Pa m^3 s^-1" => pam3_to_molecules, + "el s^-1" => 1.0 / electrons_per_molecule[species], + "A" => ElementaryCharge / electrons_per_molecule[species], + ) + factor_to_get_molecules = Dict( + "torr L" => torrl_to_molecules, + "molecules" => 1.0, + "Pa m^3" => pam3_to_molecules, + "el" => 1.0 / electrons_per_molecule[species], + "C" => ElementaryCharge / electrons_per_molecule[species], + ) + if haskey(factor_to_get_molecules_s, units_in) & + haskey(factor_to_get_molecules_s, units_out) + conversion_factor = + factor_to_get_molecules_s[units_in] / factor_to_get_molecules_s[units_out] + elseif haskey(factor_to_get_molecules, units_in) & + haskey(factor_to_get_molecules, units_out) + conversion_factor = + factor_to_get_molecules[units_in] / factor_to_get_molecules[units_out] + else + throw(ArgumentError("Unrecognized units: " * units_in * " or " * units_out)) + end + return value_in .* conversion_factor +end + +function select_default_config(model::String) + froot = model + if model == "instant" + froot = "simple" + end + filename = froot * "_gas_valve.yml" + return filename +end + +""" + model_gas_valve() + +The main function for handling a gas valve model. Has logic for selecting models +and configurations. +""" +function model_gas_valve( + model::String; configuration_file::String="auto", species::String="D2", +) + # Select configuration file + if configuration_file == "auto" + configuration_file = select_default_config(model) + end + default_config_path = "$(@__DIR__)/../config/" + if !occursin("/", configuration_file) + configuration_file = default_config_path * configuration_file + end + if !isfile(configuration_file) + throw(ArgumentError("Configuration file not found: " * configuration_file)) + end + config = YAML.load_file(configuration_file) + if (species in ["H", "H2", "D", "T", "T2"]) & !(species in keys(config)) + config = config["D2"] # They should all be the same + elseif (species in ["CH"]) & !(species in keys(config)) + config = config["CD"] + elseif (species in ["CH4", "CD4"]) & !(species in keys(config)) + config = config["CD4"] + else + config = config[species] + end + + if model == "simple" + function simple_gas_model(t, command) + flow0 = instant_gas_model(command, config) + t_ext = copy(t) + prepend!(t_ext, minimum(t) - config["delay"]) + flow0_ext = copy(flow0) + prepend!(flow0_ext, flow0[1]) + interp = Interpolations.linear_interpolation(t_ext, flow0_ext) + delayed_flow = interp.(t .- config["delay"]) + return lowpass_filter(t, delayed_flow, config["tau"]) + end + return simple_gas_model + elseif model == "instant" + instant_gas_model_(t, command) = instant_gas_model(command, config) + return instant_gas_model_ + else + throw(ArgumentError("Unrecognized model: " * model)) + end +end + +function instant_gas_model(command, config) + return config["p1"] .* (sqrt.(((command * config["p2"]) .^ 2.0 .+ 1) .- 1)) +end + +function lowpass_filter_(raw, previous_smooth, dt, tau) + return previous_smooth + dt / (dt + tau) * (raw - previous_smooth) +end + +function lowpass_filter(t, x, tau) + xs = zeros(length(t)) + for i ∈ 2:length(t) + xs[i] = lowpass_filter_(x[i], xs[i-1], t[i] - t[i-1], tau) + end + return xs +end diff --git a/src/repair_eq.jl b/src/repair_eq.jl new file mode 100644 index 0000000..d90b293 --- /dev/null +++ b/src/repair_eq.jl @@ -0,0 +1,154 @@ +""" +Tools for repairing/filling out partial equilibrium files. + +Some of the added fields may not be totally accurate, so it is recommended to +use this tool mainly for test cases, as a utility. For a real equilibrium, +problems should be fixed properly. +""" + +using Contour: Contour +using Statistics: Statistics + +export add_rho_to_equilibrium! +export check_rho_1d + +""" + function check_rho_1d() + +Checks to see if rho exists and is valid in the equilibrium 1d profiles +""" +function check_rho_1d(dd::OMAS.dd; time_slice::Int64=1) + rho = dd.equilibrium.time_slice[time_slice].profiles_1d.rho_tor_norm + if length(rho) < 1 + rho_okay = false + elseif maximum(rho) == 0.0 + rho_okay = false + else + rho_okay = true + end + return rho_okay +end + +""" + function add_rho_to_equilibrium(dd:OMAS.dd) + +Adds equilibrium rho profile to the DD +""" +function add_rho_to_equilibrium!(dd::OMAS.dd) + nt = length(dd.equilibrium.time_slice) + if nt < 1 + println("No equilibrium time slices to work with; can't add rho") + return + end + for it ∈ 1:nt + eqt = dd.equilibrium.time_slice[it] + b0 = dd.equilibrium.vacuum_toroidal_field.b0[it] + r0 = dd.equilibrium.vacuum_toroidal_field.r0[it] + + psi = eqt.profiles_1d.psi + n = length(psi) + if (length(eqt.profiles_1d.rho_tor_norm) > 0) + if max(eqt.profiles_1d.rho_tor_norm) > 0 + println("Slice #", it, " already has a rho_tor_norm profile; skipping") + continue + end + end + if length(eqt.profiles_1d.phi) == 0 + resize!(eqt.profiles_1d.phi, n) + psi2 = eqt.profiles_2d[1].psi + req = collect(eqt.profiles_2d[1].grid.dim1) + zeq = collect(eqt.profiles_2d[1].grid.dim2) + if (length(req), length(zeq)) == size(psi2') + psi2 = Matrix(psi2') + println( + "transposed psi to make it compatible with r,z prior to contouring", + ) + end + if (length(req), length(zeq)) != size(psi2) + println("Invalid equilibrium data. rho cannot be added.") + println("2D psi profile does not match 2D grid dimensions:") + println(" dim1 (R): ", length(req), ", ", size(req)) + println(" dim2 (Z): ", length(zeq), ", ", size(zeq)) + println(" psi2d : ", size(psi2)) + return + else + println( + "Eq looks okay ", + (length(req), length(zeq)), + ", ", + size(psi2), + ". ", + (size(req), size(zeq)), + ) + end + for j ∈ 1:n + contour_level = psi[j] + if j == n + # The last contour has a X point if everything is lined up right, + # and that could get weird. We want a contour that only takes the + # core boundary part of the separatrix. + r = eqt.boundary.outline.r + z = eqt.boundary.outline.z + else + c = Contour.contour(req, zeq, psi2, contour_level) + clines = Contour.lines(c) + line_avg_height = [ + Statistics.mean([ + clines[i].vertices[v][2] for + v ∈ 1:length(clines[i].vertices) + ]) for i ∈ 1:length(clines) + ] + cl = clines[argmin(abs.(line_avg_height))] + # Now just do the 2D integral of B within the area of the contour + r = [cl.vertices[v][1] for v ∈ 1:length(cl.vertices)] + z = [cl.vertices[v][2] for v ∈ 1:length(cl.vertices)] + end + # Get the upper & lower halves of the path, each going from rmin to rmax + rmin = minimum(r) + rmax = maximum(r) + irmin = argmin(r) + irmax = argmax(r) + if irmax > irmin + r1 = r[irmin:irmax] + z1 = z[irmin:irmax] + r2 = [r[irmax:end]; r[1:irmin]] + z2 = [z[irmax:end]; z[1:irmin]] + ii1 = sortperm(r1) + ii2 = sortperm(r2) + r1 = r1[ii1] + z1 = z1[ii1] + r2 = r2[ii2] + z2 = z2[ii2] + else + r1 = r[irmax:irmin] + z1 = z[irmax:irmin] + r2 = [r[irmin:end]; r[1:irmax]] + z2 = [z[irmin:end]; z[1:irmax]] + ii1 = sortperm(r1) + ii2 = sortperm(r2) + r1 = r1[ii1] + z1 = z1[ii1] + r2 = r2[ii2] + z2 = z2[ii2] + end + # Vacuum field simplification: B = R0 B0 / R + Interpolations.deduplicate_knots!(r1) + Interpolations.deduplicate_knots!(r2) + z1i = Interpolations.linear_interpolation(r1, z1) + z2i = Interpolations.linear_interpolation(r2, z2) + rr = LinRange(rmin, rmax, 101) + rc = (rr[1:end-1] + rr[2:end]) / 2.0 + integral_part_ = [ + log(rr[i+1] / rr[i]) * abs(z1i(rc[i]) - z2i(rc[i])) for + i ∈ 1:length(rc) + ] + phi_ = r0 * b0 .* integral_part_ + eqt.profiles_1d.phi[j] = sum(phi_) + end + end + eqt.profiles_1d.rho_tor = sqrt.(eqt.profiles_1d.phi / (π * b0)) + eqt.profiles_1d.rho_tor_norm = + eqt.profiles_1d.rho_tor / eqt.profiles_1d.rho_tor[end] + end + return println("Rho has been added to the equilibrium") +end diff --git a/src/supersize_profile.jl b/src/supersize_profile.jl new file mode 100644 index 0000000..5e8cedc --- /dev/null +++ b/src/supersize_profile.jl @@ -0,0 +1,414 @@ +""" +Utilities for extrapolating profiles +""" + +# import CalculusWithJulia +using OMAS: OMAS +using Interpolations: Interpolations +using GGDUtils: GGDUtils + +export extrapolate_core +export fill_in_extrapolated_core_profile +export mesh_psi_spacing + +""" + cumul_integrate(x::AbstractVector, y::AbstractVector) + +Computes cumulative integral of y(x) using trapezoidal rule. +Source code from obsolete NumericalIntegration.jl package. +https://github.com/dextorious/NumericalIntegration.jl/blob/540b6c4bee089dfef7b9ae46e8ff188382e7c42e/src/NumericalIntegration.jl#L290 +Modified the code to remove use of @inbounds, @fastmath macros that Julia documentation +recommends to use with caution. +""" +function cumul_integrate(x::AbstractVector, y::AbstractVector) + init = (x[2] - x[1]) * (y[1] + y[2]) + n = length(x) + retarr = Vector{typeof(init)}(undef, n) + retarr[1] = init + for i ∈ 2:n + retarr[i] = retarr[i-1] + (x[i] - x[i-1]) * (y[i] + y[i-1]) + end + + return 0.5 * retarr +end + +""" + extrapolate_core(edge_rho, edge_quantity, rho_output) + +Function for assuming a core profile when given edge profile data. + +Concept: + + 1. value and derivative should be continuous when joining real data + 2. derivative at magnetic axis is known to be 0 when making profile vs. rho, + by the definition of rho + 3. derivative probably does something fancier between the pedestal and axis than + just linear interpolation, so add an extra point in there + 4. there's a joint between the steep pedestal and the shallow core that needs an + extra knot to manage it properly + 5. after making up a very simple gradient profile out of a few line segments, + integrate it to get the profile of the quantity in question +""" +function extrapolate_core(edge_rho, edge_quantity, rho_output) + grad = OMAS.gradient(edge_rho, edge_quantity) + gf = grad[1] + rf = edge_rho[1] + gmid = -abs(gf) / 4.0 + rmid = rf / 2.0 + rped_enforce = rf - 0.08 + gped_enforce = rf + (gmid - gf) / (rmid - rf) * rped_enforce + gped_max = maximum(grad) / 10.0 + gped_enforce = minimum([abs(gped_enforce), abs(gped_max)]) * sign(gf) + + gg = [0, gmid, gped_enforce, gf] + rr = [0, rmid, rped_enforce, rf] + # https://www.matecdev.com/posts/julia-interpolation.html + itp = Interpolations.linear_interpolation( + rr, + gg; + extrapolation_bc=Interpolations.Line(), + ) + #itp = Interpolations.extrapolate(itp, Interpolations.Line()) + g = itp(rho_output) + q_extend = cumul_integrate(rho_output, g) + q_offset = + edge_quantity[1] - Interpolations.linear_interpolation(rho_output, q_extend)(rf) + q_extend .+= q_offset + + output_profile = Array{Float64}(undef, length(rho_output)) + output_profile[rho_output.=rf] = + Interpolations.linear_interpolation( + edge_rho, + edge_quantity, + ).(rho_output[rho_output.>=rf]) + return output_profile +end +#!format off +""" + fill_in_extrapolated_core_profile!( + dd::OMAS.dd, + quantity_name::String; + method::String="simple", + eq_time_idx::Int64=1, + eq_profiles_2d_idx::Int64=1, + grid_ggd_idx::Int64=1, + space_idx::Int64=1, +) + + +This function accepts a DD that should be populated with equilibrium and edge_profiles +as well as a request for a quantity to extrapolate into the core. It then maps +edge_profiles data to rho, calls the function that performs the extrapolation (which is +not a simple linear extrapolation but has some trickery to attempt to make a somewhat +convincing profile shape), and writes the result to core_profiles. This involves a bunch +of interpolations and stuff. +dd: an IMAS/OMAS data dictionary +quantity_name: the name of a quantity in edge_profiles.profiles_2d and + core_profiles.profiles_1d, such as "electrons.density" +method: Extrapolation method. +eq_time_idx: index of the equilibrium time slice to use. For a typical SOLPS run, + the SOLPS mesh will be based on the equilibrium reconstruction at a single + time, so the DD associated with the SOLPS run only needs one equilibrium + time slice to be loaded. However, one could combine the complete + equilibrium time series with the SOLPS run and then have to specify which + slice of the equilibrium corresponds to the SOLPS mesh. +grid_ggd_idx: index of the grid_ggd to use. For a typical SOLPS run, the SOLPS grid is + fixed, so this index defaults to 1. But in future, if a time varying grid + is used, then this index will need to be specified. +space_idx: index of the space to use. For a typical SOLPS run, there will be only one + space so this index will mostly remain at 1. +""" +#!format on +function fill_in_extrapolated_core_profile!( + dd::OMAS.dd, + quantity_name::String; + method::String="simple", + eq_time_idx::Int64=1, + eq_profiles_2d_idx::Int64=1, + grid_ggd_idx::Int64=1, + space_idx::Int64=1, +) + grid_ggd = dd.edge_profiles.grid_ggd[grid_ggd_idx] + space = grid_ggd.space[space_idx] + cell_subset = + SOLPS2IMAS.get_grid_subset_with_index(grid_ggd, 5) + midplane_subset = + SOLPS2IMAS.get_grid_subset_with_index(grid_ggd, 11) + + if length(midplane_subset.element) < 1 + throw( + ArgumentError( + string( + "Midplane subset length was ", length(midplane_subset.element), + ". Unacceptable data in data dictionary.", + ), + ), + ) + end + if length(cell_subset.element) < 1 + throw( + ArgumentError( + string( + "Cell subset length was ", length(cell_subset.element), + ". Unacceptable data in data dictionary.", + ), + ), + ) + end + + nt = length(dd.edge_profiles.ggd) + if length(dd.core_profiles.profiles_1d) < nt + resize!(dd.core_profiles.profiles_1d, nt) + end + for it ∈ 1:nt + tags = split(quantity_name, ".") + quantity_str = dd.edge_profiles.ggd[it] + for tag ∈ tags + quantity_str = getproperty(quantity_str, Symbol(tag)) + end + + midplane_cell_centers, quantity = GGDUtils.project_prop_on_subset!( + quantity_str, + cell_subset, + midplane_subset, + space; + interp_method=:KDTree, + ) + # Now quantity is at the outboard midplane + + # Get the rho values to go with the midplane quantity values + r = [midplane_cell_centers[i][1] for i ∈ eachindex(midplane_cell_centers)] + z = [midplane_cell_centers[i][2] for i ∈ eachindex(midplane_cell_centers)] + if length(r) != length(quantity) + throw( + DimensionMismatch( + string( + "Number of cell center coordinates (", length(r), + ") does not match number of cell values (", length(quantity), + ") in the midplane subset.", + ), + ), + ) + end + eq_time_slice = dd.equilibrium.time_slice[eq_time_idx] + eq_prof_2d = eq_time_slice.profiles_2d[eq_profiles_2d_idx] + r_eq = eq_prof_2d.grid.dim1 + z_eq = eq_prof_2d.grid.dim2 + rho1_eq = eq_time_slice.profiles_1d.rho_tor_norm + psia = eq_time_slice.global_quantities.psi_axis + psib = eq_time_slice.global_quantities.psi_boundary + psi1_eq = (eq_time_slice.profiles_1d.psi .- psia) ./ (psib - psia) + psi2_eq = (eq_prof_2d.psi .- psia) ./ (psib - psia) + # println(size(psi2_eq), ", ", size(r_eq), ", ", size(z_eq)) + rzpi = Interpolations.linear_interpolation((r_eq, z_eq), psi2_eq) + in_bounds = + (r .< maximum(r_eq)) .& (r .> minimum(r_eq)) .& (z .> minimum(z_eq)) .& + (z .< maximum(z_eq)) + # println(in_bounds) + psi_for_quantity = 10.0 .+ zeros(length(r)) + psi_for_quantity[in_bounds] = rzpi.(r[in_bounds], z[in_bounds]) + # println(length(psi1_eq), ", ", length(rho1_eq)) + rho_for_quantity = copy(psi_for_quantity) + in_bounds = psi_for_quantity .<= 1.0 + dpsi = diff(psi1_eq) + drho = diff(rho1_eq) + prepend!(dpsi, [0.0]) + prepend!(drho, [0.0]) + rho_for_quantity[in_bounds] = + Interpolations.linear_interpolation( + psi1_eq, + rho1_eq, + ).(psi_for_quantity[in_bounds]) + + # Make sure the output 1D rho grid exists; create it if needed + if length(dd.core_profiles.profiles_1d[it].grid.rho_tor_norm) == 0 + resize!(dd.core_profiles.profiles_1d[it].grid.rho_tor_norm, 201) + # If you don't like this default, then you should write grid.rho_tor_norm before + # calling this function. + dd.core_profiles.profiles_1d[it].grid.rho_tor_norm = + collect(LinRange(0, 1, 201)) + end + rho_core = dd.core_profiles.profiles_1d[it].grid.rho_tor_norm + + # Finally, we're ready to call the extrapolation function and write the result + if method == "simple" + quantity_core = extrapolate_core(rho_for_quantity, quantity, rho_core) + else + throw(ArgumentError(string( + "Unrecognized extraplation method: ", method, + ))) + end + parent = dd.core_profiles.profiles_1d[it] + tags = split(quantity_name, ".") + for tag ∈ tags[1:end-1] + parent = getproperty(parent, Symbol(tag)) + end + setproperty!(parent, Symbol(tags[end]), quantity_core) + end +end + +""" + function extrapolate_edge_exp( + quantity_edge::Vector{Float64}, + dqdpsi::Vector{Float64}, + psin_out::Vector{Float64}, + ) + +Exponential decay version of edge profile extrapolation. Should work well for +many quantities, including Te and ne. If the exponential profile has no background +offset, then its amplitude and scale length can be completely defined by matching +the quantity value and first derivative at the edge of the mesh. + +quantity_edge: values of some physics quantity in cells along the outer edge of the mesh +dqdpsi: Gradient of the quantity vs. psi, aligned perpendicular to the row of cells +being used. +psin_out: Normalized psi values along a vector orthogonal to the row of cells along the +edge. These psi_N values should be outside of the mesh (because the quantity is +already known in the mesh). +The output will be a matrix. +""" +function extrapolate_edge_exp( + quantity_edge::Vector{Float64}, + dqdpsi::Vector{Float64}, + psin_out::Vector{Float64}, +) + x = psin_out - 1.0 + lambda = -quantity_edge / dqdpsi + q0 = quantity_edge ./ exp(-x' ./ lambda) + return y0 * exp(-x ./ lambda) +end + +#! format off +""" + mesh_psi_spacing( + dd::OMAS.dd; + eq_time_idx::Int64=1, + eq_profiles_2d_idx::Int64=1, + grid_ggd_idx::Int64=1, + space_idx::Int64=1, + +) + +Inspects the mesh to see how far apart faces are in psi_N. +Requires that GGD and equilibrium are populated. + +dd: a data dictionary instance with required data loaded into it +eq_time_idx: index of the equilibrium time slice to use. For a typical SOLPS run, + the SOLPS mesh will be based on the equilibrium reconstruction at a single + time, so the DD associated with the SOLPS run only needs one equilibrium + time slice to be loaded. However, one could combine the complete + equilibrium time series with the SOLPS run and then have to specify which + slice of the equilibrium corresponds to the SOLPS mesh. +grid_ggd_idx: index of the grid_ggd to use. For a typical SOLPS run, the SOLPS grid is + fixed, so this index defaults to 1. But in future, if a time varying grid + is used, then this index will need to be specified. +space_idx: index of the space to use. For a typical SOLPS run, there will be only one + space so this index will mostly remain at 1. +""" +#! format on +function mesh_psi_spacing( + dd::OMAS.dd; + eq_time_idx::Int64=1, + eq_profiles_2d_idx::Int64=1, + grid_ggd_idx::Int64=1, + space_idx::Int64=1, +) + # Inspect input + if length(dd.equilibrium.time_slice) < eq_time_idx + throw( + ArgumentError( + string( + "DD equilibrium does not have enough time slices: ", + length(dd.equilibrium.time_slice), + " slices were present but slice index ", + eq_time_idx, " was requested.", + ), + ), + ) + end + bad_ggd = (length(dd.edge_profiles.grid_ggd) < grid_ggd_idx) + if bad_ggd + throw(ArgumentError(string( + "Invalid GGD data.", + ))) + end + + # Get flux map + eqt = dd.equilibrium.time_slice[eq_time_idx] + p2 = eqt.profiles_2d[eq_profiles_2d_idx] + r_eq = p2.grid.dim1 + z_eq = p2.grid.dim2 + psi = p2.psi + psia = eqt.global_quantities.psi_axis + psib = eqt.global_quantities.psi_boundary + psin_eq = (psi .- psia) ./ (psib - psia) + rzpi = Interpolations.linear_interpolation((r_eq, z_eq), psin_eq) + println(minimum(r_eq), ", ", maximum(r_eq)) + println(minimum(z_eq), ", ", maximum(z_eq)) + + # Get a row of cells. Since the mesh should be aligned to the flux surfaces, + # it shouldn't matter which row is used, although the divertor rows might be + # weird. So use the outboard midplane. That's always a solid choice. + grid_ggd = dd.edge_profiles.grid_ggd[grid_ggd_idx] + space = grid_ggd.space[space_idx] + midplane_subset = + SOLPS2IMAS.get_grid_subset_with_index(grid_ggd, 11) + midplane_cell_centers = GGDUtils.get_subset_centers(space, midplane_subset) + r_mesh = [midplane_cell_centers[i][1] for i ∈ eachindex(midplane_cell_centers)] + z_mesh = [midplane_cell_centers[i][2] for i ∈ eachindex(midplane_cell_centers)] + println(minimum(r_mesh), ", ", maximum(r_mesh)) + println(minimum(z_mesh), ", ", maximum(z_mesh)) + psin_mesh = rzpi.(r_mesh, z_mesh) + # This should come out sorted, but with GGD, who knows. + ii = sortperm(psin_mesh) + psin = psin_mesh[ii] + dpsin = psin[end] - psin[end-1] + return dpsin +end + +""" + fill_in_extrapolated_edge_profile!( + dd::OMAS.dd, quantity_name::String; method::String="simple", + ) + +JUST A PLACEHOLDER FOR NOW. DOESN'T ACTUALLY WORK YET. +""" +function fill_in_extrapolated_edge_profile!( + dd::OMAS.dd, + quantity_name::String; + method::String="simple", + eq_time_idx::Int64=1, +) + # Inspect input + if length(dd.equilibrium.time_slice) < eq_time_idx + throw( + ArgumentError( + string( + "DD equilibrium does not have enough time slices: ", + length(dd.equilibrium.time_slice), + " slices were present but slice index ", + eq_time_idx, " was requested.", + ), + ), + ) + end + bad_ggd = (length(dd.edge_profiles.grid_ggd) < 1) + if bad_ggd + throw(ArgumentError(string( + "Invalid GGD data.", + ))) + end + + if method == "simple" + println("THERE IS NOT ACTUALLY AN EDGE EXTRAPOLATION METHOD YET.") + println("THIS IS A PLACEHOLDER SO THE REST OF THE WORKFLOW CAN BE SET UP.") + # In this case, there's a good chance that we'll need a few different classes + # of extrapolation techniques for different quantities as the may behave + # differently. + else + throw(ArgumentError(string( + "Unrecognized extraplation method: ", method, + ))) + end +end diff --git a/test/Project.toml b/test/Project.toml new file mode 100644 index 0000000..495d8a9 --- /dev/null +++ b/test/Project.toml @@ -0,0 +1,3 @@ +[deps] +ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/test/runtests.jl b/test/runtests.jl new file mode 100644 index 0000000..a8eebcf --- /dev/null +++ b/test/runtests.jl @@ -0,0 +1,415 @@ +using SD4SOLPS: SD4SOLPS +using SOLPS2IMAS: SOLPS2IMAS +using OMAS: OMAS +using EFIT: EFIT +using Plots +using Test +using Unitful: Unitful +using Interpolations: Interpolations +using ArgParse: ArgParse + +function parse_commandline() + s = ArgParse.ArgParseSettings(; description="Run tests. Default is all tests.") + + ArgParse.add_arg_table!(s, + ["--lightweight_utilities"], + Dict(:help => "Test only lightweight utilities", + :action => :store_true), + ["--actuator"], + Dict(:help => "Test only actuator model", + :action => :store_true), + ["--core_profile_extension"], + Dict(:help => "Test only core profile extension", + :action => :store_true), + ["--edge_profile_extension"], + Dict(:help => "Test only edge profile extension", + :action => :store_true), + ["--heavy_utilities"], + Dict(:help => "Test only heavy utilities", + :action => :store_true), + ["--repair_eq"], + Dict(:help => "Test only repair_eq", + :action => :store_true), + ["--geqdsk_to_imas"], + Dict(:help => "Test only geqdsk_to_imas", + :action => :store_true), + ["--preparation"], + Dict(:help => "Test only preparation", + :action => :store_true), + ) + args = ArgParse.parse_args(s) + if !any(values(args)) # If no flags are set, run all tests + for k ∈ keys(args) + args[k] = true + end + end + return args +end +args = parse_commandline() + +""" + make_test_profile() + +Makes a modified tanh profile based on the formula from: +Groebner, et al., Nucl. Fusion 41, 1789 (2001) 10.1088/0029-5515/41/12/306 + +x: position basis. The output will be a function of this coordinate. +Could be psi_N or R or Z or whatever, as long as sym and hwid are +specified in terms of the same coordinate. +Defaults are given in terms of psi_N. +sym: location of the tanh symmetry point +hwid: half width of the tanh +offset: value at the foot of the tanh / SOL value +pedestal: value at the top of the tanh / pedestal value +alpha: interior slope +""" +function make_test_profile( + x; + sym=0.9657, + hwid=0.05421, + offset=0.0953, + pedestal=3.58901, + alpha=0.005, +) + z = (sym .- x) ./ hwid + amplitude = (pedestal - offset) / 2.0 + b = offset + amplitude + return b .+ + amplitude .* ((1 .+ alpha .* z) .* exp.(z) .- exp.(.-z)) ./ + (exp.(z) .+ exp.(.-z)) +end + +# function plot_test_profiles() +# edge_rho = Array(LinRange(0.88, 1.0, 18)) +# edge_quantity = make_test_profile(edge_rho) +# output_rho = Array(LinRange(0, 1.0, 201)) +# output_quantity = SD4SOLPS.extrapolate_core(edge_rho, edge_quantity, output_rho) +# Plots.plot(output_rho, output_quantity) +# Plots.plot!(edge_rho, edge_quantity, marker='.') +# end + +function define_default_sample_set() + sample_path = + splitdir(pathof(SD4SOLPS))[1] * + "/../sample/ITER_Lore_2296_00000/extended_output" + sample_path2 = + splitdir(pathof(SD4SOLPS))[1] * "/../sample/ITER_Lore_2296_00000/baserun" + sample_path3 = + splitdir(pathof(SD4SOLPS))[1] * "/../sample/ITER_Lore_2296_00000/run_restart" + sample_path4 = splitdir(pathof(SOLPS2IMAS))[1] * "/../samples" + + # Requires dvc pull before the full samples will be loaded + # Sorry, the minimal samples are too minimal for this one. + file_list = SD4SOLPS.find_files_in_allowed_folders( + sample_path, sample_path2, sample_path3, sample_path4; + eqdsk_file="thereisntoneyet", + allow_reduced_versions=false, + ) + b2fgmtry, b2time, b2mn, gridspec, eqdsk = file_list + eqdsk = + splitdir(pathof(SD4SOLPS))[1] * + "/../sample/ITER_Lore_2296_00000/EQDSK/Baseline2008-li0.70.x4.mod2.eqdsk" + return b2fgmtry, b2time, b2mn, gridspec, eqdsk +end + +if args["lightweight_utilities"] + @testset "lightweight_utilities" begin + # Gas unit converter + flow_tls = 40.63 * Unitful.Torr * Unitful.L / Unitful.s + flow_pam3 = SD4SOLPS.gas_unit_converter(flow_tls, "torr L s^-1", "Pa m^3 s^-1") + flow_pam3_no_unitful = + SD4SOLPS.gas_unit_converter(flow_tls.val, "torr L s^-1", "Pa m^3 s^-1") + @test flow_pam3.val > 0.0 + @test flow_pam3_no_unitful == + Unitful.uconvert(Unitful.Pa * Unitful.m^3 / Unitful.s, flow_pam3).val + + flow_molecules1 = SD4SOLPS.gas_unit_converter( + flow_tls, + "torr L s^-1", + "molecules s^-1"; + temperature=293.15 * Unitful.K, + ) + flow_molecules2 = SD4SOLPS.gas_unit_converter( + flow_tls, + "torr L s^-1", + "molecules s^-1"; + temperature=300.0 * Unitful.K, + ) + flow_molecules3 = SD4SOLPS.gas_unit_converter( + flow_tls.val, + "torr L s^-1", + "molecules s^-1"; + temperature=300.0, + ) + @test flow_molecules1 > flow_molecules2 + @test (Unitful.upreferred(flow_molecules2)).val == flow_molecules3 + end +end + +if args["actuator"] + @testset "actuator" begin + t = collect(LinRange(0, 2.0, 1001)) + cmd = (t .> 1.0) * 1.55 + (t .> 1.5) * 0.93 + (t .> 1.8) * 0.25 + + instant_flow_function = SD4SOLPS.model_gas_valve("instant") + instant_flow = instant_flow_function(t, cmd) + @test length(instant_flow) == length(cmd) + + simple_flow_function = SD4SOLPS.model_gas_valve("simple") + simple_flow = simple_flow_function(t, cmd) + @test length(simple_flow) == length(cmd) + end +end + +if args["core_profile_extension"] + @testset "core_profile_extension" begin + # Just the basic profile extrapolator ------------------ + edge_rho = Array(LinRange(0.88, 1.0, 18)) + edge_quantity = make_test_profile(edge_rho) + output_rho = Array(LinRange(0, 1.0, 201)) + output_quantity = SD4SOLPS.extrapolate_core(edge_rho, edge_quantity, output_rho) + @test length(output_quantity) == length(output_rho) + + # The full workflow -------------------------------------- + # Setup sample DD + b2fgmtry, b2time, b2mn, gridspec, eqdsk = define_default_sample_set() + println(b2fgmtry) + println(b2time) + println(b2mn) + println(gridspec) + println(eqdsk) + # If these files don't exist, complete the DVC sample setup and try again + @test isfile(b2fgmtry) + @test isfile(b2time) + @test isfile(b2mn) + @test isfile(gridspec) + @test isfile(eqdsk) + dd = SOLPS2IMAS.solps2imas(b2fgmtry, b2time, gridspec, b2mn) + SD4SOLPS.geqdsk_to_imas(eqdsk, dd) + rho = dd.equilibrium.time_slice[1].profiles_1d.rho_tor_norm + + if !SD4SOLPS.check_rho_1d(dd; time_slice=1) + SD4SOLPS.add_rho_to_equilibrium!(dd) + rho = dd.equilibrium.time_slice[1].profiles_1d.rho_tor_norm + println("Repaired missing rho for core profile test") + end + # Sample is ready + + # Test settings + quantity_name = "electrons.density" + test_slice_idx = 1 + + # Do it + SD4SOLPS.fill_in_extrapolated_core_profile!(dd, quantity_name) + + # Inspect results + @test length(dd.core_profiles.profiles_1d) > 0 + core_prof = dd.core_profiles.profiles_1d[test_slice_idx] + tags = split(quantity_name, ".") + quantity = dd.core_profiles.profiles_1d[test_slice_idx] + for tag ∈ tags + quantity = getproperty(quantity, Symbol(tag)) + end + rho_core = dd.core_profiles.profiles_1d[test_slice_idx].grid.rho_tor_norm + @test length(quantity) > 0 + @test length(quantity) == length(rho_core) + end +end + +if args["edge_profile_extension"] + @testset "edge_profile_extension" begin + # Test for getting mesh spacing + b2fgmtry, b2time, b2mn, gridspec, eqdsk = define_default_sample_set() + dd = SOLPS2IMAS.solps2imas(b2fgmtry, b2time, gridspec, b2mn) + SD4SOLPS.geqdsk_to_imas(eqdsk, dd) + dpsin = SD4SOLPS.mesh_psi_spacing(dd) + @test dpsin > 0.0 + + n_edge = 47 + n_outer_prof = 13 + quantity_edge = + [collect(LinRange(2.0, 75.0, 7)); collect(LinRange(75.0, 98.3, 17))] + quantity_edge = [quantity_edge; reverse(quantity_edge)[2:end]] + gradient_edge = + [collect(LinRange(-1, -100, 7)); collect(LinRange(-100, -350, 17))] + gradient_edge = [gradient_edge; reverse(gradient_edge)[2:end]] + psin_out = collect(LinRange(1.0, 1.25, n_outer_prof + 1))[2:end] + end +end + +if args["heavy_utilities"] + @testset "heavy_utilities" begin + # Test for finding files in allowed folders + sample_path = splitdir(pathof(SOLPS2IMAS))[1] * "/../samples" + file_list = SD4SOLPS.find_files_in_allowed_folders( + sample_path; eqdsk_file="thereisntoneyet", allow_reduced_versions=true, + ) + @test length(file_list) == 5 + b2fgmtry, b2time, b2mn, gridspec, eqdsk = file_list + @test length(b2fgmtry) > 10 + @test endswith(b2fgmtry, "b2fgmtry_red") | endswith(b2fgmtry, "b2fgmtry") + @test length(b2time) > 10 + @test endswith(b2time, "b2time_red.nc") | endswith(b2time, "b2time.nc") + @test length(b2mn) > 10 + @test endswith(b2mn, "b2mn.dat") + @test length(gridspec) > 10 + @test endswith(gridspec, "gridspacedesc.yml") + + # Test for sweeping 1D core profiles into 2D R,Z + # (or anyway evaluating them at any R,Z location) + dd = OMAS.dd() + eqdsk_file = + splitdir(pathof(SD4SOLPS))[1] * "/../sample/geqdsk_iter_small_sample" + SD4SOLPS.geqdsk_to_imas(eqdsk_file, dd) + quantity = "electrons.density" + prof_time_idx = eq_time_idx = 1 + resize!(dd.core_profiles.profiles_1d, prof_time_idx) + n = 101 + rho_n = Array(LinRange(0, 1.0, n)) + resize!(dd.core_profiles.profiles_1d[prof_time_idx].grid.rho_tor_norm, n) + resize!(dd.core_profiles.profiles_1d[prof_time_idx].electrons.density, n) + dd.core_profiles.profiles_1d[prof_time_idx].grid.rho_tor_norm = rho_n + dd.core_profiles.profiles_1d[prof_time_idx].electrons.density = + make_test_profile(rho_n) + r_mag_axis = dd.equilibrium.time_slice[1].global_quantities.magnetic_axis.r + z_mag_axis = dd.equilibrium.time_slice[1].global_quantities.magnetic_axis.z + rg = r_mag_axis .* [0.85, 0.90, 0.95, 1.0, 1.05, 1.10, 1.15] + zg = z_mag_axis .+ (r_mag_axis .* [-0.05, -0.025, 0, 0.025, 0.05]) + points = collect(Base.Iterators.product(rg, zg)) + r = getfield.(points, 1) + z = getfield.(points, 2) + if !SD4SOLPS.check_rho_1d(dd; time_slice=eq_time_idx) + SD4SOLPS.add_rho_to_equilibrium!(dd) + println("DD was repaired (rho added) for core 2d utility test") + end + density_on_grid = + SD4SOLPS.core_profile_2d(dd, prof_time_idx, eq_time_idx, quantity).(r, z) + @test size(density_on_grid) == (length(rg), length(zg)) + end +end + +if args["repair_eq"] + @testset "repair_eq" begin + # Prepare sample + dd = OMAS.dd() + eqdsk = splitdir(pathof(SD4SOLPS))[1] * "/../sample/geqdsk_iter_small_sample" + SD4SOLPS.geqdsk_to_imas(eqdsk, dd) + # Make sure rho is missing + nt = length(dd.equilibrium.time_slice) + for it ∈ 1:nt + eqt = dd.equilibrium.time_slice[it] + eqt.profiles_1d.rho_tor_norm = Vector{Float64}() + end + # Add rho + SD4SOLPS.add_rho_to_equilibrium!(dd) + # Check + rho = dd.equilibrium.time_slice[1].profiles_1d.rho_tor_norm + println(rho) + @test length(rho) > 10 + @test maximum(rho) > 0 + end +end + +if args["geqdsk_to_imas"] + @testset "geqdsk_to_imas" begin + sample_files = + (splitdir(pathof(SD4SOLPS))[1] * "/../sample/") .* [ + "g184833.03600", "geqdsk_iter_small_sample", + ] + append!( + sample_files, + ["$(@__DIR__)/../sample/ITER_Lore_2296_00000/EQDSK/g002296.00200"], + ) + tslice = 1 + for sample_file ∈ sample_files + println(sample_file) + dd = OMAS.dd() + SD4SOLPS.geqdsk_to_imas(sample_file, dd; time_index=tslice) + eqt = dd.equilibrium.time_slice[tslice] + + # global + gq = eqt.global_quantities + @test gq.magnetic_axis.r > 0 + @test dd.equilibrium.vacuum_toroidal_field.r0 > 0 + + # 1d + p1 = eqt.profiles_1d + nprof = length(p1.psi) + @test nprof > 10 + @test p1.psi[1] == gq.psi_axis + @test p1.psi[end] == gq.psi_boundary + @test length(p1.f) == nprof + @test length(p1.pressure) == nprof + @test length(p1.rho_tor_norm) == nprof + + # boundary + r_bry = eqt.boundary.outline.r + z_bry = eqt.boundary.outline.z + @test length(r_bry) == length(z_bry) + + # 2d + # Did the R and Z (dim1 and dim2) coordinates get written properly? + p2 = eqt.profiles_2d[1] + r_eq = p2.grid.dim1 + z_eq = p2.grid.dim2 + @test length(r_eq) > 10 + @test minimum(r_eq) > 0 # R should be dim1 + @test minimum(z_eq) < 0 + @test length(z_eq) > 10 + # Does psi match R and Z? + println(size(p2.psi), (length(r_eq), length(z_eq))) + @test size(p2.psi) == (length(r_eq), length(z_eq)) + # Does the psi grid look like it's transposed the right way? + # Many equilibrium reconstructions have equal numbers of cells in R and Z, + # so transposing the psi map incorrectly would not be detected by checking + # its array dimensions. It's also possible to incorrectly associate the psi + # map with R and Z (dim1 and dim2). So what recourse does that leave us? + # Well, the points on the boundary outline should be at psi_N = 1.0 to + # within some small tolerance. + psin2d = (p2.psi .- gq.psi_axis) ./ (gq.psi_boundary - gq.psi_axis) + tolerance = 2.0e-3 # It's not always a high res contour so cut some slack + psin_bry = + Interpolations.linear_interpolation((r_eq, z_eq), psin2d).(r_bry, z_bry) + @test maximum(psin_bry) < (1.0 + tolerance) + @test minimum(psin_bry) > (1.0 - tolerance) + + # derived + @test gq.q_axis == p1.q[1] + + # wall + limiter = dd.wall.description_2d[1].limiter + @test length(limiter.unit[1].outline.r) > 10 + @test length(limiter.unit[1].outline.r) == length(limiter.unit[1].outline.z) + end + end +end + +if args["preparation"] + @testset "preparation" begin + eqdsk_file = "geqdsk_iter_small_sample" + sample_paths = [ + splitdir(pathof(SD4SOLPS))[1] * "/../sample", + splitdir(pathof(SOLPS2IMAS))[1] * "/../samples", + ] + core_method = "simple" + edge_method = "simple" + filename = splitdir(pathof(SD4SOLPS))[1] * "/../sd_input_data" + output_format = "json" + dd = SD4SOLPS.preparation( + eqdsk_file, + sample_paths...; + core_method=core_method, + edge_method=edge_method, + filename=filename, + output_format=output_format, + ) + out_file = filename * "." * output_format + p2 = dd.equilibrium.time_slice[1].profiles_2d[1] + psirz = p2.psi + r = p2.grid.dim1 + z = p2.grid.dim2 + @test size(psirz) == (length(r), length(z)) + println(out_file) + @test isfile(out_file) + end +end