diff --git a/.github/workflows/good_defines.txt b/.github/workflows/good_defines.txt index c0f6c73287..cdfaba0e22 100644 --- a/.github/workflows/good_defines.txt +++ b/.github/workflows/good_defines.txt @@ -1,3 +1,4 @@ +ALLOW_GPU_PRINTF AMREX_DEBUG AMREX_PARTICLES AMREX_SPACEDIM diff --git a/Docs/source/mpi_plus_x.rst b/Docs/source/mpi_plus_x.rst index 7d88e7be77..33df1d1224 100644 --- a/Docs/source/mpi_plus_x.rst +++ b/Docs/source/mpi_plus_x.rst @@ -130,6 +130,37 @@ To enable this, compile with:: USE_HIP = TRUE +Printing Warnings from GPU Kernels +================================== + +.. index:: USE_GPU_PRINTF + +Castro will output warnings if several assumptions are violated (often +triggering a retry in the process). On GPUs, printing from a kernel +(using ``printf()``) can increase the number of registers a kernel needs, +causing performance problems. As a result, warnings are disabled by +wrapping them in ``#ifndef AMREX_USE_GPU``. + +However, for debugging GPU runs, sometimes we want to see these +warnings. The build option ``USE_GPU_PRINTF=TRUE`` will enable these +(by setting the preprocessor flag ``ALLOW_GPU_PRINTF``). + +.. note:: + + Not every warning has been enabled for GPUs. + +.. tip:: + + On AMD architectures, it seems necessary to use unbuffered I/O. This + can be accomplished in the job submission script (for SLURM) by doing + + :: + + srun -u ./Castro... + + + + Working at Supercomputing Centers ================================= diff --git a/Exec/Make.Castro b/Exec/Make.Castro index 910a577563..5b1575820b 100644 --- a/Exec/Make.Castro +++ b/Exec/Make.Castro @@ -136,6 +136,10 @@ ifeq ($(USE_GPU),TRUE) endif endif +ifeq ($(USE_GPU_PRINTF),TRUE) + DEFINES += -DALLOW_GPU_PRINTF +endif + CASTRO_AUTO_SOURCE_DIR := $(TmpBuildDir)/castro_sources/$(optionsSuffix).EXE diff --git a/Exec/science/Detonation/ci-benchmarks/sdc_det_plt00040_extrema.out b/Exec/science/Detonation/ci-benchmarks/sdc_det_plt00040_extrema.out index 193b2fe183..51ab093e30 100644 --- a/Exec/science/Detonation/ci-benchmarks/sdc_det_plt00040_extrema.out +++ b/Exec/science/Detonation/ci-benchmarks/sdc_det_plt00040_extrema.out @@ -1,79 +1,79 @@ plotfile = det_x_plt00040 time = 5.1558159140336702e-06 variables minimum value maximum value - density 185260165.55 216617920.63 - xmom -63255523503 2.9519346608e+16 + density 185259874.21 216582994.41 + xmom -87234240329 2.9512596512e+16 ymom 0 0 zmom 0 0 - rho_E 1.3062473821e+26 2.7891343298e+26 - rho_e 1.3062473821e+26 2.7748842906e+26 - Temp 50000000.026 7845854931.5 - rho_H1 2.1204369735e-22 0.020000115169 - rho_He3 0.0017224919811 0.02102205401 - rho_He4 94366339.651 200001593.93 - rho_C12 0.020000000216 21203829.102 - rho_N14 1.999999523e-22 9.5660401467 - rho_O16 0.02 19209.488217 - rho_Ne20 0.02 3464.1596069 - rho_Mg24 0.02 23322.458406 - rho_Si28 0.02 2015700.9685 - rho_S32 0.02 1656602.4644 - rho_Ar36 0.02 822007.67426 - rho_Ca40 0.02 724910.24417 - rho_Ti44 0.02 34179.295535 - rho_Cr48 0.02 78164.189237 - rho_Fe52 0.02 278034.23746 - rho_Fe54 0.02 95026946.079 - rho_Ni56 0.02 2239485.5719 - rho_n 2.1204369735e-22 234580.3659 - rho_p 0.019999995438 3610755.3081 - rho_enuc -4.6808330292e+29 3.576498348e+32 - pressure 5.5236728651e+25 1.1610548795e+26 - kineng 0 2.0467474279e+24 - soundspeed 612864631.21 895226097.3 - Gamma_1 1.3599756287 1.3819899024 - MachNumber 0 0.16110770916 - uplusc 612864631.21 999815567.76 - uminusc -895226406.71 -612860598.79 - entropy 98214767.758 336273469.46 + rho_E 1.3062473821e+26 2.7893784326e+26 + rho_e 1.3062473821e+26 2.7751188263e+26 + Temp 50000000.026 7845854662.6 + rho_H1 2.1207307865e-22 0.020000135717 + rho_He3 0.0017225013714 0.02102428438 + rho_He4 94358881.486 200001799.59 + rho_C12 0.020000000216 21276964.112 + rho_N14 1.9999983474e-22 197.76685905 + rho_O16 0.02 19209.489937 + rho_Ne20 0.02 4937.0489429 + rho_Mg24 0.02 23322.104606 + rho_Si28 0.02 2015343.4134 + rho_S32 0.02 1656264.8265 + rho_Ar36 0.02 821829.69632 + rho_Ca40 0.02 725030.13946 + rho_Ti44 0.02 34172.699418 + rho_Cr48 0.02 78131.560865 + rho_Fe52 0.02 277298.50875 + rho_Fe54 0.02 94994585.838 + rho_Ni56 0.02 2238978.4894 + rho_n 2.1207307865e-22 234580.14761 + rho_p 0.019999995438 3609721.5282 + rho_enuc -4.6900452682e+29 3.5791669148e+32 + pressure 5.5236728651e+25 1.1610544319e+26 + kineng 0 2.0455630311e+24 + soundspeed 612864631.21 895226067.36 + Gamma_1 1.3599756137 1.3820271358 + MachNumber 0 0.16114390973 + uplusc 612864631.21 999569362.18 + uminusc -895226468.14 -612860078.6 + entropy 98214767.758 336273451.62 magvort 0 0 - divu -97879.470548 34017.033805 - eint_E 6.5312369103e+17 1.380434464e+18 - eint_e 6.5312369103e+17 1.380434464e+18 - logden 8.2677820478 8.3356943826 - StateErr_0 185260165.55 216617920.63 - StateErr_1 50000000.026 7845854931.5 + divu -97746.019905 33801.828895 + eint_E 6.5312369103e+17 1.3804343879e+18 + eint_e 6.5312369103e+17 1.3804343879e+18 + logden 8.2677813648 8.3356243538 + StateErr_0 185259874.21 216582994.41 + StateErr_1 50000000.026 7845854662.6 StateErr_2 1e-30 9.9999779324e-11 X(H1) 1e-30 9.9999779324e-11 - X(He3) 8.9861142144e-12 9.9999601254e-11 - X(He4) 0.48402941802 0.9999999982 - X(C12) 1.0000000108e-10 0.09999745037 - X(N14) 1e-30 4.5113532098e-08 - X(O16) 1e-10 9.6047388579e-05 - X(Ne20) 1e-10 1.6337008127e-05 - X(Mg24) 1e-10 0.00011119757992 - X(Si28) 1e-10 0.010055548658 - X(S32) 1e-10 0.0083462743796 - X(Ar36) 1e-10 0.0041650262219 - X(Ca40) 1e-10 0.0037107481152 - X(Ti44) 1e-10 0.00017303069502 - X(Cr48) 1e-10 0.00040092438857 - X(Fe52) 1e-10 0.0013387480381 - X(Fe54) 1e-10 0.46489869655 - X(Ni56) 1e-10 0.010338413209 - X(n) 1e-30 0.0011729011118 - X(p) 9.999997703e-11 0.017599035758 - abar 4.000000001 6.7313315116 - Ye 0.49998670822 0.50001557428 - x_velocity -316.27744461 138671594.27 + X(He3) 8.9857380636e-12 9.9999601254e-11 + X(He4) 0.48403393423 0.9999999982 + X(C12) 1.0000000108e-10 0.10032845398 + X(N14) 1e-30 9.3254108586e-07 + X(O16) 1e-10 9.604742181e-05 + X(Ne20) 1e-10 2.3279941869e-05 + X(Mg24) 1e-10 0.00011116921103 + X(Si28) 1e-10 0.01005607083 + X(S32) 1e-10 0.0083471961707 + X(Ar36) 1e-10 0.0041657025725 + X(Ca40) 1e-10 0.0037098568497 + X(Ti44) 1e-10 0.00017298041086 + X(Cr48) 1e-10 0.00040079244474 + X(Fe52) 1e-10 0.0013382570124 + X(Fe54) 1e-10 0.46490351089 + X(Ni56) 1e-10 0.010337739099 + X(n) 1e-30 0.0011729003976 + X(p) 9.9999977071e-11 0.017596365447 + abar 4.000000001 6.7314014168 + Ye 0.49998670317 0.50001557187 + x_velocity -436.17123215 138623047.3 y_velocity 0 0 z_velocity 0 0 - t_sound_t_enuc 3.4411968038e-13 0.97442435993 - enuc -2.4887686639e+21 1.6510630042e+24 - magvel 0 138671594.27 - radvel -316.27744461 138671594.27 - circvel 0 2.4494897428 - magmom 0 2.9519346608e+16 + t_sound_t_enuc 3.4412406685e-13 0.97531384976 + enuc -2.4936491578e+21 1.6525613771e+24 + magvel 0 138623047.3 + radvel -436.17123215 138623047.3 + circvel 0 2 + magmom 0 2.9512596512e+16 angular_momentum_x 0 0 angular_momentum_y 0 0 angular_momentum_z 0 0 diff --git a/Exec/science/Detonation/shock_paper/README.md b/Exec/science/Detonation/shock_paper/README.md new file mode 100644 index 0000000000..cecf4e2236 --- /dev/null +++ b/Exec/science/Detonation/shock_paper/README.md @@ -0,0 +1,47 @@ +# Shock Burning Experiments + +This directory is meant to explore shock burning with detonation. Compile as: + +``` +make USE_SIMPLIFIED_SDC=TRUE USE_SHOCK_VAR=TRUE NETWORK_DIR=aprox13 -j 4 +``` + +Then the script `setup_runs.py` will setup a suite of simulations with +the following resolutions into separate directories (using the +`inputs-shock-burn.template`): + + +| resolution | base grid | levels (4x jumps) | +| ------------ | ----------- | ------------------- | +| 24 km | 48 | 1 | +| 12 km | 96 | 1 | +| 6 km | 192 | 1 | +| 3 km | 384 | 1 | +| 1.5 km | 768 | 1 | +| 0.1875 km | 6144 | 1 | +| 2343.74 cm | 12288 | 2 | + +you can set the value of the shock detection threshold there +and the directory names will reflect that setting. + +## plotting + +The following scripts can make useful plots (some use the +`detonation.py` module as support): + +* `det_speed_comp.py` : plot detonation speed vs. resolution, using + simple differencing to estimate the detonation speed from the last 3 + plotfiles. + +* `profile_compare.py` : given a list of pruns (from different + resolutions), make a plot showing all of their profiles together. + +* `profiles.py` : for a single run, plot profiles of T and enuc for + several times. + +* `show_shock_flag.py` : simply plot the shock variable on top of T + and enuc profiles. + +* `zoom_summary.py` : given a list of runs (from different + resolutions), plot the last plotfile from each run, zoomed in on + where the peak energy generation is. diff --git a/Exec/science/Detonation/shock_paper/det_speed_comp.py b/Exec/science/Detonation/shock_paper/det_speed_comp.py new file mode 100755 index 0000000000..7d1ae9fe9c --- /dev/null +++ b/Exec/science/Detonation/shock_paper/det_speed_comp.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python + +import matplotlib.pyplot as plt + +import detonation + +runs = [("res24.0km", 24), + ("res12.0km", 12), + ("res6.0km", 6), + ("res3.0km", 3), + ("res1.5km", 1.5), + ("res0.1875km", 0.1875)] #, + #("res0.024km", 0.024)] #, +#("res0.003km", 0.003)] + +nsb1_runs = [("res24.0km_noshockburn_1", 24), + ("res12.0km_noshockburn_1", 12), + ("res6.0km_noshockburn_1", 6), + ("res3.0km_noshockburn_1", 3), + ("res1.5km_noshockburn_1", 1.5), + ("res0.1875km_noshockburn_1", 0.1875)] #, + +nsb23_runs = [("res24.0km_noshockburn_0.666", 24), + ("res12.0km_noshockburn_0.666", 12), + ("res6.0km_noshockburn_0.666", 6), + ("res3.0km_noshockburn_0.666", 3), + ("res1.5km_noshockburn_0.666", 1.5), + ("res0.1875km_noshockburn_0.666", 0.1875)] #, + +res = [] +v = [] +dv = [] + +for ddir, dx in runs: + res.append(dx) + d = detonation.Detonation(ddir) + v.append(d.v) + dv.append(d.v_sigma) + +nsb23_res = [] +nsb23_v = [] +nsb23_dv = [] + +for ddir, dx in nsb23_runs: + nsb23_res.append(dx) + d = detonation.Detonation(ddir) + nsb23_v.append(d.v) + nsb23_dv.append(d.v_sigma) + +nsb1_res = [] +nsb1_v = [] +nsb1_dv = [] + +for ddir, dx in nsb1_runs: + nsb1_res.append(dx) + d = detonation.Detonation(ddir) + nsb1_v.append(d.v) + nsb1_dv.append(d.v_sigma) + + +fig, ax = plt.subplots() + +ax.errorbar(res, v, yerr=dv, fmt="o", label="burning in shocks allowed") +ax.errorbar(nsb23_res, nsb23_v, yerr=nsb23_dv, fmt="d", label="no shock burning (f=2/3)") +ax.errorbar(nsb1_res, nsb1_v, yerr=nsb1_dv, fmt="d", label="no shock burning (f=1)") + +ax.set_xlabel(r"$\Delta x$ (km)") +ax.set_ylabel(r"$v_\mathrm{det}$ (cm / s)") + +ax.legend() + +ax.set_xscale("log") + +fig.savefig("det_speeds.png") diff --git a/Exec/science/Detonation/shock_paper/detonation.py b/Exec/science/Detonation/shock_paper/detonation.py new file mode 100644 index 0000000000..710371e132 --- /dev/null +++ b/Exec/science/Detonation/shock_paper/detonation.py @@ -0,0 +1,105 @@ +import glob +import os + +import numpy as np +import matplotlib.pyplot as plt + +import yt +from yt.frontends.boxlib.api import CastroDataset + + +yt.funcs.mylog.setLevel(50) + +class Profile: + """read a plotfile using yt and store the 1d profile for T and enuc""" + + def __init__(self, plotfile): + ds = CastroDataset(plotfile) + + time = float(ds.current_time) + ad = ds.all_data() + + # Sort the ray values by 'x' so there are no discontinuities + # in the line plot + srt = np.argsort(ad['x']) + x_coord = np.array(ad['x'][srt]) + temp = np.array(ad['Temp'][srt]) + enuc = np.array(ad['enuc'][srt]) + shock = np.array(ad['Shock'][srt]) + + self.time = time + self.x = x_coord + self.T = temp + self.enuc = enuc + self.shock = shock + + def find_x_for_T(self, T_0=1.e9): + """ given a profile x(T), find the x_0 that corresponds to T_0 """ + + # our strategy here assumes that the hot ash is in the early + # part of the profile. We then find the index of the first + # point where T drops below T_0 + try: + idx = np.where(self.T < T_0)[0][0] + except IndexError: + idx = len(self.T)-1 + + T1 = self.T[idx-1] + x1 = self.x[idx-1] + + T2 = self.T[idx] + x2 = self.x[idx] + + slope = (x2 - x1)/(T2 - T1) + + return x1 + slope*(T_0 - T1) + + +class Detonation: + def __init__(self, dirname): + self.name = dirname + + self.v = None + self.v_sigma = None + + # find all the output (plot) files + self.files = glob.glob(f"{dirname}/*plt?????") + self.files.sort() + + # precompute the velocity and the data profiles + if len(self.files) >= 3: + self.v, self.v_sigma = self.get_velocity() + else: + self.v, self.v_sigma = 0.0, 0.0 + + def get_velocity(self): + """look at the last 2 plotfiles and estimate the velocity by + finite-differencing""" + + vs = [] + pairs = [(-2, -1), (-3, -1), (-3, -2)] + + for i1, i2 in pairs: + p1 = self.get_data(i1) + p2 = self.get_data(i2) + + # we'll do this by looking at 3 different temperature + # thresholds and averaging + T_ref = [1.e9, 2.e9, 3.e9] + + for T0 in T_ref: + x1 = p1.find_x_for_T(T0) + x2 = p2.find_x_for_T(T0) + vs.append((x1 - x2)/(p1.time - p2.time)) + + vs = np.array(vs) + v = np.mean(vs) + v_sigma = np.std(vs) + return v, v_sigma + + def get_data(self, num=-1): + """get the temperature and energy generation rate from the + num'th plotfile (defaults to the last)""" + + return Profile(os.path.join(self.files[num])) + diff --git a/Exec/science/Detonation/shock_paper/inputs-shock-burn.template b/Exec/science/Detonation/shock_paper/inputs-shock-burn.template new file mode 100644 index 0000000000..a10f50260e --- /dev/null +++ b/Exec/science/Detonation/shock_paper/inputs-shock-burn.template @@ -0,0 +1,115 @@ +# ------------------ INPUTS TO MAIN PROGRAM ------------------- +max_step = 200000 +stop_time = 0.03 + +# PROBLEM SIZE & GEOMETRY +geometry.is_periodic = 0 0 0 +geometry.coord_sys = 0 # 0 => cart, 1 => RZ 2=>spherical +geometry.prob_lo = 0 0 0 +geometry.prob_hi = 1.152e8 2500 2500 +amr.n_cell = @nx@ 16 16 + + +# >>>>>>>>>>>>> BC FLAGS <<<<<<<<<<<<<<<< +# 0 = Interior 3 = Symmetry +# 1 = Inflow 4 = SlipWall +# 2 = Outflow 5 = NoSlipWall +# >>>>>>>>>>>>> BC FLAGS <<<<<<<<<<<<<<<< +castro.lo_bc = 3 4 4 +castro.hi_bc = 2 4 4 + +# WHICH PHYSICS +castro.do_hydro = 1 +castro.do_react = 1 + +castro.react_rho_min = 100.0 +castro.react_T_min = 5.e7 + +castro.ppm_type = 1 +castro.ppm_temp_fix = 0 + +castro.time_integration_method = 3 + +castro.disable_shock_burning = @shock_flag@ +castro.shock_detection_threshold = @shock_thresh@ + +# castro.transverse_reset_density = 1 + +castro.small_dens = 1.e-5 +castro.small_temp = 1.e7 + +castro.use_flattening = 1 + +castro.riemann_solver = 1 + +# TIME STEP CONTROL +castro.cfl = 0.5 # cfl number for hyperbolic system +castro.init_shrink = 0.1 # scale back initial timestep +castro.change_max = 1.05 # scale back initial timestep + +#castro.dtnuc_e = 0.1 + +# DIAGNOSTICS & VERBOSITY +castro.sum_interval = 1 # timesteps between computing mass +castro.v = 1 # verbosity in Castro.cpp +amr.v = 1 # verbosity in Amr.cpp +#amr.grid_log = grdlog # name of grid logging file + +# REFINEMENT / REGRIDDING +amr.max_level = @nlevel@ # maximum level number allowed +amr.ref_ratio = 4 4 2 2 # refinement ratio +amr.regrid_int = 2 2 2 2 # how often to regrid +amr.blocking_factor = 8 # block factor in grid generation +amr.max_grid_size = 512 +amr.n_error_buf = 8 8 8 4 4 2 2 2 2 # number of buffer cells in error est + +# CHECKPOINT FILES +amr.check_file = det_x_chk # root name of checkpoint file +amr.check_int = 10000 # number of timesteps between checkpoints + +# PLOTFILES +amr.plot_file = det_x_plt # root name of plotfile +amr.plot_per = 2.5e-3 +amr.derive_plot_vars = ALL + +# problem initialization + +problem.T_l = 1.1e9 +problem.T_r = 1.75e8 + +problem.dens = 3.0e6 +problem.cfrac = 0.0 +problem.nfrac = 0.01 + +problem.smallx = 1.e-10 + +problem.idir = 1 + +problem.w_T = 1.e-3 +problem.center_T = 0.2 + +# refinement + +amr.refinement_indicators = temperr tempgrad + +amr.refine.temperr.max_level = 0 +amr.refine.temperr.value_greater = 4.e9 +amr.refine.temperr.field_name = Temp + +amr.refine.tempgrad.max_level = 5 +amr.refine.tempgrad.gradient = 1.e8 +amr.refine.tempgrad.field_name = Temp + +# Microphysics + +network.small_x = 1.e-10 +integrator.SMALL_X_SAFE = 1.e-10 + +integrator.rtol_spec = 1.e-5 +integrator.atol_spec = 1.e-5 +integrator.rtol_enuc = 1.e-5 +integrator.atol_enuc = 1.e-5 +integrator.jacobian = 1 + +integrator.X_reject_buffer = 4.0 + diff --git a/Exec/science/Detonation/shock_paper/profile_compare.py b/Exec/science/Detonation/shock_paper/profile_compare.py new file mode 100755 index 0000000000..35edb2502c --- /dev/null +++ b/Exec/science/Detonation/shock_paper/profile_compare.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 + +# Take a sequence of plotfiles and plot T and enuc vs. position + +import matplotlib +import numpy as np + +matplotlib.use('agg') + +import matplotlib.pyplot as plt + +import matplotlib.ticker as mticker + +import detonation + +def plot_Te(data): + + f = plt.figure() + + f.set_size_inches(7.5, 9.0) + + ax_T = f.add_subplot(211) + ax_e = f.add_subplot(212) + + for n, _d in enumerate(data): + + ddir, label = _d + + d = detonation.Detonation(ddir) + profile = d.get_data(-1) + + ax_T.plot(profile.x, profile.T, label=label) + ax_e.plot(profile.x, profile.enuc, label=label) + + ax_T.set_ylabel("T (K)") + ax_T.yaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + ax_T.xaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + ax_T.legend() + + ax_e.set_yscale("log") + ax_e.set_ylabel(r"$S_\mathrm{nuc}$ (erg/g/s)") + ax_e.set_xlabel("x (cm)") + ax_e.xaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + cur_lims = ax_e.get_ylim() + ax_e.set_ylim(1.e-10*cur_lims[-1], cur_lims[-1]) + + f.tight_layout() + f.savefig("profile_compare.png") + + +if __name__ == "__main__": + + + data = [("res0.003km", "300 cm"), + ("res0.024km", "2400 cm"), + ("res0.192km", "0.192 km"), + ("res1.536km", "1.536 km"), + ("res12.288km", "12.288 km")] + + plot_Te(data) diff --git a/Exec/science/Detonation/shock_paper/profiles.py b/Exec/science/Detonation/shock_paper/profiles.py new file mode 100755 index 0000000000..26aa70cb8f --- /dev/null +++ b/Exec/science/Detonation/shock_paper/profiles.py @@ -0,0 +1,244 @@ +#!/usr/bin/env python3 + +# Take a sequence of plotfiles and plot T and enuc vs. position + +import argparse +import re +import sys + +import matplotlib +import numpy as np +from cycler import cycler + +matplotlib.use('agg') +import math + +import matplotlib.pyplot as plt +import yt + + +## Define RGBA to HEX +def rgba_to_hex(rgba): + r = int(rgba[0]*255.0) + g = int(rgba[1]*255.0) + b = int(rgba[2]*255.0) + return f'#{r:02X}{g:02X}{b:02X}' + + +# Extract number from nuc list +def nuc_list_filter(nuc): + + match = re.search(r'\d+', nuc) + if match: + return int(match.group()) + + return 0 + + +def get_Te_profile(plotfile, plot_in_nse=False): + + ds = yt.load(plotfile, hint="castro") + + time = float(ds.current_time) + ad = ds.all_data() + + # Sort the ray values by 'x' so there are no discontinuities + # in the line plot + srt = np.argsort(ad['x']) + x_coord = np.array(ad['x'][srt]) + temp = np.array(ad['Temp'][srt]) + enuc = np.array(ad['enuc'][srt]) + if plot_in_nse: + in_nse = np.array(ad['in_nse'][srt]) + return time, x_coord, temp, enuc, in_nse + return time, x_coord, temp, enuc + +def get_nuc_profile(plotfile): + + ds = yt.load(plotfile, hint="castro") + + time = float(ds.current_time) + ad = ds.all_data() + + # Sort the ray values by 'x' so there are no discontinuities + # in the line plot + srt = np.argsort(ad['x']) + x_coord = np.array(ad['x'][srt]) + + nuc_list = [f[1] for f in ds.field_list if f[1][0] == "X"] + nuc_list.sort(key=nuc_list_filter) + + nuc_fracs = [np.array(ad[nuc][srt]) for nuc in nuc_list] + + return time, x_coord, nuc_fracs + + +def plot_Te(prefix, nums, skip, limitlabels, xmin, xmax, plot_in_nse=False): + + f = plt.figure() + + # Get set of colors to use and apply to plot + numplots = int(len(nums) / skip) + cm = plt.get_cmap('nipy_spectral') + clist = [cm(0.95*i/numplots) for i in range(numplots + 1)] + hexclist = [rgba_to_hex(ci) for ci in clist] + + if plot_in_nse: + f.set_size_inches(7.0, 12.0) + ax_nse = f.add_subplot(311) + ax_T = f.add_subplot(312) + ax_e = f.add_subplot(313) + ax_nse.set_prop_cycle(cycler('color', hexclist)) + else: + f.set_size_inches(7.0, 9.0) + ax_T = f.add_subplot(211) + ax_e = f.add_subplot(212) + + ax_T.set_prop_cycle(cycler('color', hexclist)) + ax_e.set_prop_cycle(cycler('color', hexclist)) + + if limitlabels > 1: + skiplabels = int(numplots / limitlabels) + elif limitlabels < 0: + print("Illegal value for limitlabels: %.0f" % limitlabels) + sys.exit() + else: + skiplabels = 1 + index = 0 + + for n in range(0, len(nums), skip): + + pfile = f"{prefix}{nums[n]}" + + if plot_in_nse: + time, x, T, enuc, in_nse = get_Te_profile(pfile, plot_in_nse) + ax_nse.plot(x, in_nse) + else: + time, x, T, enuc = get_Te_profile(pfile) + + if index % skiplabels == 0: + ax_T.plot(x, T, label=f"t = {time:6.4g} s") + else: + ax_T.plot(x, T) + + ax_e.plot(x, enuc) + + index = index + 1 + + ax_T.legend(frameon=False) + ax_T.set_ylabel("T (K)") + + if xmax > 0: + ax_T.set_xlim(xmin, xmax) + ax_e.set_xlim(xmin, xmax) + if plot_in_nse: + ax_nse.set_xlim(xmin, xmax) + + ax_e.set_yscale("log") + ax_e.set_ylabel(r"$S_\mathrm{nuc}$ (erg/g/s)") + ax_e.set_xlabel("x (cm)") + + cur_lims = ax_e.get_ylim() + ax_e.set_ylim(1.e-10*cur_lims[-1], cur_lims[-1]) + + if plot_in_nse: + ax_nse.set_ylabel("IN NSE") + + f.savefig("det_Te.png") + + +def plot_nuc_frac(prefix, nums, skip, limitlabels, xmin, xmax): + + f = plt.figure() + f.set_size_inches(32.0, 20.0) + + # Get set of colors to use and apply to plot + numplots = int(len(nums) / skip) + cm = plt.get_cmap('nipy_spectral') + clist = [cm(0.95*i/numplots) for i in range(numplots + 1)] + hexclist = [rgba_to_hex(ci) for ci in clist] + + if limitlabels > 1: + skiplabels = int(numplots / limitlabels) + elif limitlabels < 0: + print("Illegal value for limitlabels: %.0f" % limitlabels) + sys.exit() + else: + skiplabels = 1 + + pfile = f"{prefix}{nums[1]}" + ds = yt.load(pfile, hint="castro") + + nuc_list = [f[1] for f in ds.field_list if f[1][0] == "X"] + nuc_list.sort(key=nuc_list_filter) + N = len(nuc_list) + + nrows = math.ceil(math.sqrt(N)) + ncols = math.ceil(math.sqrt(N)) + + for i in range(N): + ax = f.add_subplot(nrows, ncols, i+1) + ax.set_prop_cycle(cycler('color', hexclist)) + + index = 0 + for n in range(0, len(nums), skip): + + pfile = f"{prefix}{nums[n]}" + + time, x, nuc_prof = get_nuc_profile(pfile) + + if i == 0 and index % skiplabels == 0: + ax.plot(x, nuc_prof[i], label=f"t = {time:6.4g} s") + else: + ax.plot(x, nuc_prof[i]) + + index = index + 1 + + ax.legend(frameon=False) + ax.set_ylabel(nuc_list[i]) + ax.set_yscale("log") + + if xmax > 0: + ax.set_xlim(xmin, xmax) + + f.tight_layout() + f.savefig("det_nuc.png") + + +def doit(prefix, nums, skip, limitlabels, xmin, xmax, + do_nuc_fracs=False, plot_in_nse=False): + + if do_nuc_fracs: + plot_nuc_frac(prefix, nums, skip, limitlabels, xmin, xmax) + else: + plot_Te(prefix, nums, skip, limitlabels, xmin, xmax, plot_in_nse) + + +if __name__ == "__main__": + + p = argparse.ArgumentParser() + + p.add_argument("--skip", type=int, default=1, + help="interval between plotfiles") + p.add_argument("--xmin", type=float, default=0, + help="minimum x-coordinate to show") + p.add_argument("--xmax", type=float, default=-1, + help="maximum x-coordinate to show") + p.add_argument("plotfiles", type=str, nargs="+", + help="list of plotfiles to plot") + p.add_argument("--limitlabels", type=float, default=1., + help="Show all labels (default) or reduce to ~ given value") + p.add_argument("--do_nuc_fracs", dest="do_nuc_fracs", + action="store_true", + help="Plot nuc fracs, otherwise Temp and enuc plot") + p.add_argument("--plot_in_nse", dest="plot_in_nse", + action="store_true", + help="Plot in_nse quantity along with temperature and enuc") + + args = p.parse_args() + + plot_prefix = args.plotfiles[0].split("plt")[0] + "plt" + plot_nums = sorted([p.split("plt")[1] for p in args.plotfiles], key=int) + + doit(plot_prefix, plot_nums, args.skip, args.limitlabels, args.xmin, + args.xmax, do_nuc_fracs=args.do_nuc_fracs, plot_in_nse=args.plot_in_nse) diff --git a/Exec/science/Detonation/shock_paper/setup_runs.py b/Exec/science/Detonation/shock_paper/setup_runs.py new file mode 100755 index 0000000000..416ef4bac7 --- /dev/null +++ b/Exec/science/Detonation/shock_paper/setup_runs.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python + +import os +import shutil + +# tuples of label, nx, and max_level +RES_INFO = [("24.0km", "48", "0"), + ("12.0km", "96", "0"), + ("6.0km", "192", "0"), + ("3.0km", "384", "0"), + ("1.5km", "768", "0"), + ("0.1875km", "6144", "0"), + ("0.0234375km", "12288", "1")] + +INPUTS_TEMPLATE = "inputs-shock-burn.template" + +COMMON_FILES = ["helm_table.dat", + "Castro1d.gnu.MPI.SMPLSDC.ex"] + +shock_flag = "1" +shock_thresh = "0.666" + +def doit(): + + # read in the template + with open(INPUTS_TEMPLATE) as tf: + template = tf.readlines() + + # loop over resolutions + for label, nx, max_level in RES_INFO: + + # create output direct + odir = f"res{label}" + if shock_flag == "1": + odir += f"_noshockburn_{shock_thresh}" + + os.mkdir(odir) + + # copy files + for f in COMMON_FILES: + shutil.copy(f, odir) + + # modify inputs + with open(f"{odir}/inputs", "w") as fin: + for line in template: + fin.write(line.replace("@nx@", nx).replace("@nlevel@", max_level).replace("@shock_flag@", shock_flag).replace("@shock_thresh@", shock_thresh)) + + +if __name__ == "__main__": + doit() diff --git a/Exec/science/Detonation/shock_paper/show_shock_flag.py b/Exec/science/Detonation/shock_paper/show_shock_flag.py new file mode 100755 index 0000000000..969d68d7a7 --- /dev/null +++ b/Exec/science/Detonation/shock_paper/show_shock_flag.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 + +# Take a sequence of plotfiles and plot T and enuc vs. position + +import matplotlib +import numpy as np + +matplotlib.use('agg') + +import matplotlib.pyplot as plt + +import matplotlib.ticker as mticker + +import detonation + +def plot_Te(ddir): + + f = plt.figure() + + f.set_size_inches(7.5, 9.0) + + ax_T = f.add_subplot(211) + ax_e = f.add_subplot(212) + + d = detonation.Detonation(ddir) + profile = d.get_data(-1) + + ax_T.plot(profile.x, profile.T) + + ishk = profile.shock == 1.0 + ax_T.scatter(profile.x[ishk], profile.T[ishk]) + + ax_e.plot(profile.x, profile.enuc) + ax_e.scatter(profile.x[ishk], profile.enuc[ishk]) + + ax_T.set_ylabel("T (K)") + ax_T.yaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + ax_T.xaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + + ax_e.set_yscale("log") + ax_e.set_ylabel(r"$S_\mathrm{nuc}$ (erg/g/s)") + ax_e.set_xlabel("x (cm)") + ax_e.xaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + cur_lims = ax_e.get_ylim() + ax_e.set_ylim(1.e-10*cur_lims[-1], cur_lims[-1]) + + f.tight_layout() + f.savefig("shock_flag.png") + + +if __name__ == "__main__": + + #ddir = "res12.288km" + #ddir = "res1.536km" + #ddir = "res0.192km" + ddir = "res0.003km" + + plot_Te(ddir) diff --git a/Exec/science/Detonation/shock_paper/zoom_summary.py b/Exec/science/Detonation/shock_paper/zoom_summary.py new file mode 100755 index 0000000000..f0a6aa32f8 --- /dev/null +++ b/Exec/science/Detonation/shock_paper/zoom_summary.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 + +# Take a sequence of plotfiles and plot T and enuc vs. position + +import matplotlib +import numpy as np + +matplotlib.use('agg') + +import matplotlib.pyplot as plt + +import matplotlib.ticker as mticker + +import detonation + + +def plot_Te(data): + + f = plt.figure() + + f.set_size_inches(7.5, 9.0) + + ax_T = f.add_subplot(211) + ax_e = f.add_subplot(212) + + for n, _d in enumerate(data): + + ddir, label = _d + + d = detonation.Detonation(ddir) + profile = d.get_data(-1) + + idx = np.argmax(profile.enuc) + + xpeak = profile.x[idx] + + if n == 0: + Lx = profile.x.max() - profile.x.min() + + xmin = xpeak - 0.002 * Lx + xmax = xpeak + 0.001 * Lx + + ax_T.set_xlim(xmin, xmax) + ax_e.set_xlim(xmin, xmax) + + ax_T.scatter(profile.x, profile.T, label=label, marker="*") + ax_e.scatter(profile.x, profile.enuc, label=label, marker="*") + + ax_T.set_ylabel("T (K)") + ax_T.yaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + ax_T.xaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + ax_T.legend() + + ax_e.set_yscale("log") + ax_e.set_ylabel(r"$S_\mathrm{nuc}$ (erg/g/s)") + ax_e.set_xlabel("x (cm)") + ax_e.xaxis.set_major_formatter(mticker.ScalarFormatter(useMathText=True)) + cur_lims = ax_e.get_ylim() + ax_e.set_ylim(1.e-10*cur_lims[-1], cur_lims[-1]) + + f.tight_layout() + f.savefig("summary_zoom_Te.png") + + +if __name__ == "__main__": + + + data = [("res0.003km", "300 cm"), + ("res0.024km", "2400 cm"), + ("res0.192km", "0.192 km"), + ("res1.536km", "1.536 km"), + ("res12.288km", "12.288 km")] + + plot_Te(data) diff --git a/Exec/science/flame_wave/ci-benchmarks/job_info_params.txt b/Exec/science/flame_wave/ci-benchmarks/job_info_params.txt index 252b98a482..7d3acf86ec 100644 --- a/Exec/science/flame_wave/ci-benchmarks/job_info_params.txt +++ b/Exec/science/flame_wave/ci-benchmarks/job_info_params.txt @@ -240,7 +240,6 @@ integrator.do_species_clip = 1 integrator.use_number_densities = 0 integrator.scale_system = 0 - integrator.nse_iters = 3 integrator.nse_deriv_dt_factor = 0.05 integrator.nse_include_enu_weak = 1 integrator.linalg_do_pivoting = 1 diff --git a/Exec/science/flame_wave/scaling/frontier/frontier-scaling-2024-07-04-subch_simple.txt b/Exec/science/flame_wave/scaling/frontier/frontier-scaling-2024-07-04-subch_simple.txt new file mode 100644 index 0000000000..4ec22a5c01 --- /dev/null +++ b/Exec/science/flame_wave/scaling/frontier/frontier-scaling-2024-07-04-subch_simple.txt @@ -0,0 +1,33 @@ +# scaling numbers for the 3D XRB -- using subch_simple +# using the same inputs.He.25cm.static.1000Hz as previously +# modules: +# +# module load PrgEnv-gnu +# module load cray-mpich/8.1.27 +# module load craype-accel-amd-gfx90a +# module load amd-mixed/6.0.0 +# module unload darshan-runtime +# +# build info: +# +# EOS: /ccs/home/zingale/Microphysics/EOS/helmholtz +# NETWORK: /ccs/home/zingale/Microphysics/networks/subch_simple +# CONDUCTIVITY: /ccs/home/zingale/Microphysics/conductivity/stellar +# INTEGRATOR: VODE +# SCREENING: screen5 +# +# Castro git describe: 24.07 +# AMReX git describe: 24.07-3-g7dc2081a9 +# Microphysics git describe: 24.07-1-g0a96241b + + +# nodes rocm mag_grid_size avg time / std dev +# step +# 48 6.0 128 --- crashes due to not enough GPU memory --- + 64 6.0 128 167.502 0.419448 + 128 6.0 128 85.4082 0.29416 + 256 6.0 128 46.4092 0.876868 + 512 6.0 128 25.5446 0.123848 +1024 6.0 128 17.3517 0.0857189 +2048 6.0 128 13.564 0.0498023 + diff --git a/Exec/science/flame_wave/scaling/frontier/frontier-scaling-2024-07-04.txt b/Exec/science/flame_wave/scaling/frontier/frontier-scaling-2024-07-04.txt new file mode 100644 index 0000000000..9d99d87a71 --- /dev/null +++ b/Exec/science/flame_wave/scaling/frontier/frontier-scaling-2024-07-04.txt @@ -0,0 +1,38 @@ +# new scaling numbers for the 3D XRB +# using the same inputs.He.25cm.static.1000Hz as previously +# modules: +# +# module load PrgEnv-gnu +# module load cray-mpich/8.1.27 +# module load craype-accel-amd-gfx90a +# module load amd-mixed/6.0.0 +# module unload darshan-runtime +# +# build info: +# +# EOS: /ccs/home/zingale/Microphysics/EOS/helmholtz +# NETWORK: /ccs/home/zingale/Microphysics/networks/iso7 +# CONDUCTIVITY: /ccs/home/zingale/Microphysics/conductivity/stellar +# INTEGRATOR: VODE +# SCREENING: screen5 +# +# Castro git describe: 24.07 +# AMReX git describe: 24.07-3-g7dc2081a9 +# Microphysics git describe: 24.07-1-g0a96241b + +# nodes rocm mag_grid_size avg time / std dev +# step + 48 6.0 128 69.3646 0.286297 + 64 6.0 128 50.2029 0.681104 + 128 6.0 128 28.4001 0.221368 + 256 6.0 128 15.7771 0.133056 + 512 6.0 128 9.6077 0.331669 +1024 6.0 128 6.66329 0.103599 +2048 6.0 128 5.15287 0.0542774 + +# note that the 2048 run uses a blocking factor of 16) + +# in contrast to the previous run, we've disabled all inlining with +# ROCm to get around some compiler bugs, so that might explain some +# slight slowdown here. + diff --git a/Exec/science/flame_wave/scaling/frontier/frontier-scaling-rkc-2024-07-04.txt b/Exec/science/flame_wave/scaling/frontier/frontier-scaling-rkc-2024-07-04.txt new file mode 100644 index 0000000000..ea6da1f3ff --- /dev/null +++ b/Exec/science/flame_wave/scaling/frontier/frontier-scaling-rkc-2024-07-04.txt @@ -0,0 +1,39 @@ +# new scaling numbers for the 3D XRB +# using the same inputs.He.25cm.static.1000Hz as previously +# modules: +# +# module load PrgEnv-gnu +# module load cray-mpich/8.1.27 +# module load craype-accel-amd-gfx90a +# module load amd-mixed/6.0.0 +# module unload darshan-runtime +# +# build info: +# +# EOS: /ccs/home/zingale/Microphysics/EOS/helmholtz +# NETWORK: /ccs/home/zingale/Microphysics/networks/iso7 +# CONDUCTIVITY: /ccs/home/zingale/Microphysics/conductivity/stellar +# INTEGRATOR: RKC +# SCREENING: screen5 +# +# Castro git describe: 24.07 +# AMReX git describe: 24.07-3-g7dc2081a9 +# Microphysics git describe: 24.07-1-g0a96241b + +# nodes rocm mag_grid_size avg time / std dev +# step + 48 6.0 128 54.7583 0.287289 + 64 6.0 128 39.4336 0.32115 + 128 6.0 128 22.8627 0.22725 + 256 6.0 128 12.9558 0.12379 + 512 6.0 128 7.9563 0.104311 +1024 6.0 128 5.65801 0.109306 +2048 6.0 128 4.33241 0.0577508 + +# note the 2048 node run using blocking_factor = 16 + + +# in contrast to the previous run, we've disabled all inlining with +# ROCm to get around some compiler bugs, so that might explain some +# slight slowdown here. + diff --git a/Exec/science/flame_wave/scaling/frontier/frontier_flame_wave_scaling.png b/Exec/science/flame_wave/scaling/frontier/frontier_flame_wave_scaling.png index 17d1a8bca0..c9e6ac439d 100644 Binary files a/Exec/science/flame_wave/scaling/frontier/frontier_flame_wave_scaling.png and b/Exec/science/flame_wave/scaling/frontier/frontier_flame_wave_scaling.png differ diff --git a/Exec/science/flame_wave/scaling/frontier/frontier_flame_wave_scaling_by_gpus.png b/Exec/science/flame_wave/scaling/frontier/frontier_flame_wave_scaling_by_gpus.png deleted file mode 100644 index 18bfa6a5a1..0000000000 Binary files a/Exec/science/flame_wave/scaling/frontier/frontier_flame_wave_scaling_by_gpus.png and /dev/null differ diff --git a/Exec/science/flame_wave/scaling/frontier/frontier_scaling.py b/Exec/science/flame_wave/scaling/frontier/frontier_scaling.py index ac56d1de94..3bb2388a45 100644 --- a/Exec/science/flame_wave/scaling/frontier/frontier_scaling.py +++ b/Exec/science/flame_wave/scaling/frontier/frontier_scaling.py @@ -9,13 +9,13 @@ plt.rc("axes", linewidth=1.5) plt.rc("lines", markeredgewidth=1.5) -frontier_data = np.loadtxt("frontier-scaling-2023-04-06.txt") +frontier_data = np.loadtxt("frontier-scaling-2024-07-04.txt") frontier_nodes = frontier_data[:, 0] frontier_times = frontier_data[:, 3] frontier_std = frontier_data[:, 4] -frontier_rkc_data = np.loadtxt("frontier-scaling-rkc-2023-05-31.txt") +frontier_rkc_data = np.loadtxt("frontier-scaling-rkc-2024-07-04.txt") frontier_rkc_nodes = frontier_rkc_data[:, 0] frontier_rkc_times = frontier_rkc_data[:, 3] @@ -27,6 +27,12 @@ summit_times = summit_data[:, 2] summit_std = summit_data[:, 3] +frontier_bignet_data = np.loadtxt("frontier-scaling-2024-07-04-subch_simple.txt") + +frontier_bignet_nodes = frontier_bignet_data[:, 0] +frontier_bignet_times = frontier_bignet_data[:, 3] +frontier_bignet_std = frontier_bignet_data[:, 4] + def trend_line(c, t): cnew = np.array(sorted(list(set(c)))) @@ -39,43 +45,31 @@ def trend_line(c, t): fig, ax = plt.subplots(1) -ax.errorbar(frontier_nodes, frontier_times, yerr=frontier_std, ls="None", marker="x", label="Frontier (ROCm 5.3)") -ax.errorbar(frontier_rkc_nodes, frontier_rkc_times, yerr=frontier_rkc_std, ls="None", marker="x", label="Frontier (RKC integrator)") -ax.errorbar(summit_nodes, summit_times, yerr=summit_std, ls="None", marker="x", label="Summit (CUDA 11.4)") +ax.errorbar(frontier_nodes, frontier_times, yerr=frontier_std, + ls="None", marker="x", label="Frontier (ROCm 6.0)") +ax.errorbar(frontier_rkc_nodes, frontier_rkc_times, yerr=frontier_rkc_std, + ls="None", marker="x", label="Frontier (ROCm 6.0; RKC integrator)") +ax.errorbar(summit_nodes, summit_times, yerr=summit_std, + ls="None", marker="^", label="Summit (CUDA 11.4)") +ax.errorbar(frontier_bignet_nodes, frontier_bignet_times, yerr=frontier_bignet_std, + ls="None", marker="o", label="Frontier (ROCm 6.0; big network)") c, t = trend_line(frontier_nodes, frontier_times) -ax.plot(c, t, alpha=0.5, linestyle=":") - -ax.set_ylabel("wallclock time / step") -ax.set_xlabel("number of nodes") - -ax.set_xscale("log") -ax.set_yscale("log") - -ax.legend() +ax.plot(c, t, alpha=0.5, linestyle=":", color="k") -fig.savefig("frontier_flame_wave_scaling.png") - - -# now by GPUs - -fig, ax = plt.subplots(1) +c, t = trend_line(frontier_bignet_nodes, frontier_bignet_times) +ax.plot(c, t, alpha=0.5, linestyle=":", color="k") -nfrontier_gpu = 8 -nsummit_gpu = 6 - -ax.errorbar(frontier_nodes * nfrontier_gpu, frontier_times, yerr=frontier_std, ls="None", marker="x", label="Frontier (ROCm 5.3)") -ax.errorbar(summit_nodes * nsummit_gpu, summit_times, yerr=summit_std, ls="None", marker="x", label="Summit (CUDA 11.4)") - -c, t = trend_line(frontier_nodes * nfrontier_gpu, frontier_times) -ax.plot(c, t, alpha=0.5, linestyle=":") ax.set_ylabel("wallclock time / step") -ax.set_xlabel("number of GPUs") +ax.set_xlabel("number of nodes") ax.set_xscale("log") ax.set_yscale("log") ax.legend() -fig.savefig("frontier_flame_wave_scaling_by_gpus.png") +ax.set_title("3D XRB flame scaling") + +fig.tight_layout() +fig.savefig("frontier_flame_wave_scaling.png") diff --git a/Exec/science/nova/problem_initialize_state_data.H b/Exec/science/nova/problem_initialize_state_data.H index 4dea3d43eb..0509d94ad1 100644 --- a/Exec/science/nova/problem_initialize_state_data.H +++ b/Exec/science/nova/problem_initialize_state_data.H @@ -35,7 +35,7 @@ void problem_initialize_state_data (int i, int j, int k, state(i,j,k,URHO) = interpolate(height, model::idens); state(i,j,k,UTEMP) = interpolate(height, model::itemp); for (int n = 0; n < NumSpec; n++) { - state(i,j,k,UFS+n) = amrex::max(interpolate(height, model::ispec+n), small_x); + state(i,j,k,UFS+n) = amrex::max(interpolate(height, model::ispec+n), network_rp::small_x); } // normalize diff --git a/Exec/science/subch_planar/Problem_Derive.cpp b/Exec/science/subch_planar/Problem_Derive.cpp index 2e97187e44..3275166238 100644 --- a/Exec/science/subch_planar/Problem_Derive.cpp +++ b/Exec/science/subch_planar/Problem_Derive.cpp @@ -273,12 +273,15 @@ void ca_dergradpoverp1(const Box& bx, FArrayBox& derfab, int /*dcomp*/, int /*nc Real vm = dat(i,j-1,k,UMY) / dat(i,j-1,k,URHO); Real v0 = dat(i,j,k,UMY) / dat(i,j,k,URHO); + Real du_x{}; + Real dv_y{}; + // construct div{U} if (coord_type == 0) { // Cartesian - div_u += 0.5_rt * (up - um) * dxinv; - div_u += 0.5_rt * (vp - vm) * dyinv; + du_x = 0.5_rt * (up - um) * dxinv; + dv_y = 0.5_rt * (vp - vm) * dyinv; } else if (coord_type == 1) { @@ -287,8 +290,8 @@ void ca_dergradpoverp1(const Box& bx, FArrayBox& derfab, int /*dcomp*/, int /*nc Real rm = (i - 1 + 0.5_rt) * dx[0]; Real rp = (i + 1 + 0.5_rt) * dx[0]; - div_u += 0.5_rt * (rp * up - rm * um) / (rc * dx[0]) + - 0.5_rt * (vp - vm) * dyinv; + du_x = 0.5_rt * (rp * up - rm * um) / (rc * dx[0]); + dv_y = 0.5_rt * (vp - vm) * dyinv; #ifndef AMREX_USE_GPU } else { @@ -296,6 +299,8 @@ void ca_dergradpoverp1(const Box& bx, FArrayBox& derfab, int /*dcomp*/, int /*nc #endif } + div_u = du_x + dv_y; + // we need to compute p in the full stencil Real p_ip1{}; @@ -399,12 +404,12 @@ void ca_dergradpoverp1(const Box& bx, FArrayBox& derfab, int /*dcomp*/, int /*nc Real dP_y = 0.5_rt * (p_jp1 - p_jm1); //Real gradPdx_over_P = std::sqrt(dP_x * dP_x + dP_y * dP_y + dP_z * dP_z) / dat(i,j,k,QPRES); - Real du_x = std::min(up - um, 0.0); - Real dv_y = std::min(vp - vm, 0.0); + Real cdu_x = std::min(du_x, 0.0); + Real cdv_y = std::min(dv_y, 0.0); - Real divu_mag = std::sqrt(du_x * du_x + dv_y * dv_y + 1.e-30); + Real divu_mag = std::sqrt(cdu_x * cdu_x + cdv_y * cdv_y + 1.e-30); - Real gradPdx_over_P = std::abs(dP_x * du_x + dP_y * dv_y) / divu_mag; + Real gradPdx_over_P = std::abs(dP_x * cdu_x + dP_y * cdv_y) / divu_mag; gradPdx_over_P /= p_zone; der(i,j,k,0) = gradPdx_over_P; diff --git a/Exec/science/wdmerger/analysis/slice_grid.py b/Exec/science/wdmerger/analysis/slice_grid.py new file mode 100644 index 0000000000..46aa0c467f --- /dev/null +++ b/Exec/science/wdmerger/analysis/slice_grid.py @@ -0,0 +1,47 @@ +import sys + +import yt +from yt.units import cm + + +def doit(plotfile): + + ds = yt.load(plotfile) + + xmin = ds.domain_left_edge[0] + xmax = ds.domain_right_edge[0] + + ymin = ds.domain_left_edge[1] + ymax = ds.domain_right_edge[1] + + xctr = 0.0 * xmin + L_x = xmax - xmin + + yctr = 0.5 * (ymin + ymax) + L_y = ymax - ymin + + width_frac = 1./3. + + field = "density" + + slc = yt.SlicePlot(ds, "z", field, + center=[xctr, yctr, 0.0*cm], + width=[width_frac*L_x, width_frac*L_y, 0.0*cm], + fontsize=14) + + slc.set_zlim(field, 1.e-4, 5.e7) + + slc.annotate_text((0.05, 0.05), f"time = {float(ds.current_time):8.3f} s", + coord_system="axis", text_args={"color": "white"}) + + slc.set_buff_size((3072, 3072)) + slc.set_axes_unit("cm") + + slc.annotate_grids() + slc.save(f"wdmerger_slice_grid_{plotfile}.png") + + +if __name__ == "__main__": + + pf = sys.argv[-1] + doit(pf) diff --git a/Exec/science/wdmerger/analysis/wdmerger_slice.py b/Exec/science/wdmerger/analysis/wdmerger_slice.py new file mode 100644 index 0000000000..c3635f2252 --- /dev/null +++ b/Exec/science/wdmerger/analysis/wdmerger_slice.py @@ -0,0 +1,80 @@ +import os +import sys +from functools import reduce + +import matplotlib +import matplotlib.pyplot as plt +import numpy as np +from mpl_toolkits.axes_grid1 import ImageGrid + +import yt +from yt.units import cm + +matplotlib.use('agg') + + +def doit(plotfile): + + ds = yt.load(plotfile) + + xmin = ds.domain_left_edge[0] + xmax = ds.domain_right_edge[0] + + ymin = ds.domain_left_edge[1] + ymax = ds.domain_right_edge[1] + + xctr = 0.0 * xmin + L_x = xmax - xmin + + yctr = 0.5 * (ymin + ymax) + L_y = ymax - ymin + + width_frac = 1./3. + + fig = plt.figure() + + fields = ["density", "Temp"] + + grid = ImageGrid(fig, 111, nrows_ncols=(1, len(fields)), + axes_pad=0.75, cbar_pad=0.05, + label_mode="L", cbar_mode="each") + + for i, field in enumerate(fields): + + slc = yt.SlicePlot(ds, "z", field, + center=[xctr, yctr, 0.0*cm], + width=[width_frac*L_x, width_frac*L_y, 0.0*cm], + fontsize=14) + + if field == "Temp": + slc.set_zlim(field, 1.e7, 4e9) + slc.set_cmap(field, "magma") + elif field == "density": + slc.set_zlim(field, 1.e-4, 5.e7) + + slc.set_buff_size((3072, 3072)) + slc.set_axes_unit("cm") + + plot = slc.plots[field] + plot.figure = fig + plot.axes = grid[i].axes + plot.cax = grid.cbar_axes[i] + if i < len(fields)-1: + grid[i].axes.xaxis.offsetText.set_visible(False) + + slc._setup_plots() + + fig.text(0.02, 0.02, "time = {:8.5f} s".format(float(ds.current_time)), transform=fig.transFigure) + + fig.set_size_inches(19.2, 10.8) + plt.tight_layout() + plt.savefig("{}_slice.png".format(os.path.basename(plotfile))) + + + slc.save(f"wdmerger_slice_grid_{plotfile}.png") + + +if __name__ == "__main__": + + pf = sys.argv[-1] + doit(pf) diff --git a/Exec/science/wdmerger/ci-benchmarks/wdmerger_collision_2D.out b/Exec/science/wdmerger/ci-benchmarks/wdmerger_collision_2D.out index e1b92e55b7..6d11ada2e9 100644 --- a/Exec/science/wdmerger/ci-benchmarks/wdmerger_collision_2D.out +++ b/Exec/science/wdmerger/ci-benchmarks/wdmerger_collision_2D.out @@ -8,13 +8,13 @@ rho_E 7.4982062146e+11 5.0669247218e+24 rho_e 7.1077581849e+11 5.0640768325e+24 Temp 242288.68588 1409652233.5 - rho_He4 8.693611703e-17 3.5999032997 + rho_He4 8.693611703e-17 3.5999032981 rho_C12 3.4774446812e-05 7825956.6934 rho_O16 5.2161670217e-05 11739149.75 - rho_Ne20 8.693611703e-17 181951.05685 - rho_Mg24 8.693611703e-17 1192.796965 - rho_Si28 8.693611703e-17 6.691370255 - rho_S32 8.693611703e-17 0.00019493291439 + rho_Ne20 8.693611703e-17 181951.05664 + rho_Mg24 8.693611703e-17 1192.7969626 + rho_Si28 8.693611703e-17 6.6913702458 + rho_S32 8.693611703e-17 0.00019493291444 rho_Ar36 8.693611703e-17 1.9565534609e-05 rho_Ca40 8.693611703e-17 1.9565534331e-05 rho_Ti44 8.693611703e-17 1.9565534308e-05 @@ -25,5 +25,5 @@ grav_x -684991644 -51428.243166 grav_y -739606241.84 739606820.44 grav_z 0 0 - rho_enuc -6.4788917128e+12 7.6429034813e+23 + rho_enuc -1.9506340641e+12 7.6429034765e+23 diff --git a/Exec/science/wdmerger/scaling/frontier/README.md b/Exec/science/wdmerger/scaling/frontier/README.md new file mode 100644 index 0000000000..9a87deebb0 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/README.md @@ -0,0 +1,48 @@ +# wdmerger scaling on Frontier + +This explores a 12.5 km resolution wdmerger simulation using the +Pakmor initial conditions. + +We consider 3 different gridding strategies: + +* 256^3 base + 3 AMR levels, each a jump of 4 + +* 512^3 base + 3 AMR levels with jumps of 4, 4, 2 + +* 1024^3 base + 2 AMR levels with jumps of 4, 4 + +The inputs file here is setup for the 256^3 base. + +We report the total evolution time excluding initialization that is +output by Castro at the end of the run. + +Some general observations: + +* We seem to do well with `max_grid_size` set to 64 or 128, but not 96 + +* At large node counts, it really doesn't matter which of the gridding + strategies we use, since there is plenty of work to go around. The + main consideration would be that the larger coarse grid would make + the plotfiles bigger. + +* We seem to benefit from using `castro.hydro_memory_footprint_ratio=3` + +* There really is no burning yet, since this is early in the + evolution, so we would expect scaling to improve as the stars + interact (more grids) and burning begins (more local work). + +Note that for the 256^3 base grid, on 64 nodes, the grid structure is: + +``` +INITIAL GRIDS + Level 0 512 grids 16777216 cells 100 % of domain + smallest grid: 32 x 32 x 32 biggest grid: 32 x 32 x 32 + Level 1 96 grids 3145728 cells 0.29296875 % of domain + smallest grid: 32 x 32 x 32 biggest grid: 32 x 32 x 32 + Level 2 674 grids 38797312 cells 0.05645751953 % of domain + smallest grid: 32 x 32 x 32 biggest grid: 64 x 32 x 32 + Level 3 7247 grids 1428029440 cells 0.03246963024 % of domain + smallest grid: 32 x 32 x 32 biggest grid: 64 x 64 x 64 +``` + +So only a small amount of the finest grid is refined in this problem. diff --git a/Exec/science/wdmerger/scaling/frontier/frontier-128nodes.slurm b/Exec/science/wdmerger/scaling/frontier/frontier-128nodes.slurm new file mode 100644 index 0000000000..41130fcf01 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier-128nodes.slurm @@ -0,0 +1,72 @@ +#!/bin/bash +#SBATCH -A AST106 +#SBATCH -J wdmerger_128nodes +#SBATCH -o %x-%j.out +#SBATCH -t 00:30:00 +#SBATCH -p batch +# here N is the number of compute nodes +#SBATCH -N 128 +#SBATCH --ntasks-per-node=8 +#SBATCH --cpus-per-task=7 +#SBATCH --gpus-per-task=1 +#SBATCH --gpu-bind=closest + +EXEC=./Castro3d.hip.x86-trento.MPI.HIP.ex +INPUTS=inputs_scaling + +module load PrgEnv-gnu +module load cray-mpich/8.1.27 +module load craype-accel-amd-gfx90a +module load amd-mixed/6.0.0 +module unload darshan-runtime + +function find_chk_file { + # find_chk_file takes a single argument -- the wildcard pattern + # for checkpoint files to look through + chk=$1 + + # find the latest 2 restart files. This way if the latest didn't + # complete we fall back to the previous one. + temp_files=$(find . -maxdepth 1 -name "${chk}" -print | sort | tail -2) + restartFile="" + for f in ${temp_files} + do + # the Header is the last thing written -- check if it's there, otherwise, + # fall back to the second-to-last check file written + if [ ! -f ${f}/Header ]; then + restartFile="" + else + restartFile="${f}" + fi + done + +} + +# look for 7-digit chk files +find_chk_file "*chk???????" + +if [ "${restartFile}" = "" ]; then + # look for 6-digit chk files + find_chk_file "*chk??????" +fi + +if [ "${restartFile}" = "" ]; then + # look for 5-digit chk files + find_chk_file "*chk?????" +fi + +# restartString will be empty if no chk files are found -- i.e. new run +if [ "${restartFile}" = "" ]; then + restartString="" +else + restartString="amr.restart=${restartFile}" +fi + +export OMP_NUM_THREADS=1 +export NMPI_PER_NODE=8 +export TOTAL_NMPI=$(( ${SLURM_JOB_NUM_NODES} * ${NMPI_PER_NODE} )) + +srun -n${TOTAL_NMPI} -N${SLURM_JOB_NUM_NODES} --ntasks-per-node=8 --gpus-per-task=1 ./$EXEC $INPUTS ${restartString} + + + diff --git a/Exec/science/wdmerger/scaling/frontier/frontier-16nodes.slurm b/Exec/science/wdmerger/scaling/frontier/frontier-16nodes.slurm new file mode 100644 index 0000000000..09a4e247af --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier-16nodes.slurm @@ -0,0 +1,72 @@ +#!/bin/bash +#SBATCH -A AST106 +#SBATCH -J wdmerger_16nodes +#SBATCH -o %x-%j.out +#SBATCH -t 01:20:00 +#SBATCH -p batch +# here N is the number of compute nodes +#SBATCH -N 16 +#SBATCH --ntasks-per-node=8 +#SBATCH --cpus-per-task=7 +#SBATCH --gpus-per-task=1 +#SBATCH --gpu-bind=closest + +EXEC=./Castro3d.hip.x86-trento.MPI.HIP.ex +INPUTS=inputs_scaling + +module load PrgEnv-gnu +module load cray-mpich/8.1.27 +module load craype-accel-amd-gfx90a +module load amd-mixed/6.0.0 +module unload darshan-runtime + +function find_chk_file { + # find_chk_file takes a single argument -- the wildcard pattern + # for checkpoint files to look through + chk=$1 + + # find the latest 2 restart files. This way if the latest didn't + # complete we fall back to the previous one. + temp_files=$(find . -maxdepth 1 -name "${chk}" -print | sort | tail -2) + restartFile="" + for f in ${temp_files} + do + # the Header is the last thing written -- check if it's there, otherwise, + # fall back to the second-to-last check file written + if [ ! -f ${f}/Header ]; then + restartFile="" + else + restartFile="${f}" + fi + done + +} + +# look for 7-digit chk files +find_chk_file "*chk???????" + +if [ "${restartFile}" = "" ]; then + # look for 6-digit chk files + find_chk_file "*chk??????" +fi + +if [ "${restartFile}" = "" ]; then + # look for 5-digit chk files + find_chk_file "*chk?????" +fi + +# restartString will be empty if no chk files are found -- i.e. new run +if [ "${restartFile}" = "" ]; then + restartString="" +else + restartString="amr.restart=${restartFile}" +fi + +export OMP_NUM_THREADS=1 +export NMPI_PER_NODE=8 +export TOTAL_NMPI=$(( ${SLURM_JOB_NUM_NODES} * ${NMPI_PER_NODE} )) + +srun -n${TOTAL_NMPI} -N${SLURM_JOB_NUM_NODES} --ntasks-per-node=8 --gpus-per-task=1 ./$EXEC $INPUTS ${restartString} + + + diff --git a/Exec/science/wdmerger/scaling/frontier/frontier-256nodes.slurm b/Exec/science/wdmerger/scaling/frontier/frontier-256nodes.slurm new file mode 100644 index 0000000000..1a56884a71 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier-256nodes.slurm @@ -0,0 +1,72 @@ +#!/bin/bash +#SBATCH -A AST106 +#SBATCH -J wdmerger_256nodes +#SBATCH -o %x-%j.out +#SBATCH -t 00:30:00 +#SBATCH -p batch +# here N is the number of compute nodes +#SBATCH -N 256 +#SBATCH --ntasks-per-node=8 +#SBATCH --cpus-per-task=7 +#SBATCH --gpus-per-task=1 +#SBATCH --gpu-bind=closest + +EXEC=./Castro3d.hip.x86-trento.MPI.HIP.ex +INPUTS=inputs_scaling + +module load PrgEnv-gnu +module load cray-mpich/8.1.27 +module load craype-accel-amd-gfx90a +module load amd-mixed/6.0.0 +module unload darshan-runtime + +function find_chk_file { + # find_chk_file takes a single argument -- the wildcard pattern + # for checkpoint files to look through + chk=$1 + + # find the latest 2 restart files. This way if the latest didn't + # complete we fall back to the previous one. + temp_files=$(find . -maxdepth 1 -name "${chk}" -print | sort | tail -2) + restartFile="" + for f in ${temp_files} + do + # the Header is the last thing written -- check if it's there, otherwise, + # fall back to the second-to-last check file written + if [ ! -f ${f}/Header ]; then + restartFile="" + else + restartFile="${f}" + fi + done + +} + +# look for 7-digit chk files +find_chk_file "*chk???????" + +if [ "${restartFile}" = "" ]; then + # look for 6-digit chk files + find_chk_file "*chk??????" +fi + +if [ "${restartFile}" = "" ]; then + # look for 5-digit chk files + find_chk_file "*chk?????" +fi + +# restartString will be empty if no chk files are found -- i.e. new run +if [ "${restartFile}" = "" ]; then + restartString="" +else + restartString="amr.restart=${restartFile}" +fi + +export OMP_NUM_THREADS=1 +export NMPI_PER_NODE=8 +export TOTAL_NMPI=$(( ${SLURM_JOB_NUM_NODES} * ${NMPI_PER_NODE} )) + +srun -n${TOTAL_NMPI} -N${SLURM_JOB_NUM_NODES} --ntasks-per-node=8 --gpus-per-task=1 ./$EXEC $INPUTS ${restartString} + + + diff --git a/Exec/science/wdmerger/scaling/frontier/frontier-32nodes.slurm b/Exec/science/wdmerger/scaling/frontier/frontier-32nodes.slurm new file mode 100644 index 0000000000..82488ef037 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier-32nodes.slurm @@ -0,0 +1,72 @@ +#!/bin/bash +#SBATCH -A AST106 +#SBATCH -J wdmerger_32nodes +#SBATCH -o %x-%j.out +#SBATCH -t 00:30:00 +#SBATCH -p batch +# here N is the number of compute nodes +#SBATCH -N 32 +#SBATCH --ntasks-per-node=8 +#SBATCH --cpus-per-task=7 +#SBATCH --gpus-per-task=1 +#SBATCH --gpu-bind=closest + +EXEC=./Castro3d.hip.x86-trento.MPI.HIP.ex +INPUTS=inputs_scaling + +module load PrgEnv-gnu +module load cray-mpich/8.1.27 +module load craype-accel-amd-gfx90a +module load amd-mixed/6.0.0 +module unload darshan-runtime + +function find_chk_file { + # find_chk_file takes a single argument -- the wildcard pattern + # for checkpoint files to look through + chk=$1 + + # find the latest 2 restart files. This way if the latest didn't + # complete we fall back to the previous one. + temp_files=$(find . -maxdepth 1 -name "${chk}" -print | sort | tail -2) + restartFile="" + for f in ${temp_files} + do + # the Header is the last thing written -- check if it's there, otherwise, + # fall back to the second-to-last check file written + if [ ! -f ${f}/Header ]; then + restartFile="" + else + restartFile="${f}" + fi + done + +} + +# look for 7-digit chk files +find_chk_file "*chk???????" + +if [ "${restartFile}" = "" ]; then + # look for 6-digit chk files + find_chk_file "*chk??????" +fi + +if [ "${restartFile}" = "" ]; then + # look for 5-digit chk files + find_chk_file "*chk?????" +fi + +# restartString will be empty if no chk files are found -- i.e. new run +if [ "${restartFile}" = "" ]; then + restartString="" +else + restartString="amr.restart=${restartFile}" +fi + +export OMP_NUM_THREADS=1 +export NMPI_PER_NODE=8 +export TOTAL_NMPI=$(( ${SLURM_JOB_NUM_NODES} * ${NMPI_PER_NODE} )) + +srun -n${TOTAL_NMPI} -N${SLURM_JOB_NUM_NODES} --ntasks-per-node=8 --gpus-per-task=1 ./$EXEC $INPUTS ${restartString} + + + diff --git a/Exec/science/wdmerger/scaling/frontier/frontier-512nodes.slurm b/Exec/science/wdmerger/scaling/frontier/frontier-512nodes.slurm new file mode 100644 index 0000000000..025d60b7b5 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier-512nodes.slurm @@ -0,0 +1,72 @@ +#!/bin/bash +#SBATCH -A AST106 +#SBATCH -J wdmerger_512nodes +#SBATCH -o %x-%j.out +#SBATCH -t 00:30:00 +#SBATCH -p batch +# here N is the number of compute nodes +#SBATCH -N 512 +#SBATCH --ntasks-per-node=8 +#SBATCH --cpus-per-task=7 +#SBATCH --gpus-per-task=1 +#SBATCH --gpu-bind=closest + +EXEC=./Castro3d.hip.x86-trento.MPI.HIP.ex +INPUTS=inputs_scaling + +module load PrgEnv-gnu +module load cray-mpich/8.1.27 +module load craype-accel-amd-gfx90a +module load amd-mixed/6.0.0 +module unload darshan-runtime + +function find_chk_file { + # find_chk_file takes a single argument -- the wildcard pattern + # for checkpoint files to look through + chk=$1 + + # find the latest 2 restart files. This way if the latest didn't + # complete we fall back to the previous one. + temp_files=$(find . -maxdepth 1 -name "${chk}" -print | sort | tail -2) + restartFile="" + for f in ${temp_files} + do + # the Header is the last thing written -- check if it's there, otherwise, + # fall back to the second-to-last check file written + if [ ! -f ${f}/Header ]; then + restartFile="" + else + restartFile="${f}" + fi + done + +} + +# look for 7-digit chk files +find_chk_file "*chk???????" + +if [ "${restartFile}" = "" ]; then + # look for 6-digit chk files + find_chk_file "*chk??????" +fi + +if [ "${restartFile}" = "" ]; then + # look for 5-digit chk files + find_chk_file "*chk?????" +fi + +# restartString will be empty if no chk files are found -- i.e. new run +if [ "${restartFile}" = "" ]; then + restartString="" +else + restartString="amr.restart=${restartFile}" +fi + +export OMP_NUM_THREADS=1 +export NMPI_PER_NODE=8 +export TOTAL_NMPI=$(( ${SLURM_JOB_NUM_NODES} * ${NMPI_PER_NODE} )) + +srun -n${TOTAL_NMPI} -N${SLURM_JOB_NUM_NODES} --ntasks-per-node=8 --gpus-per-task=1 ./$EXEC $INPUTS ${restartString} + + + diff --git a/Exec/science/wdmerger/scaling/frontier/frontier-64nodes.slurm b/Exec/science/wdmerger/scaling/frontier/frontier-64nodes.slurm new file mode 100644 index 0000000000..85d9ce705b --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier-64nodes.slurm @@ -0,0 +1,72 @@ +#!/bin/bash +#SBATCH -A AST106 +#SBATCH -J wdmerger_64nodes +#SBATCH -o %x-%j.out +#SBATCH -t 00:30:00 +#SBATCH -p batch +# here N is the number of compute nodes +#SBATCH -N 64 +#SBATCH --ntasks-per-node=8 +#SBATCH --cpus-per-task=7 +#SBATCH --gpus-per-task=1 +#SBATCH --gpu-bind=closest + +EXEC=./Castro3d.hip.x86-trento.MPI.HIP.ex +INPUTS=inputs_scaling + +module load PrgEnv-gnu +module load cray-mpich/8.1.27 +module load craype-accel-amd-gfx90a +module load amd-mixed/6.0.0 +module unload darshan-runtime + +function find_chk_file { + # find_chk_file takes a single argument -- the wildcard pattern + # for checkpoint files to look through + chk=$1 + + # find the latest 2 restart files. This way if the latest didn't + # complete we fall back to the previous one. + temp_files=$(find . -maxdepth 1 -name "${chk}" -print | sort | tail -2) + restartFile="" + for f in ${temp_files} + do + # the Header is the last thing written -- check if it's there, otherwise, + # fall back to the second-to-last check file written + if [ ! -f ${f}/Header ]; then + restartFile="" + else + restartFile="${f}" + fi + done + +} + +# look for 7-digit chk files +find_chk_file "*chk???????" + +if [ "${restartFile}" = "" ]; then + # look for 6-digit chk files + find_chk_file "*chk??????" +fi + +if [ "${restartFile}" = "" ]; then + # look for 5-digit chk files + find_chk_file "*chk?????" +fi + +# restartString will be empty if no chk files are found -- i.e. new run +if [ "${restartFile}" = "" ]; then + restartString="" +else + restartString="amr.restart=${restartFile}" +fi + +export OMP_NUM_THREADS=1 +export NMPI_PER_NODE=8 +export TOTAL_NMPI=$(( ${SLURM_JOB_NUM_NODES} * ${NMPI_PER_NODE} )) + +srun -n${TOTAL_NMPI} -N${SLURM_JOB_NUM_NODES} --ntasks-per-node=8 --gpus-per-task=1 ./$EXEC $INPUTS ${restartString} + + + diff --git a/Exec/science/wdmerger/scaling/frontier/frontier_1024base_20240709.txt b/Exec/science/wdmerger/scaling/frontier/frontier_1024base_20240709.txt new file mode 100644 index 0000000000..7ef90464e6 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier_1024base_20240709.txt @@ -0,0 +1,22 @@ +# Run with ROCm 6.0 and: +# +# EOS: /ccs/home/zingale/Microphysics/EOS/helmholtz +# NETWORK: /ccs/home/zingale/Microphysics/networks/subch_simple +# INTEGRATOR: VODE +# SCREENING: screen5 +# +# Castro git describe: 24.06-16-g830d937a6 +# AMReX git describe: 24.06-21-g259db7cfb +# Microphysics git describe: 24.06-30-g134200e7 +# +# this uses a coarse grid of 1024^3 and: +# amr.max_level = 2 +# amr.ref_ratio = 4 4 +# +# nodes mgs=64 mgs=96 mgs=128 mgs=64/footprint=3 + 16 2147.053162 1675.331765 1740.636312 1778.574737 + 32 956.1554475 984.2968504 931.3916399 919.122039 + 64 564.2893014 645.3803626 570.8522676 512.6902792 + 128 371.3067169 491.739618 407.0323314 317.8378405 + 256 283.3819859 381.9738402 374.5512442 216.87873 + 512 240.9534923 376.2960866 205.5138579 174.7229814 diff --git a/Exec/science/wdmerger/scaling/frontier/frontier_256base_20240709.txt b/Exec/science/wdmerger/scaling/frontier/frontier_256base_20240709.txt new file mode 100644 index 0000000000..89210e7539 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier_256base_20240709.txt @@ -0,0 +1,22 @@ +# Run with ROCm 6.0 and: +# +# EOS: /ccs/home/zingale/Microphysics/EOS/helmholtz +# NETWORK: /ccs/home/zingale/Microphysics/networks/subch_simple +# INTEGRATOR: VODE +# SCREENING: screen5 +# +# Castro git describe: 24.06-16-g830d937a6 +# AMReX git describe: 24.06-21-g259db7cfb +# Microphysics git describe: 24.06-30-g134200e7 +# +# this uses a coarse grid of 256^3 and: +# amr.max_level = 3 +# amr.ref_ratio = 4 4 4 +# +# nodes mgs=64 mgs=96 mgs=128 mgs=64/footprint=3 + 16 3113.728109 1427.961211 1172.233403 1587.513124 + 32 669.0471158 848.7207989 698.5210431 626.5812503 + 64 404.6151035 583.2284754 433.2107803 377.6227032 + 128 272.9040553 491.2785887 338.5415379 246.6334284 + 256 210.2009386 442.7161572 327.9919688 182.2869616 + 512 198.9984347 442.3824775 190.1068867 152.5701047 diff --git a/Exec/science/wdmerger/scaling/frontier/frontier_512base_20240709.txt b/Exec/science/wdmerger/scaling/frontier/frontier_512base_20240709.txt new file mode 100644 index 0000000000..86c0e30d58 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier_512base_20240709.txt @@ -0,0 +1,22 @@ +# Run with ROCm 6.0 and: +# +# EOS: /ccs/home/zingale/Microphysics/EOS/helmholtz +# NETWORK: /ccs/home/zingale/Microphysics/networks/subch_simple +# INTEGRATOR: VODE +# SCREENING: screen5 +# +# Castro git describe: 24.06-16-g830d937a6 +# AMReX git describe: 24.06-21-g259db7cfb +# Microphysics git describe: 24.06-30-g134200e7 +# +# this uses a coarse grid of 512^3 and: +# amr.max_level = 3 +# amr.ref_ratio = 4 4 2 +# +# nodes mgs=64 mgs=96 mgs=128 mgs=64/footprint=3 + 16 1765.994371 1691.704469 1452.086917 1487.079767 + 32 1201.902236 1005.081075 964.1964439 855.2325778 + 64 842.8128873 696.4877074 568.8999156 520.618414 + 128 466.4414552 593.5218413 387.8753919 312.2481499 + 256 235.6338158 523.2295471 395.6226178 200.3649345 + 512 211.1232539 491.9730412 224.1238711 160.1880035 diff --git a/Exec/science/wdmerger/scaling/frontier/frontier_scaling.py b/Exec/science/wdmerger/scaling/frontier/frontier_scaling.py new file mode 100644 index 0000000000..604a06badc --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/frontier_scaling.py @@ -0,0 +1,54 @@ +import matplotlib.pyplot as plt +import matplotlib.ticker as mticker +import numpy as np + +plt.rcParams.update({'xtick.labelsize': 10, + 'ytick.labelsize': 10, + 'font.size': 12}) + +plt.rc("axes", linewidth=1.5) +plt.rc("lines", markeredgewidth=1.5) + +frontier_256base_data = np.loadtxt("frontier_256base_20240709.txt") +frontier_256base_nodes = frontier_256base_data[:, 0] +frontier_256base_times = frontier_256base_data[:, 4] + +frontier_512base_data = np.loadtxt("frontier_512base_20240709.txt") +frontier_512base_nodes = frontier_512base_data[:, 0] +frontier_512base_times = frontier_512base_data[:, 4] + +frontier_1024base_data = np.loadtxt("frontier_1024base_20240709.txt") +frontier_1024base_nodes = frontier_1024base_data[:, 0] +frontier_1024base_times = frontier_1024base_data[:, 4] + + +def trend_line(c, t): + cnew = np.array(sorted(list(set(c)))) + cnew = np.linspace(cnew.min(), cnew.max(), 256, endpoint=True) + trend = t[0]*c[0]/cnew[:] + return cnew, trend + + +# first by nodes + +fig, ax = plt.subplots(1) + +ax.plot(frontier_256base_nodes, frontier_256base_times, ls="None", marker="x", label="$256^3$ coarse grid") +ax.plot(frontier_512base_nodes, frontier_512base_times, ls="None", marker="x", label="$512^3$ coarse grid") +ax.plot(frontier_1024base_nodes, frontier_1024base_times, ls="None", marker="x", label="$1024^3$ coarse grid") + +c, t = trend_line(frontier_256base_nodes, frontier_256base_times) +ax.plot(c, t, alpha=0.5, linestyle=":", color="k") + +ax.set_ylabel("wallclock time") +ax.set_xlabel("number of nodes") + +ax.set_xscale("log") +ax.set_yscale("log") + +ax.set_title("3D wdmerger scaling (Frontier)") + +ax.legend() + +fig.tight_layout() +fig.savefig("frontier_wdmerger.png") diff --git a/Exec/science/wdmerger/scaling/frontier/frontier_wdmerger.png b/Exec/science/wdmerger/scaling/frontier/frontier_wdmerger.png new file mode 100644 index 0000000000..1886d7707d Binary files /dev/null and b/Exec/science/wdmerger/scaling/frontier/frontier_wdmerger.png differ diff --git a/Exec/science/wdmerger/scaling/frontier/inputs_scaling b/Exec/science/wdmerger/scaling/frontier/inputs_scaling new file mode 100644 index 0000000000..90efeaaf07 --- /dev/null +++ b/Exec/science/wdmerger/scaling/frontier/inputs_scaling @@ -0,0 +1,462 @@ +## Latest inputs file being used to reproduce initial conditions from Pakmor et al. 2022 +## with 100 km resolution using for scaling + +############################## CASTRO INPUTS ############################################### + +############################################################################################ +# Geometry +############################################################################################ + +# Non-periodic boundary conditions +geometry.is_periodic = 0 0 0 + +#if AMREX_SPACEDIM == 3 + + # Cartesian coordinate system + geometry.coord_sys = 0 + + # Lower boundary limits in physical space + geometry.prob_lo = -1.024e10 -1.024e10 -1.024e10 + +#elif AMREX_SPACEDIM == 2 + + # Cartesian coordinate system + geometry.coord_sys = 1 + + # Lower boundary limits in physical space + geometry.prob_lo = 0.0e0 -5.12e9 + +#endif + +# Upper boundary limits in physical space +geometry.prob_hi = 1.024e10 1.024e10 1.024e10 + +############################################################################################ +# Boundary conditions +# 0 = Interior 3 = Symmetry +# 1 = Inflow 4 = SlipWall +# 2 = Outflow 5 = NoSlipWall +############################################################################################ + +#if AMREX_SPACEDIM == 3 + + # Boundary conditions on lo x, y, and z edges + castro.lo_bc = 2 2 2 + +#elif AMREX_SPACEDIM == 2 + + # Boundary conditions on lo x, y, and z edges + castro.lo_bc = 3 2 + +#endif + +# Boundary conditions on hi x, y, and z edges +castro.hi_bc = 2 2 2 + +############################################################################################ +# Timestepping +############################################################################################ + +# Maximum number of level 0 steps +max_step = 10000000 + +# Simulation end time +stop_time = 0.2 + +# CFL number for hyperbolic system +castro.cfl = 0.5 + +# Fixed level 0 timestep; unused if < 0 +castro.fixed_dt = -1.0 + +# Scale back initial timestep by this factor +castro.init_shrink = 1.0 + +# Factor by which dt is allowed to change each timestep +castro.change_max = 1.3 + +# If we regrid on Level 0, compute a new timestep afterward +amr.compute_new_dt_on_regrid = 1 + +# Use a retry if an advance violated our stability criteria +castro.use_retry = 1 + +# Skip retries for small density if the starting density was less than this threshold +castro.retry_small_density_cutoff = 1.0e0 + +# Don't abort for invalid X if the zone density is less than this threshold +castro.abundance_failure_rho_cutoff = 1.0e0 + +# Maximum number of subcycles +# Default is 10, 16 is recommended value +castro.max_subcycles = 16 + + +############################################################################################ +# Resolution, gridding and AMR +############################################################################################ + +#if AMREX_SPACEDIM == 3 + + # Number of cells on the coarse grid + amr.n_cell = 256 256 256 + +#elif AMREX_SPACEDIM == 2 + + # Number of cells on the coarse grid + amr.n_cell = 128 256 + +#endif + +# Maximum level number allowed +amr.max_level = 3 + +# Refinement ratio +amr.ref_ratio = 4 4 4 4 + +# How many coarse timesteps between regridding +amr.regrid_int = 2 + +# Allow special regrids based on stability criteria +castro.use_post_step_regrid = 0 + +# Number of buffer cells in error estimation +amr.n_error_buf = 2 2 2 2 2 2 2 2 2 2 + +# Maximum grid size at each level +amr.max_grid_size = 64 + +# Grid sizes must be a multiple of blocking factor +amr.blocking_factor = 32 + +# What constitutes an efficient grid +amr.grid_eff = 0.9 + +# Order of reconstruction for interpolation +castro.state_interp_order = 0 + +# Limiting on state data interpolation (preserve linear combinations) +castro.lin_limit_state_interp = 1 + +# Add refinement indicators +amr.refinement_indicators = density density2 temperature + +# Density refinement criterion +amr.refine.density.value_greater = 1.0e0 +amr.refine.density.field_name = density +amr.refine.density.max_level = 1 + +# Density2 refinement criterion +amr.refine.density2.value_greater = 1.0e4 +amr.refine.density2.field_name = density +amr.refine.density2.max_level = 20 + +# Temperature refinement criterion +amr.refine.temperature.value_greater = 3.0e8 +amr.refine.temperature.field_name = Temp +amr.refine.temperature.max_level = 3 + +# Avoid tagging near the domain boundary +castro.max_tagging_radius = 0.75e0 + +# Whether or not to use AMR subcycling +amr.subcycling_mode = None + +# GPU option +castro.hydro_memory_footprint_ratio = 3 + +############################################################################################ +# Physics to include +############################################################################################ + +# Whether or not to do hydrodynamics +castro.do_hydro = 1 + +# Whether or not to do gravity +castro.do_grav = 1 + +# Whether or not to do reactions +castro.do_react = 1 + +# Whether or not to apply the sponge +castro.do_sponge = 1 + +# Whether or not to apply external source terms +castro.add_ext_src = 1 +castro.ext_src_implicit = 1 + +# Whether or not to include the rotation source term +castro.do_rotation = 1 + +############################################################################################ +# PPM/Hydro options +############################################################################################ + +# Piecewise parabolic with the original limiters (0 is piecewise linear; 2 is new limiters) +castro.ppm_type = 1 + +# Use the EOS in calculation of the edge states going into the Riemann solver +castro.ppm_temp_fix = 0 + +# Which Riemann solver to use. +# 0 = Colella, Glaz, and Ferguson (cheaper, less accurate) +# 1 = Colella and Glaz 1985 (more expensive, more accurate) +# 2 = HLL +castro.riemann_solver = 0 + +# For the CG Riemann solver, we need to tell the solver not to quit when +# the iterations don't converge, but instead to do additional bisection iteration. +castro.riemann_cg_blend = 2 + +# Use a lagged predictor estimate of the source terms in the hydro +castro.source_term_predictor = 1 + +# Whether to use the hybrid advection technique that conserves angular momentum +castro.hybrid_hydro = 0 + +# Reset (rho*e) if it goes negative in the transverse terms +castro.transverse_reset_rhoe = 1 + +# Reset rho if it goes negative in the transverse terms +castro.transverse_reset_density = 1 + +# Explicitly limit fluxes to avoid hitting a negative density +castro.limit_fluxes_on_small_dens = 1 + +# Set global simulation speed limit +castro.speed_limit = 1.498962290e9 # 0.05c + +############################################################################################ +# Thermodynamics +############################################################################################ + +# Minimum allowable temperature (K) +castro.small_temp = 1.e5 + +# Minimum allowable density (g / cm**3) +castro.small_dens = 1.e-5 + +# Threshold for when to use the internal energy in calculating pressure +castro.dual_energy_eta1 = 1.0e-3 + +# Threshold for when to use (E - K) in updating internal energy +castro.dual_energy_eta2 = 1.0e-4 + +# Use Coulomb corrections in Helmholtz EOS +eos.use_eos_coulomb = 1 + +# Keep EOS inputs constant after EOS evaluation +eos.eos_input_is_constant = 1 + +# Ambient temperature (K) +castro.ambient_temp = 1.0e7 + +# Ambient density (g / cm**3) +castro.ambient_density = 1.0e-4 + +# Clamp temperature in ambient zones to its initial value +castro.clamp_ambient_temp = 1 + +############################################################################################ +# Reactions/Network +############################################################################################ + +# Limit timestep based on nuclear burning considerations (changes in internal energy) +castro.dtnuc_e = 1.e200 + +#Limit timestep based on nuclear burning considerations (changes in species) +castro.dtnuc_X = 1.e200 + +# Minimum temperature for allowing nuclear burning +castro.react_T_min = 1.0e8 + +# Maximum temperature for allowing nuclear burning +castro.react_T_max = 1.0e12 + +# Minimum density for allowing nuclear burning +castro.react_rho_min = 1.0e6 + +# Maximum density for allowing nuclear burning +castro.react_rho_max = 1.0e12 + +# Smallest allowable mass fraction +network.small_x = 1.0e-12 + +# Evaluate the RHS during the burn +integrator.call_eos_in_rhs = 1 + +# Integration tolerances +integrator.rtol_spec = 1.0e-6 +integrator.atol_spec = 1.0e-6 + +integrator.rtol_enuc = 1.0e-6 +integrator.atol_enuc = 1.0e-6 + +# Do not abort or retry on a failed burn (Castro will handle this) +integrator.abort_on_failure = 0 + +# Renormalize abundances during the burn +integrator.renormalize_abundances = 1 + +# Maximum temperature allowed in the burn +integrator.MAX_TEMP = 1.0e10 + +# Use tabular rate evaluation when available +network.use_tables = 1 + +############################################################################################ +# Gravity +############################################################################################ + +# Full self-gravity with the Poisson equation +gravity.gravity_type = PoissonGrav + +# Multipole expansion includes terms up to r**(-max_multipole_order) +gravity.max_multipole_order = 6 + +# Tolerance for multigrid solver for phi solves +gravity.abs_tol = 1.e-10 + +# Use sync solve for gravity after refluxing +gravity.no_sync = 0 + +# Disable the use of the lagged composite correction for the potential +gravity.do_composite_phi_correction = 0 + +############################################################################################ +# Rotation +############################################################################################ + +# Rotational period of the rotating reference frame +castro.rotational_period = 100.0 + +############################################################################################ +# Sponge +############################################################################################ + +castro.sponge_lower_density = 1.0e0 +castro.sponge_upper_density = 1.0e0 +castro.sponge_timescale = 0.01e0 + +############################################################################################ +# Load balancing +############################################################################################ + +# Choice of load balancing strategy to use +DistributionMapping.strategy = KNAPSACK + +# Efficiency demanded from the knapsack algorithm +DistributionMapping.efficiency = 0.9 + +############################################################################################ +# Diagnostics and I/O +############################################################################################ + +# Timesteps between computing and printing volume averaged diagnostic quantities +castro.sum_interval = 0 + +# Simulation time between computing and printing volume averaged diagnostic quantities +castro.sum_per = -1.0 + +# Gravitational wave strain observation distance +castro.gw_dist = 10.0 + +# Name the job +castro.job_name = wdmerger + +# Whether or not to output plotfiles +amr.plot_files_output = 0 + +# Whether or not to output checkpoints +amr.checkpoint_files_output = 0 + +# Root name of checkpoint files +amr.check_file = chk + +# We want to store the 'old' state data in checkpoints +castro.dump_old = 1 + +# Simulation time between checkpoints +amr.check_per = 0.1 + +# Number of timesteps between checkpoints +amr.check_int = 20 + +# Root name of plot files +amr.plot_file = plt + +# Simulation time between plotfiles +amr.plot_per = -1 + +# Number of timesteps between plotfiles +#amr.plot_int = -1 + +# Root name of small plot files +amr.small_plot_file = smallplt + +# Simulation time between small plotfiles +amr.small_plot_per = -1 + +# Number of timesteps between small plotfiles +amr.small_plot_int = -1 + +# Do not write plotfiles when we dump checkpoints +amr.write_plotfile_with_checkpoint = 0 + +# Write final checkpoint/plotfile +castro.output_at_completion = 1 + +# Do not write a plotfile or checkpoint on restart +amr.plotfile_on_restart = 1 +amr.checkpoint_on_restart = 1 + +# Control verbosity in Amr.cpp +amr.v = 1 + +# Control verbosity in Castro.cpp +castro.v = 1 + +# Control verbosity in Gravity.cpp +gravity.v = 1 + +# State variables to add to plot files +amr.plot_vars = NONE + +# Derived variables to add to plot files +amr.derive_plot_vars = NONE + +# State variables to add to small plot files +amr.small_plot_vars = NONE + +# Derived variables to add to small plot files +amr.derive_small_plot_vars = NONE + +# Name of the diagnostic sum output files +#amr.data_log = NONE + +############################################################################################ +# Problem parameters +############################################################################################ + +problem.mass_P = 1.05 +problem.mass_S = 0.70 + +problem.co_wd_c_frac = 0.5 +problem.co_wd_o_frac = 0.5 +problem.co_wd_he_shell_mass = 0.03 + +problem.max_co_wd_mass = 1.50 + +problem.nsub = 4 + +problem.problem = 1 + +problem.roche_radius_factor = 1.0e0 + +problem.interp_temp = 1 + +problem.relaxation_damping_factor = -1.0e-1 +problem.relaxation_density_cutoff = 1.0e3 +problem.relaxation_cutoff_time = -1.0e0 + +problem.stellar_temp = 5.0e5 diff --git a/Exec/science/xrb_layered/toy_atm_hot_carbon_3cm.hse b/Exec/science/xrb_layered/toy_atm_hot_carbon_3cm.hse new file mode 100644 index 0000000000..a9abdfc545 --- /dev/null +++ b/Exec/science/xrb_layered/toy_atm_hot_carbon_3cm.hse @@ -0,0 +1,1050 @@ +# npts = 1024 +# num of variables = 24 +# density +# temperature +# pressure +# hydrogen-1 +# helium-4 +# carbon-12 +# carbon-13 +# nitrogen-13 +# nitrogen-14 +# nitrogen-15 +# oxygen-14 +# oxygen-15 +# oxygen-16 +# oxygen-17 +# oxygen-18 +# fluorine-17 +# fluorine-18 +# fluorine-19 +# neon-18 +# neon-19 +# neon-20 +# magnesium-22 +# magnesium-24 +# iron-56 + 1.5 12023043.0457 100000000 9.47083557764e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 4.5 11982290.0518 100000000 9.42438525809e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 7.5 11941617.9174 100000000 9.37809249617e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 10.5 11901026.5836 100000000 9.33195697907e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 13.5 11860515.99 100000000 9.28597839419e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 16.5 11820086.0744 100000000 9.24015642919e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 19.5 11779736.7731 100000000 9.19449077198e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 22.5 11739468.0211 100000000 9.1489811107e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 25.5 11699279.7525 100000000 9.10362713376e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 28.5 11659171.9002 100000000 9.05842852981e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 31.5 11619144.3964 100000000 9.01338498778e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 34.5 11579197.1728 100000000 8.96849619684e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 37.5 11539330.1605 100000000 8.92376184645e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 40.5 11499543.2903 100000000 8.87918162633e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 43.5 11459836.4929 100000000 8.83475522645e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 46.5 11420209.6989 100000000 8.79048233707e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 49.5 11380662.8389 100000000 8.7463626487e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 52.5 11341195.8439 100000000 8.70239585215e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 55.5 11301808.6449 100000000 8.65858163847e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 58.5 11262501.1735 100000000 8.61491969897e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 61.5 11223273.3619 100000000 8.57140972524e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 64.5 11184125.1427 100000000 8.52805140914e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 67.5 11145056.4494 100000000 8.48484444276e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 70.5 11106067.2161 100000000 8.44178851846e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 73.5 11067157.3779 100000000 8.39888332887e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 76.5 11028326.8708 100000000 8.35612856685e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 79.5 10989575.632 100000000 8.31352392551e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 82.5 10950903.5995 100000000 8.2710690982e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 85.5 10912310.7127 100000000 8.2287637785e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 88.5 10873796.912 100000000 8.18660766025e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 91.5 10835362.1392 100000000 8.14460043749e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 94.5 10797006.3375 100000000 8.10274180448e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 97.5 10758729.4194 100000000 8.06103145579e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 100.5 10720531.2924 100000000 8.01946908632e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 103.5 10682411.9029 100000000 7.97805439123e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 106.5 10644371.1949 100000000 7.93678706594e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 109.5 10606409.1103 100000000 7.89566680605e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 112.5 10568525.589 100000000 7.85469330741e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 115.5 10530720.5692 100000000 7.81386626609e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 118.5 10492993.9875 100000000 7.77318537842e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 121.5 10455345.7792 100000000 7.73265034097e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 124.5 10417775.8785 100000000 7.69226085057e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 127.5 10380284.2186 100000000 7.65201660428e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 130.5 10342870.7318 100000000 7.61191729945e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 133.5 10305535.3502 100000000 7.57196263368e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 136.5 10268278.005 100000000 7.53215230484e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 139.5 10231098.6274 100000000 7.49248601106e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 142.5 10193997.1484 100000000 7.45296345073e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 145.5 10156973.499 100000000 7.41358432253e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 148.5 10120027.6104 100000000 7.37434832538e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 151.5 10083159.4139 100000000 7.33525515849e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 154.5 10046368.8416 100000000 7.29630452131e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 157.5 10009655.8256 100000000 7.25749611358e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 160.5 9973020.29897 100000000 7.21882963528e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 163.5 9936462.19542 100000000 7.18030478665e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 166.5 9899981.44946 100000000 7.1419212682e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 169.5 9863577.99653 100000000 7.10367878067e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 172.5 9827251.77308 100000000 7.06557702507e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 175.5 9791002.71664 100000000 7.02761570263e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 178.5 9754830.76589 100000000 6.98979451484e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 181.5 9718735.86075 100000000 6.95211316342e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 184.5 9682717.94243 100000000 6.91457135031e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 187.5 9646776.95349 100000000 6.87716877769e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 190.5 9610912.83524 100000000 6.83990514795e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 193.5 9575125.48528 100000000 6.8027801638e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 196.5 9539414.83366 100000000 6.76579352828e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 199.5 9503780.82635 100000000 6.72894494468e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 202.5 9468223.40686 100000000 6.69223411649e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 205.5 9432742.51651 100000000 6.65566074743e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 208.5 9397338.09465 100000000 6.61922454144e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 211.5 9362010.07896 100000000 6.58292520273e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 214.5 9326758.40561 100000000 6.54676243571e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 217.5 9291583.00952 100000000 6.51073594507e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 220.5 9256483.82457 100000000 6.47484543575e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 223.5 9221460.78377 100000000 6.43909061293e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 226.5 9186513.8195 100000000 6.40347118207e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 229.5 9151642.86364 100000000 6.36798684889e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 232.5 9116847.84777 100000000 6.33263731936e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 235.5 9082128.70336 100000000 6.29742229974e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 238.5 9047485.36187 100000000 6.26234149652e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 241.5 9012917.75494 100000000 6.22739461649e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 244.5 8978425.81455 100000000 6.19258136668e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 247.5 8944009.47309 100000000 6.1579014544e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 250.5 8909668.66354 100000000 6.12335458721e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 253.5 8875403.3196 100000000 6.08894047292e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 256.5 8841213.37574 100000000 6.05465881961e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 259.5 8807098.76736 100000000 6.02050933562e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 262.5 8773059.43088 100000000 5.9864917295e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 265.5 8739095.30382 100000000 5.95260571009e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 268.5 8705206.3249 100000000 5.91885098644e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 271.5 8671392.43411 100000000 5.88522726784e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 274.5 8637653.57279 100000000 5.85173426382e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 277.5 8603989.68371 100000000 5.81837168412e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 280.5 8570400.71058 100000000 5.7851392387e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 283.5 8536886.55914 100000000 5.75203663784e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 286.5 8503447.15264 100000000 5.7190635921e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 289.5 8470082.43784 100000000 5.68621981235e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 292.5 8436792.35889 100000000 5.65350500962e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 295.5 8403576.85762 100000000 5.62091889518e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 298.5 8370435.87383 100000000 5.58846118055e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 301.5 8337369.34553 100000000 5.55613157745e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 304.5 8304377.20919 100000000 5.52392979786e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 307.5 8271459.40001 100000000 5.49185555402e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 310.5 8238615.85213 100000000 5.45990855841e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 313.5 8205846.49887 100000000 5.42808852376e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 316.5 8173151.27289 100000000 5.39639516307e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 319.5 8140530.10647 100000000 5.3648281896e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 322.5 8107982.93161 100000000 5.33338731688e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 325.5 8075509.68029 100000000 5.30207225867e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 328.5 8043110.28458 100000000 5.27088272904e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 331.5 8010784.67685 100000000 5.23981844229e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 334.5 7978532.78989 100000000 5.20887911299e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 337.5 7946354.55705 100000000 5.17806445598e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 340.5 7914249.91241 100000000 5.14737418633e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 343.5 7882218.79089 100000000 5.11680801939e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 346.5 7850261.12835 100000000 5.08636567074e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 349.5 7818376.86174 100000000 5.05604685623e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 352.5 7786565.92918 100000000 5.02585129193e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 355.5 7754828.27004 100000000 4.99577869416e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 358.5 7723163.82509 100000000 4.96582877945e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 361.5 7691572.53653 100000000 4.93600126459e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 364.5 7660054.34809 100000000 4.90629586657e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 367.5 7628609.19915 100000000 4.87671230261e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 370.5 7597236.99008 100000000 4.84725029023e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 373.5 7565937.65953 100000000 4.81790954728e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 376.5 7534711.15388 100000000 4.78868979183e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 379.5 7503557.41691 100000000 4.75959074214e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 382.5 7472476.39003 100000000 4.73061211673e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 385.5 7441468.01266 100000000 4.70175363431e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 388.5 7410532.2225 100000000 4.67301501385e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 391.5 7379668.95577 100000000 4.64439597457e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 394.5 7348878.14752 100000000 4.61589623593e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 397.5 7318159.73183 100000000 4.58751551763e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 400.5 7287513.64209 100000000 4.55925353965e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 403.5 7256939.8112 100000000 4.53111002222e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 406.5 7226438.1718 100000000 4.50308468582e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 409.5 7196008.65644 100000000 4.47517725121e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 412.5 7165651.19781 100000000 4.44738743939e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 415.5 7135365.72891 100000000 4.41971497164e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 418.5 7105152.1832 100000000 4.39215956948e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 421.5 7075010.49479 100000000 4.3647209547e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 424.5 7044940.59856 100000000 4.33739884933e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 427.5 7014942.43034 100000000 4.31019297567e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 430.5 6985015.927 100000000 4.28310305625e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 433.5 6955161.0266 100000000 4.25612881385e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 436.5 6925377.6685 100000000 4.22926997147e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 439.5 6895665.79347 100000000 4.20252625237e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 442.5 6866025.34377 100000000 4.17589738002e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 445.5 6836456.26326 100000000 4.14938307811e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 448.5 6806958.49686 100000000 4.12298307055e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 451.5 6777531.95427 100000000 4.09669708153e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 454.5 6748176.56274 100000000 4.07052483555e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 457.5 6718892.27009 100000000 4.04446605736e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 460.5 6689679.02126 100000000 4.01852047191e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 463.5 6660536.7587 100000000 3.99268780437e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 466.5 6631465.42268 100000000 3.96696778015e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 469.5 6602464.95162 100000000 3.94136012488e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 472.5 6573535.28241 100000000 3.91586456442e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 475.5 6544676.35067 100000000 3.89048082491e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 478.5 6515888.09108 100000000 3.86520863272e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 481.5 6487170.43759 100000000 3.84004771447e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 484.5 6458523.32369 100000000 3.81499779704e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 487.5 6429946.68266 100000000 3.79005860758e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 490.5 6401440.44779 100000000 3.76522987348e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 493.5 6373004.55256 100000000 3.7405113224e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 496.5 6344638.93086 100000000 3.71590268226e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 499.5 6316343.5172 100000000 3.69140368123e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 502.5 6288118.24683 100000000 3.66701404771e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 505.5 6259963.05597 100000000 3.64273351039e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 508.5 6231877.8819 100000000 3.61856179818e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 511.5 6203862.66313 100000000 3.59449864022e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 514.5 6175917.33955 100000000 3.57054376592e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 517.5 6148041.85251 100000000 3.54669690488e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 520.5 6120236.14499 100000000 3.52295778696e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 523.5 6092500.16163 100000000 3.4993261422e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 526.5 6064833.84769 100000000 3.47580170089e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 529.5 6037237.11295 100000000 3.45238419358e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 532.5 6009709.88934 100000000 3.42907335114e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 535.5 5982252.12519 100000000 3.40586890464e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 538.5 5954863.76585 100000000 3.38277058539e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 541.5 5927544.75408 100000000 3.3597781249e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 544.5 5900295.03042 100000000 3.33689125492e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 547.5 5873114.53354 100000000 3.31410970741e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 550.5 5846003.2006 100000000 3.2914332146e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 553.5 5818960.96757 100000000 3.26886150893e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 556.5 5791987.76951 100000000 3.24639432313e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 559.5 5765083.54087 100000000 3.22403139014e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 562.5 5738248.21578 100000000 3.20177244319e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 565.5 5711481.72828 100000000 3.17961721575e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 568.5 5684784.01259 100000000 3.15756544154e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 571.5 5658155.00331 100000000 3.13561685454e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 574.5 5631594.63564 100000000 3.11377118899e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 577.5 5605102.84559 100000000 3.09202817937e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 580.5 5578679.57017 100000000 3.07038756039e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 583.5 5552324.74753 100000000 3.04884906704e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 586.5 5526038.31718 100000000 3.02741243451e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 589.5 5499820.22008 100000000 3.00607739824e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 592.5 5473670.3988 100000000 2.98484369389e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 595.5 5447588.79766 100000000 2.96371105735e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 598.5 5421575.36282 100000000 2.94267922469e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 601.5 5395630.03337 100000000 2.92174793225e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 604.5 5369752.71775 100000000 2.90091691663e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 607.5 5343943.36171 100000000 2.88018591472e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 610.5 5318201.91324 100000000 2.85955466361e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 613.5 5292528.31735 100000000 2.83902290061e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 616.5 5266922.51648 100000000 2.81859036325e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 619.5 5241384.45095 100000000 2.79825678927e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 622.5 5215914.05931 100000000 2.77802191665e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 625.5 5190511.27876 100000000 2.75788548362e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 628.5 5165176.04544 100000000 2.73784722865e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 631.5 5139908.29479 100000000 2.71790689045e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 634.5 5114707.96187 100000000 2.69806420799e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 637.5 5089574.98164 100000000 2.6783189205e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 640.5 5064509.28924 100000000 2.65867076743e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 643.5 5039510.82021 100000000 2.63911948852e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 646.5 5014579.5108 100000000 2.61966482373e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 649.5 4989715.29816 100000000 2.60030651328e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 652.5 4964918.12051 100000000 2.58104429761e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 655.5 4940187.9174 100000000 2.56187791743e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 658.5 4915524.62986 100000000 2.54280711365e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 661.5 4890928.20056 100000000 2.52383162742e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 664.5 4866398.57397 100000000 2.50495120011e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 667.5 4841935.69648 100000000 2.4861655733e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 670.5 4817539.5157 100000000 2.46747448876e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 673.5 4793209.9469 100000000 2.44887768855e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 676.5 4768946.92451 100000000 2.43037491501e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 679.5 4744750.39876 100000000 2.41196591069e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 682.5 4720620.3166 100000000 2.39365041835e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 685.5 4696556.62211 100000000 2.37542818098e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 688.5 4672559.25701 100000000 2.35729894175e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 691.5 4648628.1611 100000000 2.3392624441e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 694.5 4624763.27267 100000000 2.32131843167e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 697.5 4600964.5289 100000000 2.30346664838e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 700.5 4577231.86626 100000000 2.28570683835e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 703.5 4553565.22082 100000000 2.26803874599e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 706.5 4529964.5286 100000000 2.25046211592e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 709.5 4506429.72587 100000000 2.23297669304e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 712.5 4482960.74946 100000000 2.21558222247e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 715.5 4459557.53701 100000000 2.19827844959e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 718.5 4436220.0272 100000000 2.18106512e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 721.5 4412948.16004 100000000 2.16394197956e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 724.5 4389741.87703 100000000 2.14690877434e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 727.5 4366601.12137 100000000 2.12996525063e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 730.5 4343525.83815 100000000 2.11311115497e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 733.5 4320515.97452 100000000 2.09634623406e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 736.5 4297571.47982 100000000 2.07967023484e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 739.5 4274692.27924 100000000 2.06308290446e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 742.5 4251878.30032 100000000 2.04658399039e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 745.5 4229129.49521 100000000 2.03017324031e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 748.5 4206445.81242 100000000 2.01385040209e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 751.5 4183827.19739 100000000 1.99761522381e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 754.5 4161273.59301 100000000 1.98146745378e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 757.5 4138784.94018 100000000 1.96540684052e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 760.5 4116361.1782 100000000 1.94943313278e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 763.5 4094002.24528 100000000 1.93354607956e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 766.5 4071708.07896 100000000 1.91774543008e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 769.5 4049478.61644 100000000 1.90203093382e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 772.5 4027313.79505 100000000 1.88640234051e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 775.5 4005213.55249 100000000 1.87085940009e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 778.5 3983177.82723 100000000 1.85540186277e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 781.5 3961206.55876 100000000 1.84002947898e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 784.5 3939299.68788 100000000 1.8247419994e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 787.5 3917457.15696 100000000 1.8095391749e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 790.5 3895678.91014 100000000 1.79442075661e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 793.5 3873964.89361 100000000 1.77938649585e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 796.5 3852315.05572 100000000 1.76443614415e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 799.5 3830729.34722 100000000 1.74956945323e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 802.5 3809207.69679 100000000 1.73478617505e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 805.5 3787750.03317 100000000 1.72008606184e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 808.5 3766356.31 100000000 1.70546886607e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 811.5 3745026.47709 100000000 1.69093434037e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 814.5 3723760.48101 100000000 1.67648223761e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 817.5 3702558.26566 100000000 1.66211231084e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 820.5 3681419.77291 100000000 1.64782431333e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 823.5 3660344.94308 100000000 1.63361799861e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 826.5 3639333.71547 100000000 1.6194931204e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 829.5 3618386.0288 100000000 1.6054494327e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 832.5 3597501.82171 100000000 1.59148668971e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 835.5 3576681.03308 100000000 1.57760464588e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 838.5 3555923.60251 100000000 1.56380305591e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 841.5 3535229.47059 100000000 1.55008167472e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 844.5 3514598.57925 100000000 1.53644025744e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 847.5 3494030.87209 100000000 1.52287855945e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 850.5 3473526.29461 100000000 1.50939633633e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 853.5 3453084.79448 100000000 1.49599334388e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 856.5 3432706.32176 100000000 1.48266933807e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 859.5 3412390.82903 100000000 1.46942407508e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 862.5 3392138.24349 100000000 1.45625731132e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 865.5 3371948.50081 100000000 1.44316880347e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 868.5 3351821.55597 100000000 1.43015830841e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 871.5 3331757.35987 100000000 1.41722558321e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 874.5 3311755.86005 100000000 1.40437038513e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 877.5 3291817.00139 100000000 1.39159247164e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 880.5 3271940.72673 100000000 1.37889160044e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 883.5 3252126.9775 100000000 1.36626752943e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 886.5 3232375.69425 100000000 1.35372001676e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 889.5 3212686.81722 100000000 1.3412488208e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 892.5 3193060.28676 100000000 1.32885370016e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 895.5 3173496.04386 100000000 1.31653441366e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 898.5 3153994.0305 100000000 1.30429072036e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 901.5 3134554.19007 100000000 1.29212237956e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 904.5 3115176.46771 100000000 1.28002915073e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 907.5 3095860.81065 100000000 1.2680107936e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 910.5 3076607.16848 100000000 1.25606706806e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 913.5 3057415.49341 100000000 1.24419773421e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 916.5 3038285.73938 100000000 1.23240255232e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 919.5 3019217.83138 100000000 1.22068128291e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 922.5 3000211.71428 100000000 1.20903368674e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 925.5 2981267.34424 100000000 1.19745952477e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 928.5 2962384.67323 100000000 1.18595855811e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 931.5 2943563.64976 100000000 1.17453054811e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 934.5 2924804.21975 100000000 1.16317525628e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 937.5 2906106.32718 100000000 1.15189244437e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 940.5 2887469.91482 100000000 1.14068187434e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 943.5 2868894.92481 100000000 1.12954330838e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 946.5 2850381.29928 100000000 1.11847650888e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 949.5 2831928.98086 100000000 1.10748123849e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 952.5 2813537.91322 100000000 1.09655726005e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 955.5 2795208.04147 100000000 1.08570433663e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 958.5 2776939.31262 100000000 1.0749222315e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 961.5 2758731.67595 100000000 1.06421070814e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 964.5 2740585.08332 100000000 1.05356953021e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 967.5 2722499.48956 100000000 1.04299846156e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 970.5 2704474.84886 100000000 1.03249726621e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 973.5 2686511.08667 100000000 1.02206570843e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 976.5 2668608.15623 100000000 1.01170355269e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 979.5 2650766.01503 100000000 1.00141056367e+23 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 982.5 2632984.6162 100000000 9.91186506201e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 985.5 2615263.90944 100000000 9.81031145304e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 988.5 2597603.84193 100000000 9.70944246205e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 991.5 2580004.35909 100000000 9.60925574336e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 994.5 2562465.40541 100000000 9.50974895342e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 997.5 2544986.92507 100000000 9.41091975082e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 1000.5 2527568.86269 100000000 9.31276579633e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 1003.5 2510211.16383 100000000 9.21528475282e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 1006.5 2492913.77559 100000000 9.11847428524e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 1009.5 2475676.64711 100000000 9.02233206056e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 1012.5 2458499.72999 100000000 8.92685574766e+22 1e-10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + 1015.5 2441382.97871 100000000 8.83204301725e+22 1e-10 3.08157359444e-17 2.35851922622e-17 0 0 0 0 4.06481827298e-19 7.03741197327e-19 0 0 0 0 0 0 0 0 0 0 0 1 + 1018.5 2424326.35105 100000000 8.73789154172e+22 1e-10 6.16314718889e-17 4.71703845244e-17 0 0 0 0 8.12963654596e-19 1.40748239465e-18 0 0 0 0 0 0 0 0 0 0 0 1 + 1021.5 2407329.80096 100000000 8.64439899518e+22 1e-10 2.46525887555e-16 1.88681538098e-16 0 0 0 0 3.25185461838e-18 5.62992957862e-18 0 0 0 0 0 0 0 0 0 0 0 1 + 1024.5 2390393.25755 100000000 8.551563054e+22 1e-10 7.70393398611e-16 5.89629806555e-16 0 0 0 0 1.01620456825e-17 1.75935299332e-17 0 0 0 0 0 0 0 0 0 0 0 1 + 1027.5 2373516.68042 100000000 8.4593813967e+22 1e-10 2.58852181933e-15 1.98115615003e-15 0 0 0 0 3.4144473493e-17 5.91142605755e-17 0 0 0 0 0 0 0 0 0 0 0 1 + 1030.5 2356700.02873 100000000 8.36785170338e+22 1e-10 8.5975903285e-15 6.58026864116e-15 0 0 0 0 1.13408429816e-16 1.96343794054e-16 0 0 0 0 0 0 0 0 0 0 0 1 + 1033.5 2339943.25712 100000000 8.27697165579e+22 1e-10 2.85045557486e-14 2.18163028425e-14 0 0 0 0 3.75995690251e-16 6.50960607528e-16 0 0 0 0 0 0 0 0 0 0 0 1 + 1036.5 2323246.31683 100000000 8.18673893754e+22 1e-10 9.46659408213e-14 7.24537106295e-14 0 0 0 0 1.24871217346e-15 2.16189295819e-15 0 0 0 0 0 0 0 0 0 0 0 1 + 1039.5 2306609.15667 100000000 8.09715123413e+22 1e-10 3.14258875161e-13 2.4052179069e-13 0 0 0 0 4.14530167479e-15 7.17675273034e-15 0 0 0 0 0 0 0 0 0 0 0 0.999999999999 + 1042.5 2290031.72398 100000000 8.00820623309e+22 1e-10 1.04339000334e-12 7.98571024806e-13 0 0 0 0 1.37630681905e-14 2.38279732003e-14 0 0 0 0 0 0 0 0 0 0 0 0.999999999998 + 1045.5 2273513.96545 100000000.002 7.91990162399e+22 1e-10 3.46412014046e-12 2.65130580296e-12 0 0 0 0 4.56942481339e-14 7.91103629563e-14 0 0 0 0 0 0 0 0 0 0 0 0.999999999994 + 1048.5 2257055.82793 100000000.005 7.83223509849e+22 1e-10 1.15013263108e-11 8.80267772283e-12 0 0 0 0 1.51710805921e-13 2.62656623337e-13 0 0 0 0 0 0 0 0 0 0 0 0.999999999979 + 1051.5 2240657.25915 100000000.017 7.74520435026e+22 1e-10 3.81857506158e-11 2.92259211844e-11 0 0 0 0 5.03697647042e-13 8.72050757045e-13 0 0 0 0 0 0 0 0 0 0 0 0.999999999931 + 1054.5 2224318.20833 100000000.057 7.65880707496e+22 1e-10 1.2678117635e-10 9.70334904494e-11 0 0 0 0 1.67233533942e-12 2.89531092181e-12 0 0 0 0 0 0 0 0 0 0 0 0.999999999772 + 1057.5 2208038.62668 100000000.19 7.5730409702e+22 1e-10 4.20928377158e-10 3.22162570506e-10 0 0 0 0 5.55234949499e-12 9.6127718859e-12 0 0 0 0 0 0 0 0 0 0 0 0.999999999242 + 1060.5 2191818.4676 100000000.629 7.48790373543e+22 1e-10 1.39753137436e-09 1.06961736095e-09 0 0 0 0 1.84344488082e-11 3.19155253817e-11 0 0 0 0 0 0 0 0 0 0 0 0.999999997483 + 1063.5 2175657.68596 100000002.09 7.40339307186e+22 1e-10 4.63996754789e-09 3.55125468705e-09 0 0 0 0 6.12045252099e-11 1.05963275503e-10 0 0 0 0 0 0 0 0 0 0 0 0.999999991642 + 1066.5 2159556.23463 100000006.938 7.31950668249e+22 1e-10 1.54052344594e-08 1.17905805406e-08 0 0 0 0 2.03206175712e-10 3.51810456941e-10 0 0 0 0 0 0 0 0 0 0 0 0.999999972249 + 1069.5 2143514.04188 100000023.034 7.23624227264e+22 1e-10 5.11471763556e-08 3.91461034775e-08 0 0 0 0 6.74668219628e-10 1.16805177696e-09 0 0 0 0 0 0 0 0 0 0 0 0.999999907864 + 1072.5 2127530.95382 100000076.476 7.15359755198e+22 1e-10 1.69814569524e-07 1.29969612875e-07 0 0 0 0 2.23997689513e-09 3.87806764363e-09 0 0 0 0 0 0 0 0 0 0 0 0.999999694098 + 1075.5 2111606.64425 100000253.908 7.07157023945e+22 1e-10 5.6380382582e-07 4.31514004862e-07 0 0 0 0 7.43697991735e-09 1.28756288721e-08 0 0 0 0 0 0 0 0 0 0 0 0.99999898437 + 1078.5 2095740.11589 100000843.001 6.99015807965e+22 1e-10 1.87189021237e-06 1.43267357405e-06 0 0 0 0 2.46915846954e-08 4.27484925783e-08 0 0 0 0 0 0 0 0 0 0 0 0.999996627996 + 1081.5 2079928.1617 100002798.84 6.90935889847e+22 1e-10 6.21484575009e-06 4.75660656491e-06 0 0 0 0 8.1978306844e-08 1.41928883258e-07 0 0 0 0 0 0 0 0 0 0 0 0.99998880464 + 1084.5 2064160.29678 100009292.234 6.8291707868e+22 1e-10 2.06334786019e-05 1.57920797589e-05 0 0 0 0 2.72170494346e-07 4.71208247712e-07 0 0 0 0 0 0 0 0 0 0 0 0.999962831063 + 1087.5 2048402.06127 100030848.644 6.74959270517e+22 1e-10 6.84996543258e-05 5.24270301408e-05 0 0 0 0 9.03559944499e-07 1.56433157523e-06 0 0 0 0 0 0 0 0 0 0 0 0.999876605424 + 1090.5 2032540.26318 100102391.791 6.6706264712e+22 1e-10 0.000227361770163 0.000174014051523 0 0 0 0 2.99906606028e-06 5.19227723944e-06 0 0 0 0 0 0 0 0 0 0 0 0.999590432835 + 1093.5 2016206.04296 100339629.988 6.59228323017e+22 1e-10 0.000754151033425 0.000577198517996 0 0 0 0 9.94779714747e-06 1.72226018611e-05 0 0 0 0 0 0 0 0 0 0 0 0.99864148005 + 1096.5 1998230.31405 101124068.29 6.51460388666e+22 1e-10 0.00249600239571 0.00191034530202 0 0 0 0 3.29240754326e-05 5.70013877862e-05 0 0 0 0 0 0 0 0 0 0 0 0.995503726839 + 1099.5 1975214.16965 103693507.923 6.43771773591e+22 1e-10 0.00820146311861 0.0062770879408 0 0 0 0 0.000108183225641 0.000187297408224 0 0 0 0 0 0 0 0 0 0 0 0.985225968307 + 1102.5 1939304.46705 111856468.294 6.36197180029e+22 1e-10 0.0263273802175 0.0201499754966 0 0 0 0 0.000347277171574 0.000601240291977 0 0 0 0 0 0 0 0 0 0 0 0.952574126822 + 1105.5 1878320.66071 135462766.225 6.28810075406e+22 1e-10 0.0787453486814 0.0602686949211 0 0 0 0 0.0010387080575 0.00179831324051 0 0 0 0 0 0 0 0 0 0 0 0.8581489351 + 1108.5 1777911.84146 188585923.444 6.21735265515e+22 1e-10 0.19670573315 0.150551086749 0 0 0 0 0.0025946907773 0.00449218309819 0 0 0 0 0 0 0 0 0 0 0 0.645656306226 + 1111.5 1646596.27013 261414076.556 6.15108842319e+22 1e-10 0.358421214516 0.274321965585 0 0 0 0 0.00472783484651 0.008185291278 0 0 0 0 0 0 0 0 0 0 0 0.354343693774 + 1114.5 1544362.4397 314537233.775 6.08934337215e+22 1e-10 0.476381598985 0.364604357413 0 0 0 0 0.00628381756631 0.0108791611357 0 0 0 0 0 0 0 0 0 0 0 0.1418510649 + 1117.5 1492608.13664 338143531.706 6.0305779915e+22 1e-10 0.528799567448 0.404723076838 0 0 0 0 0.00697524845224 0.0120762340842 0 0 0 0 0 0 0 0 0 0 0 0.0474258731776 + 1120.5 1468135.43758 346306492.077 5.97328760334e+22 1e-10 0.546925484547 0.418595964393 0 0 0 0 0.00721434239817 0.012490176968 0 0 0 0 0 0 0 0 0 0 0 0.0147740316933 + 1123.5 1453621.85944 348875931.71 5.91675159964e+22 1e-10 0.55263094527 0.422962707032 0 0 0 0 0.00728960154838 0.0126204729884 0 0 0 0 0 0 0 0 0 0 0 0.00449627316094 + 1126.5 1442308.57052 349660370.012 5.86071534582e+22 1e-10 0.554372796632 0.424295853816 0 0 0 0 0.00731257782666 0.0126602517743 0 0 0 0 0 0 0 0 0 0 0 0.00135851995043 + 1129.5 1432000 349897608.209 5.80509747498e+22 1e-10 0.554899585896 0.424699038283 0 0 0 0 0.00731952655775 0.0126722820989 0 0 0 0 0 0 0 0 0 0 0 0.000409567164986 + 1132.5 1421338.76834 348662589.844 5.74988536982e+22 0 0.567743806966 0.412256193034 0 0 0 0 0.00732162206387 0.0126759100446 0 0 0 0 0 0 0 0 0 0 0 0.000123394575986 + 1135.5 1411117.4083 347429198.528 5.6950773428e+22 0 0.580034088848 0.399965911152 0 0 0 0 0.00732225345332 0.0126770031679 0 0 0 0 0 0 0 0 0 0 0 3.71689371028e-05 + 1138.5 1400927.51154 346197275.57 5.6406642736e+22 0 0.591985679752 0.388014320248 0 0 0 0 0.0073224436455 0.0126773324473 0 0 0 0 0 0 0 0 0 0 0 1.11953595051e-05 + 1141.5 1390816.34873 344966817.907 5.5866440299e+22 0 0.603607190529 0.376392809471 0 0 0 0 0.00732250093223 0.0126774316277 0 0 0 0 0 0 0 0 0 0 0 3.37200386369e-06 + 1144.5 1380796.06608 343737795.827 5.53301332968e+22 0 0.614907271927 0.365092728073 0 0 0 0 0.00732251818683 0.0126774615006 0 0 0 0 0 0 0 0 0 0 0 1.01563043953e-06 + 1147.5 1370868.38998 342510172.536 5.47976862245e+22 0 0.625894414011 0.354105585989 0 0 0 0 0.00732252338383 0.0126774704981 0 0 0 0 0 0 0 0 0 0 0 3.05902226883e-07 + 1150.5 1361032.01205 341283910.007 5.42690634967e+22 0 0.636576893406 0.343423106594 0 0 0 0 0.00732252494914 0.0126774732081 0 0 0 0 0 0 0 0 0 0 0 9.21359998296e-08 + 1153.5 1351284.79182 340058970.7 5.37442301952e+22 0 0.646962763562 0.333037236438 0 0 0 0 0.0073225254206 0.0126774740244 0 0 0 0 0 0 0 0 0 0 0 2.77508316326e-08 + 1156.5 1341624.41133 338835318.048 5.32231522644e+22 0 0.657059857352 0.322940142648 0 0 0 0 0.00732252556261 0.0126774742702 0 0 0 0 0 0 0 0 0 0 0 8.35838998015e-09 + 1159.5 1332048.56756 337612916.572 5.27057965429e+22 0 0.666875793035 0.313124206965 0 0 0 0 0.00732252560538 0.0126774743443 0 0 0 0 0 0 0 0 0 0 0 2.51749865399e-09 + 1162.5 1322555.02693 336391731.877 5.21921307474e+22 0 0.676417980972 0.303582019028 0 0 0 0 0.00732252561826 0.0126774743666 0 0 0 0 0 0 0 0 0 0 0 7.58256124556e-10 + 1165.5 1313141.63872 335171730.633 5.16821234426e+22 0 0.685693630339 0.294306369661 0 0 0 0 0.00732252562214 0.0126774743733 0 0 0 0 0 0 0 0 0 0 0 2.28382313061e-10 + 1168.5 1303806.33649 333952880.528 5.11757440094e+22 0 0.694709755644 0.285290244356 0 0 0 0 0.00732252562331 0.0126774743753 0 0 0 0 0 0 0 0 0 0 0 6.87874202043e-11 + 1171.5 1294547.13584 332735150.237 5.06729626125e+22 0 0.703473182981 0.276526817019 0 0 0 0 0.00732252562366 0.0126774743759 0 0 0 0 0 0 0 0 0 0 0 2.07183159517e-11 + 1174.5 1285362.13147 331518509.379 5.01737501693e+22 0 0.711990556028 0.268009443972 0 0 0 0 0.00732252562377 0.0126774743761 0 0 0 0 0 0 0 0 0 0 0 6.24023055451e-12 + 1177.5 1276249.49385 330302928.482 4.96780783198e+22 0 0.720268341792 0.259731658208 0 0 0 0 0.0073225256238 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 1.87960758069e-12 + 1180.5 1267207.46615 329088378.945 4.9185919398e+22 0 0.728312836123 0.251687163877 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 5.66102720256e-13 + 1183.5 1258234.36068 327874833.008 4.86972464045e+22 0 0.736130168988 0.243869831012 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 1.70530256582e-13 + 1186.5 1249328.5269 326662263.73 4.82120329858e+22 0 0.74372630945 0.23627369055 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 5.12923037377e-14 + 1189.5 1240488.39044 325450644.965 4.77302534123e+22 0 0.751107070488 0.228892929512 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 1.55431223448e-14 + 1192.5 1231712.44759 324239951.324 4.72518825501e+22 0 0.758278113746 0.221721886254 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 4.66293670343e-15 + 1195.5 1222999.24463 323030158.146 4.67768958377e+22 0 0.765244954021 0.214755045979 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 1.33226762955e-15 + 1198.5 1214347.37679 321821241.474 4.63052692664e+22 0 0.77201296354 0.20798703646 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 4.4408920985e-16 + 1201.5 1205755.48725 320613178.035 4.58369793622e+22 0 0.778587376077 0.201412623923 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 1.11022302463e-16 + 1204.5 1197222.26604 319405945.225 4.5372003167e+22 0 0.784973290927 0.195026709073 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1207.5 1188746.44894 318199521.08 4.49103182206e+22 0 0.791175676733 0.188824323267 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1210.5 1180326.81638 316993884.266 4.44519025438e+22 0 0.797199375186 0.182800624814 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1213.5 1171962.19227 315789014.049 4.39967346206e+22 0 0.803049104585 0.176950895415 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1216.5 1163651.44293 314584890.28 4.35447933822e+22 0 0.808729463282 0.171270536718 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1219.5 1155393.4759 313381493.377 4.30960581904e+22 0 0.814244932995 0.165755067005 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1222.5 1147187.23883 312178804.302 4.26505088221e+22 0 0.819599882021 0.160400117979 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1225.5 1139031.71833 310976804.542 4.22081254539e+22 0 0.824798568326 0.155201431674 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1228.5 1130925.93889 309775476.09 4.17688886472e+22 0 0.829845142534 0.150154857466 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1231.5 1122868.96172 308574801.428 4.1332779334e+22 0 0.834743650818 0.145256349182 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1234.5 1114859.86361 307374763.518 4.08997788063e+22 0 0.83949803765 0.14050196235 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1237.5 1106897.75287 306175345.794 4.04698687075e+22 0 0.84411214845 0.13588785155 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1240.5 1098981.78782 304976532.142 4.00430310163e+22 0 0.848589732238 0.131410267762 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1243.5 1091111.15079 303778306.873 3.96192480327e+22 0 0.852934444179 0.127065555821 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1246.5 1083285.04827 302580654.72 3.91985023682e+22 0 0.857149847995 0.122850152005 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1249.5 1075502.71093 301383560.824 3.87807769368e+22 0 0.861239418313 0.118760581687 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1252.5 1067763.39372 300187010.726 3.83660549455e+22 0 0.865206542941 0.114793457059 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1255.5 1060066.37573 298990990.357 3.79543198852e+22 0 0.869054525079 0.110945474921 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1258.5 1052410.96008 297795486.03 3.75455555207e+22 0 0.872786585462 0.107213414538 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1261.5 1044796.47374 296600484.423 3.71397458822e+22 0 0.876405864446 0.103594135554 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1264.5 1037222.26729 295405972.571 3.67368752558e+22 0 0.879915424027 0.100084575973 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1267.5 1029687.71462 294211937.856 3.63369281743e+22 0 0.88331824981 0.0966817501905 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1270.5 1022192.21264 293018367.99 3.59398894084e+22 0 0.886617252905 0.0933827470947 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1273.5 1014735.18091 291825251.008 3.55457439578e+22 0 0.889815271791 0.0901847282091 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1276.5 1007316.06123 290632575.253 3.51544770424e+22 0 0.892915074102 0.0870849258976 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1279.5 999934.317166 289440329.361 3.47660740942e+22 0 0.895919358383 0.0840806416175 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1282.5 992589.410709 288248502.269 3.43805207528e+22 0 0.898830755744 0.0811692442562 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1285.5 985280.83007 287057083.205 3.39978028613e+22 0 0.901651831496 0.0783481685045 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1288.5 978008.093879 285866061.673 3.36179064545e+22 0 0.904385086774 0.0756149132261 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1291.5 970770.732431 284675427.436 3.32408177516e+22 0 0.907032960105 0.0729670398954 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1294.5 963568.288333 283485170.516 3.28665231511e+22 0 0.9095978289 0.0704021711005 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1297.5 956400.317055 282295281.186 3.24950092259e+22 0 0.912082010918 0.0679179890824 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1300.5 949266.387377 281105749.97 3.21262627186e+22 0 0.914487765689 0.065512234311 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1303.5 942166.081764 279916567.633 3.17602705358e+22 0 0.916817295905 0.063182704095 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1306.5 935098.996652 278727725.178 3.13970197432e+22 0 0.919072748773 0.0609272512268 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1309.5 928064.742669 277539213.838 3.10364975596e+22 0 0.921256217339 0.0587437826612 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1312.5 921062.944783 276351025.067 3.06786913521e+22 0 0.923369741773 0.056630258227 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1315.5 914093.242399 275163150.533 3.03235886299e+22 0 0.925415310629 0.0545846893705 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1318.5 907155.289393 273975582.108 2.9971177039e+22 0 0.927394862068 0.0526051379317 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1321.5 900248.754103 272788311.861 2.96214443565e+22 0 0.929310285051 0.0506897149495 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1324.5 893373.319265 271601332.047 2.92743784853e+22 0 0.931163420502 0.0488365794982 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1327.5 886528.670739 270414635.102 2.89299674503e+22 0 0.932956062436 0.0470439375638 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1330.5 879714.492968 269228213.655 2.85881993981e+22 0 0.934689959038 0.0453100409621 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1333.5 872930.504243 268042060.513 2.82490625911e+22 0 0.936366813749 0.043633186251 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1336.5 866176.428739 266856168.642 2.79125453996e+22 0 0.937988286336 0.0420117136637 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1339.5 859451.99625 265670531.167 2.75786362994e+22 0 0.939555993905 0.0404440060949 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1342.5 852756.94306 264485141.376 2.72473238696e+22 0 0.941071511891 0.038928488109 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1345.5 846091.012724 263299992.711 2.69185967902e+22 0 0.94253637503 0.0374636249697 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1348.5 839453.956734 262115078.772 2.65924438386e+22 0 0.94395207831 0.0360479216897 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1351.5 832845.535096 260930393.308 2.62688538869e+22 0 0.945320077898 0.0346799221018 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1354.5 826265.516819 259745930.218 2.59478158984e+22 0 0.946641792049 0.0333582079505 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1357.5 819713.680325 258561683.538 2.56293189237e+22 0 0.947918601997 0.0320813980032 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1360.5 813189.813776 257377647.442 2.53133520976e+22 0 0.949151852818 0.0308481471819 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1363.5 806693.715343 256193816.227 2.49999046347e+22 0 0.950342854286 0.0296571457141 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1366.5 800225.193399 255010184.311 2.46889658259e+22 0 0.951492881696 0.0285071183038 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1369.5 793784.066243 253826746.224 2.43805250341e+22 0 0.95260317668 0.0273968233204 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1372.5 787370.139047 252643496.61 2.40745716954e+22 0 0.953674947977 0.0263250520231 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1375.5 780983.235766 251460430.237 2.37710953174e+22 0 0.954709372205 0.0252906277946 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1378.5 774623.195809 250277541.975 2.34700854729e+22 0 0.955707594627 0.0242924053727 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1381.5 768289.85958 249094826.786 2.31715317967e+22 0 0.956670729888 0.0233292701123 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1384.5 761983.0697 247912279.731 2.28754239849e+22 0 0.957599862728 0.022400137272 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1387.5 755702.672102 246729895.971 2.25817517938e+22 0 0.958496048687 0.0215039513134 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1390.5 749448.517 245547670.761 2.22905050387e+22 0 0.959360314785 0.0206396852148 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1393.5 743220.459744 244365599.459 2.20016735917e+22 0 0.960193660202 0.0198063397982 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1396.5 737018.361558 243183677.512 2.17152473798e+22 0 0.96099705693 0.0190029430698 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1399.5 730842.090185 242001900.457 2.14312163824e+22 0 0.961771450426 0.0182285495745 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1402.5 724691.520429 240820263.916 2.11495706287e+22 0 0.962517760236 0.0174822397638 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1405.5 718566.534614 239638763.585 2.08703001951e+22 0 0.963236880623 0.0167631193771 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1408.5 712467.022956 238457395.231 2.05933952017e+22 0 0.963929681164 0.016070318836 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1411.5 706392.881948 237276154.68 2.03188458101e+22 0 0.964597007347 0.0154029926534 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1414.5 700343.991137 236095037.833 2.00466422252e+22 0 0.965239681134 0.0147603188657 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1417.5 694320.253452 234914040.666 1.97767746938e+22 0 0.965858501531 0.0141414984693 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1420.5 688321.578832 233733159.206 1.95092334993e+22 0 0.966454245142 0.013545754858 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1423.5 682347.875843 232552389.531 1.92440089598e+22 0 0.967027666715 0.0129723332851 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1426.5 676399.053167 231371727.775 1.8981091429e+22 0 0.967579499662 0.0124205003381 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1429.5 670475.02094 230191170.133 1.87204712957e+22 0 0.968110456575 0.0118895434246 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1432.5 664575.691932 229010712.858 1.84621389828e+22 0 0.968621229734 0.0113787702663 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1435.5 658700.982589 227830352.259 1.82060849462e+22 0 0.969112491596 0.0108875084038 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1438.5 652850.813945 226650084.703 1.79522996736e+22 0 0.969584895289 0.0104151047106 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1441.5 647025.112403 225469906.605 1.77007736819e+22 0 0.970039075083 0.00996092491748 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1444.5 641223.810411 224289814.422 1.74514975153e+22 0 0.970475646854 0.00952435314631 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1447.5 635446.847018 223109804.648 1.72044617431e+22 0 0.970895208546 0.0091047914538 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1450.5 629694.16688 221929873.8 1.69596569569e+22 0 0.971298340615 0.00870165938544 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1453.5 623965.696795 220750018.44 1.67170737733e+22 0 0.971685606453 0.00831439354662 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1456.5 618261.383981 219570235.169 1.64767028331e+22 0 0.972057552822 0.00794244717765 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1459.5 612581.181726 218390520.608 1.62385347967e+22 0 0.972414710269 0.00758528973081 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1462.5 606925.040077 217210871.399 1.60025603428e+22 0 0.972757593536 0.00724240646398 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1465.5 601292.907671 216031284.209 1.57687701699e+22 0 0.973086701955 0.00691329804485 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1468.5 595684.733364 214851755.739 1.55371549963e+22 0 0.973402519838 0.00659748016223 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1471.5 590100.467685 213672282.717 1.53077055599e+22 0 0.973705516855 0.00629448314456 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1474.5 584540.064097 212492861.908 1.5080412617e+22 0 0.973996148414 0.00600385158591 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1477.5 579003.480108 211313490.099 1.48552669412e+22 0 0.974274856021 0.00572514397945 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1480.5 573490.678218 210134164.1 1.46322593216e+22 0 0.974542067642 0.00545793235847 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1483.5 568001.626726 208954880.733 1.44113805606e+22 0 0.974798198055 0.00520180194488 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1486.5 562536.300397 207775636.819 1.41926214717e+22 0 0.975043649195 0.00495635080536 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1489.5 557094.66114 206596429.193 1.39759728806e+22 0 0.975278810481 0.00472118951898 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1492.5 551676.676948 205417254.706 1.37614256267e+22 0 0.975504059148 0.0044959408518 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1495.5 546282.329918 204238110.213 1.35489705589e+22 0 0.975719760567 0.00428023943293 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1498.5 540911.596947 203058992.559 1.3338598534e+22 0 0.97592626856 0.0040737314403 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1501.5 535564.452019 201879898.595 1.31303004186e+22 0 0.976123925703 0.00387607429664 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1504.5 530240.868251 200700825.179 1.29240670891e+22 0 0.976313063629 0.00368693637086 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1507.5 524940.819684 199521769.183 1.27198894325e+22 0 0.976494003315 0.00350599668517 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1510.5 519664.282858 198342727.49 1.25177583451e+22 0 0.976667055372 0.00333294462807 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1513.5 514411.238174 197163696.986 1.23176647318e+22 0 0.976832520327 0.00316747967319 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1516.5 509181.671054 195984674.557 1.21195995039e+22 0 0.976990688896 0.0030093111041 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1519.5 503975.572921 194805657.078 1.19235535772e+22 0 0.977141842255 0.0028581577452 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1522.5 498792.936896 193626641.399 1.17295178705e+22 0 0.977286252301 0.00271374769924 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1525.5 493633.739002 192447624.373 1.15374833087e+22 0 0.977424181906 0.00257581809401 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1528.5 488497.978681 191268602.844 1.13474408213e+22 0 0.977555885169 0.00244411483142 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1531.5 483385.652629 190089573.626 1.11593813387e+22 0 0.977681607659 0.00231839234051 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1534.5 478296.75257 188910533.513 1.09732957933e+22 0 0.97780158666 0.00219841334002 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1537.5 473231.267879 187731479.292 1.07891751213e+22 0 0.977916051394 0.00208394860602 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1540.5 468189.187888 186552407.742 1.06070102631e+22 0 0.978025223256 0.00197477674408 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1543.5 463170.503888 185373315.64 1.04267921628e+22 0 0.978129316034 0.00187068396614 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1546.5 458175.210865 184194199.75 1.0248511767e+22 0 0.978228536128 0.00177146387211 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1549.5 453203.308965 183015056.819 1.00721600234e+22 0 0.978323082764 0.00167691723631 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1552.5 448254.804725 181835883.561 9.89772787839e+21 0 0.978413148201 0.00158685179874 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1555.5 443329.701648 180656676.651 9.7252062764e+21 0 0.978498917938 0.00150108206225 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1558.5 438427.992536 179477432.747 9.55458616258e+21 0 0.978580570904 0.00141942909599 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1561.5 433549.691416 178298148.478 9.38585848073e+21 0 0.978658279659 0.0013417203411 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1564.5 428694.805441 177118820.422 9.21901417059e+21 0 0.978732210579 0.0012677894209 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1567.5 423863.33679 175939445.126 9.05404417007e+21 0 0.978802524042 0.00119747595783 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1570.5 419055.285745 174760019.115 8.89093941661e+21 0 0.978869374606 0.00113062539429 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1573.5 414270.653369 173580538.894 8.72969084739e+21 0 0.978932911183 0.00106708881712 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1576.5 409509.44381 172401000.949 8.57028939859e+21 0 0.978993277214 0.00100672278597 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1579.5 404771.666248 171221401.732 8.41272600379e+21 0 0.979050610834 0.000949389165656 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1582.5 400057.336532 170041737.65 8.25699159175e+21 0 0.979105045038 0.000894954962385 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1585.5 395366.470608 168862005.05 8.10307708507e+21 0 0.979156707835 0.000843292164591 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1588.5 390699.070333 167682200.244 7.9509734029e+21 0 0.979205722411 0.000794277588959 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1591.5 386055.1593 166502319.499 7.80067145947e+21 0 0.979252207271 0.000747792728844 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1594.5 381434.754066 165322359.013 7.65216216123e+21 0 0.979296276394 0.000703723606156 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1597.5 376837.865406 164142314.934 7.50543640936e+21 0 0.979338039371 0.000661960628629 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1600.5 372264.502085 162962183.377 7.36048510125e+21 0 0.97937760155 0.000622398450264 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1603.5 367696.468293 161781989.641 7.21730265348e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1606.5 362737.041808 161398485.125 7.07596376928e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1609.5 357812.001652 161013507.57 6.93653752937e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1612.5 352921.363771 160627044.476 6.79901062316e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1615.5 348065.123828 160239083.214 6.66336973781e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1618.5 343243.300471 159849611.025 6.52960155771e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1621.5 338455.90404 159458615.012 6.39769276164e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1624.5 333702.935396 159066082.145 6.2676300262e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1627.5 328984.392941 158671999.275 6.13940002817e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1630.5 324300.278534 158276353.127 6.01298944424e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1633.5 319650.6024 157879130.299 5.88838494878e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1636.5 315035.384897 157480317.247 5.76557321024e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1639.5 310454.626622 157079900.293 5.64454089301e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1642.5 305908.348248 156677865.621 5.52527465737e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1645.5 301396.564352 156274199.274 5.40776115678e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1648.5 296919.27845 155868887.158 5.2919870412e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1651.5 292476.491549 155461915.056 5.17793895971e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1654.5 288068.209283 155053268.627 5.0656035601e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1657.5 283694.447747 154642933.398 4.95496748596e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1660.5 279355.228445 154230894.751 4.84601737362e+21 0 0.98 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1663.5 273321.804231 153818440.867 4.73907436779e+21 0.00497547507793 0.975024524922 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1666.5 264013.095336 153409507.538 4.63510006473e+21 0.0202241681733 0.959775831827 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1669.5 255308.94573 153006538.251 4.53461124978e+21 0.0349616855548 0.945038314445 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1672.5 247146.097555 152609106.443 4.43738619891e+21 0.0492205448913 0.930779455109 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1675.5 239470.267827 152216829.793 4.3432259322e+21 0.0630299282332 0.916970071767 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1678.5 232234.573344 151829363.983 4.25195104544e+21 0.0764161466988 0.903583853301 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1681.5 225398.242794 151446397.571 4.16339909552e+21 0.0894030239136 0.890596976086 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1684.5 218925.654571 151067647.735 4.07742242137e+21 0.102012215596 0.877987784404 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1687.5 212785.498832 150692856.69 3.99388631319e+21 0.114263478057 0.865736521943 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1690.5 206950.127111 150321788.692 3.91266746957e+21 0.126174894469 0.853825105531 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1693.5 201395.02851 149954227.482 3.83365268196e+21 0.137763067804 0.842236932196 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1696.5 196098.392768 149589974.081 3.75673770494e+21 0.149043286516 0.830956713484 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1699.5 191040.734665 149228844.89 3.68182628378e+21 0.160029667159 0.819970332841 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1702.5 186204.568313 148870670.073 3.60882931766e+21 0.170735277109 0.809264722891 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1705.5 181574.17374 148515292.145 3.53766413107e+21 0.18117224141 0.79882775859 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1708.5 177135.349398 148162564.732 3.46825383834e+21 0.191351835986 0.788648164014 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1711.5 172875.234291 147812351.521 3.4005267904e+21 0.201284568766 0.778715431234 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1714.5 168782.155663 147464525.311 3.33441608544e+21 0.210980251454 0.769019748546 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1717.5 164845.496172 147118967.168 3.26985913481e+21 0.220448063195 0.759551936805 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1720.5 161055.573204 146775565.676 3.20679727789e+21 0.229696607056 0.750303392944 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1723.5 157403.519759 146434216.288 3.1451754434e+21 0.238733959694 0.741266040306 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1726.5 153881.220938 146094820.739 3.08494184607e+21 0.247567715849 0.732432284151 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1729.5 150481.214137 145757286.518 3.02604771489e+21 0.256205028196 0.723794971804 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1732.5 147196.625478 145421526.422 2.96844705292e+21 0.264652642563 0.715347357437 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1735.5 144021.1161 145087458.135 2.91209641993e+21 0.272916929824 0.707083070176 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1738.5 140948.833513 144755003.849 2.85695473468e+21 0.281003914881 0.698996085119 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1741.5 137974.367533 144424089.909 2.80298309527e+21 0.288919303019 0.691080696981 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1744.5 135092.695547 144094646.508 2.75014461857e+21 0.296668503457 0.683331496543 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1747.5 132299.15773 143766607.407 2.69840429496e+21 0.304256650645 0.675743349355 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1750.5 129589.421973 143439909.678 2.64772885479e+21 0.311688623853 0.668311376147 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1753.5 126959.446783 143114493.477 2.59808664868e+21 0.318969064723 0.661030935277 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1756.5 124405.460741 142790301.844 2.54944753908e+21 0.32610239318 0.65389760682 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1759.5 122018.46819 142198425.632 2.50176450883e+21 0.333095504676 0.646904495324 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1762.5 119696.379547 141609248.701 2.45499268579e+21 0.339954980085 0.640045019915 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1765.5 117436.318607 141022670.327 2.4091075087e+21 0.346684421519 0.633315578481 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1768.5 115235.579647 140438594.169 2.36408549639e+21 0.353287272686 0.626712727314 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1771.5 113091.628615 139856928.001 2.31990418159e+21 0.359766828596 0.620233171404 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1774.5 111002.082277 139277583.445 2.27654204853e+21 0.366126244716 0.613873755284 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1777.5 108964.69347 138700475.755 2.23397847742e+21 0.372368545109 0.607631454891 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1780.5 106977.343817 138125523.614 2.19219369321e+21 0.378496629951 0.601503370049 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1783.5 105038.036482 137552648.943 2.15116871712e+21 0.384513282635 0.595486717365 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1786.5 103144.889093 136981776.705 2.11088532102e+21 0.390421176469 0.589578823531 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1789.5 101296.126853 136412834.717 2.07132598444e+21 0.396222880975 0.583777119025 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1792.5 99490.0675097 135845753.498 2.03247385583e+21 0.401920867572 0.578079132428 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1795.5 97725.119815 135280466.124 1.99431271708e+21 0.40751751478 0.57248248522 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1798.5 95999.7797212 134716908.079 1.95682694902e+21 0.41301511328 0.56698488672 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1801.5 94312.6169762 134155017.136 1.92000150026e+21 0.418415870484 0.561584129516 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1804.5 92662.2728147 133594733.249 1.88382185908e+21 0.423721914654 0.556278085346 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1807.5 91047.4573402 133035998.452 1.8482740263e+21 0.428935298888 0.551064701112 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1810.5 89466.9466939 132478756.746 1.81334448912e+21 0.434058004948 0.545941995052 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1813.5 87919.5800902 131922953.985 1.77902019619e+21 0.439091946925 0.540908053075 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1816.5 86404.2528311 131368537.779 1.74528853452e+21 0.444038974616 0.535961025384 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1819.5 84919.9090504 130815457.422 1.71213730919e+21 0.448900876507 0.531099123493 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1822.5 83465.5488604 130263663.799 1.67955472309e+21 0.453679382745 0.526320617255 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1825.5 82040.2149652 129713109.307 1.64752935778e+21 0.458376167934 0.521623832066 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1828.5 80642.9919232 129163747.806 1.61605015725e+21 0.462992853535 0.517007146465 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1831.5 79273.005649 128615534.555 1.58510641172e+21 0.467531010223 0.512468989777 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1834.5 77929.4225715 128068426.151 1.55468774186e+21 0.471992160213 0.508007839787 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1837.5 76611.4485247 127522380.453 1.5247840833e+21 0.476377779528 0.503622220472 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1840.5 75318.3256427 126977356.512 1.495385672e+21 0.480689300146 0.499310699854 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1843.5 74049.3235098 126433314.535 1.46648303189e+21 0.484928111811 0.495071888189 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1846.5 72803.7491683 125890215.826 1.43806696233e+21 0.489095563874 0.490904436126 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1849.5 71580.935982 125348022.732 1.41012852575e+21 0.493192967101 0.486807032899 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1852.5 70380.2427578 124806698.614 1.38265903767e+21 0.497221595146 0.482778404854 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1855.5 69201.0543058 124266207.818 1.35565005668e+21 0.501182686009 0.478817313991 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1858.5 68042.781603 123726515.636 1.32909337444e+21 0.505077443515 0.474922556485 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1861.5 66904.8616352 123187588.249 1.30298100547e+21 0.508907038796 0.471092961204 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1864.5 65786.75586 122649392.682 1.27730517748e+21 0.512672611725 0.467327388275 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1867.5 64687.9419366 122111896.777 1.25205832346e+21 0.516375272067 0.463624727933 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1870.5 63607.9234875 121575069.159 1.2272330735e+21 0.520016100681 0.459983899319 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1873.5 62546.221018 121038879.196 1.20282224654e+21 0.523596150728 0.456403849272 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1876.5 61502.3710037 120503296.986 1.17881884398e+21 0.527116448609 0.452883551391 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1879.5 60475.926999 119968293.342 1.15521604332e+21 0.530577994904 0.449422005096 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1882.5 59466.4603273 119433839.768 1.13200719137e+21 0.533981765355 0.446018234645 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1885.5 58473.5604257 118899908.417 1.10918579736e+21 0.53732871189 0.44267128811 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1888.5 57496.8334414 118366472.05 1.08674552614e+21 0.540619763608 0.439380236392 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1891.5 56535.8954443 117833504.029 1.0646801931e+21 0.543855827536 0.436144172464 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1894.5 55590.381538 117300978.287 1.04298375851e+21 0.54703778945 0.43296221055 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1897.5 54659.937183 116768869.301 1.02165032183e+21 0.550166514711 0.429833485289 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1900.5 53744.2183217 116237152.092 1.00067411774e+21 0.553242848854 0.426757151146 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1903.5 52842.8927522 115705802.22 9.80049511751e+20 0.556267618222 0.423732381778 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1906.5 51955.6410759 115174795.76 9.59770995456e+20 0.559241630669 0.420758369331 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1909.5 51082.1572888 114644109.27 9.39833181472e+20 0.562165676298 0.417834323702 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1912.5 50222.1457086 114113719.759 9.20230798842e+20 0.56504052814 0.41495947186 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1915.5 49375.3185188 113583604.688 9.00958689514e+20 0.567866942665 0.412133057335 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1918.5 48541.4012547 113053741.944 8.82011804238e+20 0.570645660388 0.409354339612 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1921.5 47720.1253139 112524109.824 8.63385198847e+20 0.573377406413 0.406622593587 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1924.5 46911.2295849 111994687.048 8.45074031674e+20 0.576062890808 0.403937109192 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1927.5 46114.4618955 111465452.752 8.27073560373e+20 0.57870280908 0.40129719092 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1930.5 45329.580038 110936386.465 8.09379138258e+20 0.581297842703 0.398702157297 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1933.5 44556.3520146 110407468.072 7.91986210406e+20 0.583848659693 0.396151340307 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1936.5 43794.5494509 109878677.812 7.74890310973e+20 0.586355915005 0.393644084995 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1939.5 43043.955003 109349996.266 7.58087060361e+20 0.588820250942 0.391179749058 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1942.5 42304.3565923 108821404.336 7.41572162067e+20 0.591242297623 0.388757702377 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1945.5 41575.5464549 108292883.254 7.25341400827e+20 0.59362267325 0.38637732675 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1948.5 40857.3229986 107764414.592 7.09390640588e+20 0.59596198441 0.38403801559 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1951.5 40149.4921754 107235980.25 6.93715821852e+20 0.598260826462 0.381739173538 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1954.5 39451.8684357 106707562.417 6.78312958574e+20 0.600519783993 0.379480216007 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1957.5 38764.269839 106179143.564 6.63178135818e+20 0.60273943116 0.37726056884 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1960.5 38086.5211146 105650706.438 6.48307507768e+20 0.604920331985 0.375079668015 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1963.5 37418.4527296 105122234.043 6.33697295329e+20 0.607063040702 0.372936959298 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1966.5 36759.8973481 104593709.65 6.19343784589e+20 0.609168101988 0.370831898012 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1969.5 36110.691995 104065116.813 6.05243325551e+20 0.611236051145 0.368763948855 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1972.5 35470.6796775 103536439.359 5.91392330133e+20 0.613267414395 0.366732585605 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1975.5 34839.710539 103007661.357 5.77787269626e+20 0.615262709252 0.364737290748 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1978.5 34217.637282 102478767.105 5.64424672822e+20 0.617222444799 0.362777555201 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1981.5 33604.3179652 101949741.124 5.51301124482e+20 0.619147121907 0.360852878093 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1984.5 32999.614907 101420568.147 5.38413263471e+20 0.621037233516 0.358962766484 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1987.5 32403.3915487 100891233.129 5.25757781722e+20 0.62289326478 0.35710673522 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1990.5 31815.5147945 100361721.272 5.13331423345e+20 0.624715693203 0.355284306797 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1993.5 31235.8567619 99832018.0085 5.01130982949e+20 0.626504988883 0.353495011117 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1996.5 30664.2956245 99302108.9674 4.89153303462e+20 0.628261614829 0.351738385171 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 1999.5 30100.7100042 98771979.9692 4.77395274873e+20 0.629986027151 0.350013972849 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2002.5 29544.9848959 98241617.0212 4.65853832909e+20 0.631678675249 0.348321324751 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2005.5 28997.0063265 97711006.3038 4.54525957608e+20 0.633340002027 0.346659997973 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2008.5 28456.6614143 97180134.2025 4.434086729e+20 0.634970443949 0.345029556051 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2011.5 27923.8407226 96648987.3212 4.32499045737e+20 0.636570431172 0.343429568828 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2014.5 27398.4399859 96117552.4539 4.2179418442e+20 0.638140387787 0.341859612213 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2017.5 26880.3582406 95585816.5551 4.11291236963e+20 0.639680732061 0.340319267939 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2020.5 26369.4959115 95053766.7417 4.00987390184e+20 0.641191876571 0.338808123429 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2023.5 25865.7577197 94521390.2851 3.90879868607e+20 0.642674228363 0.337325771637 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2026.5 25369.0476987 93988674.6216 3.80965933758e+20 0.644128189057 0.335871810943 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2029.5 24879.2719134 93455607.3881 3.71242883913e+20 0.645554154884 0.334445845116 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2032.5 24396.3406259 92922176.4073 3.61708052887e+20 0.646952516861 0.333047483139 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2035.5 23920.1682936 92388369.6447 3.52358808411e+20 0.648323661033 0.331676338967 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2038.5 23450.6692366 91854175.2097 3.43192551349e+20 0.649667968585 0.330332031415 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2041.5 22987.7624294 91319581.3489 3.34206714821e+20 0.65098581597 0.32901418403 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2044.5 22531.3656349 90784576.4508 3.25398763541e+20 0.65227757501 0.32772242499 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2047.5 22081.3978274 90249149.0919 3.16766193811e+20 0.653543612892 0.326456387108 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2050.5 21637.7816947 89713288.0258 3.08306532574e+20 0.654784292311 0.325215707689 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2053.5 21200.4437737 89176982.1369 3.00017335945e+20 0.655999971682 0.324000028318 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2056.5 20769.3103467 88640220.437 2.91896188523e+20 0.657191005245 0.322808994755 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2059.5 20344.31155 88102992.0614 2.83940702686e+20 0.658357743164 0.321642256836 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2062.5 19925.3759003 87565286.2808 2.76148518164e+20 0.659500531591 0.320499468409 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2065.5 19512.4331157 87027092.5506 2.6851730212e+20 0.660619712658 0.319380287342 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2068.5 19105.4167812 86488400.4885 2.61044748165e+20 0.661715624614 0.318284375386 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2071.5 18704.2627744 85949199.831 2.53728575171e+20 0.662788602007 0.317211397993 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2074.5 18308.9078523 85409480.4277 2.46566526654e+20 0.663838975768 0.316161024232 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2077.5 17919.2904283 84869232.2425 2.39556370287e+20 0.664867073287 0.315132926713 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2080.5 17535.347452 84328445.3904 2.32695897857e+20 0.665873218416 0.314126781584 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2083.5 17157.0179853 83787110.171 2.25982925145e+20 0.666857731489 0.313142268511 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2086.5 16784.2451783 83245217.0152 2.19415290723e+20 0.667820929498 0.312179070502 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2089.5 16416.9717365 82702756.466 2.1299085525e+20 0.668763126194 0.311236873806 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2092.5 16055.1434912 82159719.1705 2.06707500953e+20 0.669684632167 0.310315367833 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2095.5 15698.7042745 81616095.8975 2.00563131411e+20 0.670585754874 0.309414245126 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2098.5 15347.5984539 81071877.6016 1.94555671833e+20 0.6714667986 0.3085332014 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2101.5 15001.7741992 80527055.3906 1.88683068225e+20 0.672328064581 0.307671935419 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2104.5 14661.1802882 79981620.485 1.82943286531e+20 0.673169851127 0.306830148873 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2107.5 14325.7676449 79435564.201 1.77334312106e+20 0.673992453703 0.306007546297 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2110.5 13995.4859119 78888877.9674 1.71854149543e+20 0.674796164953 0.305203835047 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2113.5 13670.2842614 78341553.3964 1.66500823014e+20 0.675581274647 0.304418725353 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2116.5 13350.1153093 77793582.2657 1.61272375697e+20 0.67634806977 0.30365193023 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2119.5 13034.9326606 77244956.4667 1.56166868915e+20 0.677096834645 0.302903165355 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2122.5 12724.6915528 76695667.9815 1.5118238163e+20 0.677827851008 0.302172148992 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2125.5 12419.3458362 76145708.9076 1.46317010395e+20 0.678541398015 0.301458601985 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2128.5 12118.8488407 75595071.5349 1.41568869725e+20 0.679237752188 0.300762247812 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2131.5 11823.1574392 75043748.3174 1.3693609151e+20 0.679917187501 0.300082812499 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2134.5 11532.2287972 74491731.82 1.32416824273e+20 0.680579975489 0.299420024511 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2137.5 11246.021885 73939014.6975 1.28009232766e+20 0.681226385306 0.298773614694 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2140.5 10964.4932299 73385589.7373 1.23711498091e+20 0.681856683708 0.298143316292 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2143.5 10687.5999921 72831449.939 1.19521818053e+20 0.682471135002 0.297528864998 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2146.5 10415.3027255 72276588.4499 1.15438406377e+20 0.68307000116 0.29692999884 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2149.5 10147.5617753 71720998.51 1.11459492096e+20 0.683653541909 0.296346458091 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2152.5 9884.33805168 71164673.4666 1.0758331948e+20 0.684222014742 0.295777985258 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2155.5 9625.59018142 70607606.8492 1.03808148367e+20 0.684775674868 0.295224325132 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2158.5 9371.27963406 70049792.3887 1.00132254057e+20 0.685314775227 0.294685224773 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2161.5 9121.36878223 69491223.94 9.65539265888e+19 0.685839566601 0.294160433399 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2164.5 8875.82111074 68931895.443 9.30714703445e+19 0.686350297666 0.293649702334 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2167.5 8634.59743375 68371800.9915 8.96832043561e+19 0.686847214949 0.293152785051 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2170.5 8397.65969342 67810934.9128 8.6387462602e+19 0.687330562786 0.292669437214 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2173.5 8164.97224176 67249291.6838 8.31825933226e+19 0.687800583422 0.292199416578 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2176.5 7936.49967613 66686865.8617 8.00669585065e+19 0.688257517085 0.291742482915 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2179.5 7712.20479261 66123652.153 7.70389341918e+19 0.688701601941 0.291298398059 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2182.5 7492.05032166 65559645.506 7.40969108272e+19 0.689133074046 0.290866925954 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2185.5 7276.00178342 64994841.0406 7.12392927448e+19 0.689552167416 0.290447832584 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2188.5 7064.02474224 64429233.9571 6.84644976121e+19 0.689959114115 0.290040885885 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2191.5 6856.08301717 63862819.613 6.57709567607e+19 0.6903541442 0.2896458558 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2194.5 6652.1403474 63295593.6184 6.31571155396e+19 0.690737485674 0.289262514326 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2197.5 6452.16293592 62727551.7626 6.06214328543e+19 0.691109364551 0.288890635449 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2200.5 6256.11710933 62158689.9137 5.81623806655e+19 0.691470004931 0.288529995069 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2203.5 6063.96679592 61589004.1247 5.57784444299e+19 0.691819628933 0.288180371067 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2206.5 5875.6769881 61018490.713 5.34681233577e+19 0.692158456662 0.287841543338 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2209.5 5691.21418835 60447146.1581 5.1229929915e+19 0.692486706277 0.287513293723 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2212.5 5510.54485489 59874967.0321 4.90623895402e+19 0.692804594034 0.287195405966 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2215.5 5333.63268327 59301950.1428 4.69640411865e+19 0.693112334207 0.286887665793 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2218.5 5160.44396758 58728092.559 4.49334373546e+19 0.693410139085 0.286589860915 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2221.5 4990.94545348 58153391.4517 4.29691435016e+19 0.693698219055 0.286301780945 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2224.5 4825.10214156 57577844.1577 4.1069738292e+19 0.693976782568 0.286023217432 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2227.5 4662.87873785 57001448.3013 3.92338139918e+19 0.694246036079 0.285753963921 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2230.5 4504.24185335 56424201.7061 3.74599761574e+19 0.694506184096 0.285493815904 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2233.5 4349.15765485 55846102.2933 3.57468433526e+19 0.694757429217 0.285242570783 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2236.5 4197.58983965 55267148.2558 3.40930477124e+19 0.694999972051 0.285000027949 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2239.5 4049.50464979 54687338.0565 3.24972349287e+19 0.695234011219 0.284765988781 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2242.5 3904.86824094 54106670.2452 3.09580637743e+19 0.695459743423 0.284540256577 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2245.5 3763.64418259 53525143.6249 2.94742066204e+19 0.69567736337 0.28432263663 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2248.5 3625.79787875 52942757.302 2.80443495815e+19 0.695887063753 0.284112936247 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2251.5 3491.29519497 52359510.4906 2.66671920717e+19 0.696089035313 0.283910964687 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2254.5 3360.09950716 51775402.6403 2.53414471969e+19 0.696283466784 0.283716533216 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2257.5 3232.17544408 51190433.5218 2.40658419938e+19 0.696470544857 0.283529455143 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2260.5 3107.48835013 50604603.0297 2.28391170496e+19 0.696650454235 0.283349545765 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2263.5 2986.00105795 50017911.299 2.16600268492e+19 0.696823377583 0.283176622417 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2266.5 2867.67767135 49430358.7941 2.0527340015e+19 0.696989495493 0.283010504507 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2269.5 2752.48274576 48841946.0998 1.94398389743e+19 0.697148986532 0.282851013468 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2272.5 2640.37832866 48252674.0747 1.83963203564e+19 0.697302027184 0.282697972816 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2275.5 2531.32814357 47662543.9014 1.7395595154e+19 0.697448791827 0.282551208173 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2278.5 2425.29560202 47071556.8789 1.64364884593e+19 0.697589452772 0.282410547228 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2281.5 2322.24207943 46479714.6258 1.55178399179e+19 0.697724180192 0.282275819808 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2284.5 2222.1308619 45887019.0437 1.46385037538e+19 0.697853142127 0.282146857873 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2287.5 2124.92368098 45293472.1981 1.37973486997e+19 0.697976504486 0.282023495514 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2290.5 2030.58183671 44699076.5039 1.29932583821e+19 0.698094430994 0.281905569006 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2293.5 1939.06770569 44103834.5606 1.22251311956e+19 0.69820708321 0.28179291679 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2296.5 1850.34129624 43507749.245 1.14918805537e+19 0.698314620493 0.281685379507 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2299.5 1764.36411709 42910823.7603 1.07924350562e+19 0.698417199971 0.281582800029 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2302.5 1681.09647842 42313061.4877 1.0125738431e+19 0.698514976555 0.281485023445 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2305.5 1600.49825805 41714466.1507 9.49074984951e+18 0.698608102892 0.281391897108 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2308.5 1522.52994631 41115041.6743 8.88644389197e+18 0.698696729368 0.281303270632 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2311.5 1447.15013202 40514792.3 8.31181079681e+18 0.698781004073 0.281218995927 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2314.5 1374.31892342 39913722.5403 7.76585653458e+18 0.69886107279 0.28113892721 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2317.5 1303.99434579 39311837.1576 7.24760291699e+18 0.698937078977 0.281062921023 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2320.5 1236.13553161 38709141.2356 6.75608778572e+18 0.699009163744 0.280990836256 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2323.5 1170.70025374 38105640.09 6.29036506125e+18 0.699077465841 0.280922534159 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2326.5 1107.64662561 37501339.3545 5.8495049401e+18 0.69914212163 0.28085787837 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2329.5 1046.93204974 36896244.9143 5.43259396642e+18 0.699203265079 0.280796734921 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2332.5 988.513822976 36290362.951 5.03873519005e+18 0.699261027732 0.280738972268 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2335.5 932.34880136 35683699.9205 4.66704827224e+18 0.699315538699 0.280684461301 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2338.5 878.39363934 35076262.5583 4.31666960997e+18 0.699366924633 0.280633075367 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2341.5 826.604545757 34468057.8934 3.98675246115e+18 0.699415309717 0.280584690283 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2344.5 776.937677886 33859093.215 3.67646704087e+18 0.699460815645 0.280539184355 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2347.5 729.348520887 33249376.126 3.38500066141e+18 0.699503561604 0.280496438396 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2350.5 683.792864696 32638914.4701 3.1115578033e+18 0.699543664265 0.280456335735 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2353.5 640.22548851 32027716.3982 2.85536025196e+18 0.699581237759 0.280418762241 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2356.5 598.601758746 31415790.333 2.61564717961e+18 0.699616393667 0.280383606333 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2359.5 558.876047476 30803144.9221 2.39167522411e+18 0.699649241011 0.280350758989 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2362.5 521.003010547 30189789.1673 2.18271862638e+18 0.699679886227 0.280320113773 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2365.5 484.936933765 29575732.2384 1.98806924716e+18 0.699708433171 0.280291566829 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2368.5 450.631729311 28960983.6692 1.80703671085e+18 0.699734983093 0.280265016907 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2371.5 418.041569941 28345553.2142 1.63894842745e+18 0.699759634632 0.280240365368 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2374.5 387.120096047 27729450.7877 1.48314964508e+18 0.699782483815 0.280217516185 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2377.5 357.820870739 27112686.7017 1.339003568e+18 0.699803624032 0.280196375968 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2380.5 330.097606477 26495271.4372 1.20589134266e+18 0.699823146042 0.280176853958 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2383.5 303.903658062 25877215.6166 1.08321209797e+18 0.69984113797 0.28015886203 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2386.5 279.192359011 25258530.2116 9.7038301867e+17 0.69985768529 0.28014231471 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2389.5 255.917121794 24639226.4085 8.66839334135e+17 0.699872870829 0.280127129171 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2392.5 234.031325734 24019315.4758 7.72034309538e+17 0.699886774771 0.280113225229 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2395.5 213.488274518 23398808.8601 6.85439266889e+17 0.699899474652 0.280100525348 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2398.5 194.241368165 22777718.245 6.0654358103e+17 0.699911045358 0.280088954642 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2401.5 176.244089923 22156055.4757 5.3485464489e+17 0.699921559134 0.280078440866 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2404.5 159.450053254 21533832.4913 4.69897828186e+17 0.69993108559 0.28006891441 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2407.5 143.812995774 20911061.2708 4.11216428199e+17 0.699939691703 0.280060308297 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2410.5 129.286818825 20287753.8377 3.58371614074e+17 0.699947441833 0.280052558167 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2413.5 115.825633882 19663922.2472 3.10942354475e+17 0.699954397727 0.280045602273 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2416.5 103.383802233 19039578.5384 2.68525328587e+17 0.699960618536 0.280039381464 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2419.5 91.9159702004 18414734.6693 2.30734822621e+17 0.699966160826 0.280033839174 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2422.5 81.3771060938 17789402.4441 1.97202612358e+17 0.699971078603 0.280028921397 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2425.5 71.722540565 17163593.4218 1.67577830729e+17 0.699975423323 0.280024576677 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2428.5 62.9080063446 16537318.8027 1.41526819902e+17 0.699979243919 0.280020756081 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2431.5 54.8896748477 15910589.3163 1.18732968592e+17 0.699982586826 0.280017413174 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2434.5 47.6241983015 15283415.14 9.88965341373e+16 0.699985496004 0.280014503996 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2437.5 41.0687741701 14655805.7057 8.1734443964e+16 0.699988012967 0.280011987033 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2440.5 35.1811837651 14027769.323 6.69800771035e+16 0.699990176817 0.280009823183 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2443.5 29.9198147813 13399312.9093 5.43830338848e+16 0.699992024277 0.280007975723 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2446.5 25.2437323244 12770441.7292 4.37088875199e+16 0.699993589729 0.280006410271 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2449.5 21.1127387804 12141158.7121 3.47389103611e+16 0.699994905251 0.280005094749 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2452.5 17.487393294 11511463.7567 2.72697848047e+16 0.69999600066 0.28000399934 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2455.5 14.3290922879 10881352.9369 2.11132948446e+16 0.69999690356 0.28000309644 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2458.5 11.6001200722 10250816.9906 1.60959922529e+16 0.699997639389 0.280002360611 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2461.5 9.26369334996 9619839.49189 1.20588443557e+16 0.699998231471 0.280001768529 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2464.5 7.2840331319 8988394.34691 8.85685928148e+15 0.699998701068 0.280001298932 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2467.5 5.62642459316 8356441.80888 6.35868571168e+15 0.699999067446 0.280000932554 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2470.5 4.25728023833 7723922.59311 4.44618882679e+15 0.69999934793 0.28000065207 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2473.5 3.14420917814 7090748.93592 3.0140006247e+15 0.699999557972 0.280000442028 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2476.5 2.25609488434 6456789.96611 1.96904178861e+15 0.699999711224 0.280000288776 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2479.5 1.5631702689 5821846.9574 1.23001398146e+15 0.699999819608 0.280000180392 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2482.5 1.03710450313 5185609.98972 7.2686081307e+14 0.6999998934 0.2800001066 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2485.5 0.651099376025 4547575.81319 4.00193362453e+14 0.699999941308 0.280000058692 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2488.5 0.379993846302 3906879.01238 2.00676823933e+14 0.699999970569 0.280000029431 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2491.5 0.200385430585 3261905.34791 8.83734338549e+13 0.699999987039 0.280000012961 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2494.5 0.0907727236635 2609251.964 3.20343310078e+13 0.699999995302 0.280000004698 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2497.5 0.0317269710689 1940125.46401 8.33064007708e+12 0.699999998778 0.280000001222 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2500.5 0.00610847602649 1219501.03434 1.00948106412e+12 0.699999999852 0.280000000148 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2503.5 0.0001 1000000 16008393268.3 0.700000000028 0.279999999972 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2506.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2509.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2512.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2515.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2518.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2521.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2524.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2527.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2530.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2533.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2536.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2539.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2542.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2545.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2548.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2551.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2554.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2557.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2560.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2563.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2566.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2569.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2572.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2575.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2578.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2581.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2584.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2587.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2590.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2593.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2596.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2599.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2602.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2605.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2608.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2611.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2614.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2617.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2620.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2623.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2626.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2629.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2632.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2635.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2638.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2641.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2644.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2647.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2650.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2653.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2656.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2659.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2662.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2665.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2668.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2671.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2674.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2677.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2680.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2683.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2686.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2689.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2692.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2695.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2698.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2701.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2704.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2707.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2710.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2713.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2716.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2719.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2722.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2725.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2728.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2731.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2734.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2737.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2740.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2743.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2746.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2749.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2752.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2755.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2758.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2761.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2764.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2767.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2770.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2773.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2776.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2779.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2782.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2785.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2788.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2791.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2794.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2797.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2800.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2803.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2806.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2809.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2812.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2815.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2818.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2821.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2824.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2827.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2830.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2833.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2836.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2839.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2842.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2845.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2848.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2851.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2854.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2857.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2860.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2863.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2866.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2869.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2872.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2875.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2878.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2881.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2884.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2887.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2890.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2893.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2896.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2899.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2902.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2905.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2908.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2911.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2914.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2917.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2920.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2923.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2926.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2929.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2932.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2935.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2938.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2941.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2944.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2947.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2950.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2953.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2956.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2959.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2962.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2965.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2968.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2971.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2974.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2977.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2980.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2983.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2986.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2989.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2992.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2995.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 2998.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3001.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3004.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3007.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3010.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3013.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3016.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3019.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3022.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3025.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3028.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3031.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3034.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3037.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3040.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3043.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3046.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3049.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3052.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3055.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3058.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3061.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3064.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3067.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 + 3070.5 0.0001 1000000 16008393268 0.7 0.28 0 0 0 0 0 0.00732252562381 0.0126774743762 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/Source/driver/Castro.H b/Source/driver/Castro.H index 8c7b9c13f8..b0882ec2d0 100644 --- a/Source/driver/Castro.H +++ b/Source/driver/Castro.H @@ -1418,8 +1418,8 @@ protected: /// -/// for keeping track of the amount of CPU time used -- this will persist -/// after restarts +/// for keeping track of the amount of CPU or GPU time used -- this will persist +/// after restarts /// static amrex::Real previousCPUTimeUsed; static amrex::Real startCPUTime; diff --git a/Source/driver/Castro.cpp b/Source/driver/Castro.cpp index e79cf0574e..3108b7794f 100644 --- a/Source/driver/Castro.cpp +++ b/Source/driver/Castro.cpp @@ -3300,6 +3300,9 @@ Castro::check_for_negative_density () std::cout << "Invalid X[" << n << "] = " << X << " in zone " << i << ", " << j << ", " << k << " with density = " << rho << "\n"; +#elif defined(ALLOW_GPU_PRINTF) + AMREX_DEVICE_PRINTF("Invalid X[%d] = %g in zone (%d,%d,%d) with density = %g\n", + n, X, i, j, k, rho); #endif X_check_failed = 1; } @@ -3310,6 +3313,10 @@ Castro::check_for_negative_density () return {rho_check_failed, X_check_failed}; }); +#ifdef ALLOW_GPU_PRINTF + std::fflush(nullptr); +#endif + } ReduceTuple hv = reduce_data.value(); diff --git a/Source/driver/Castro_io.cpp b/Source/driver/Castro_io.cpp index b0c58b5da2..93ea8d7ab6 100644 --- a/Source/driver/Castro_io.cpp +++ b/Source/driver/Castro_io.cpp @@ -564,8 +564,13 @@ Castro::writeJobInfo (const std::string& dir, const Real io_time) jobInfoFile << "hydro tile size: " << hydro_tile_size << "\n"; jobInfoFile << "\n"; +#ifdef AMREX_USE_GPU + jobInfoFile << "GPU time used since start of simulation (GPU-hours): " << + getCPUTime()/3600.0; +#else jobInfoFile << "CPU time used since start of simulation (CPU-hours): " << getCPUTime()/3600.0; +#endif jobInfoFile << "\n\n"; diff --git a/Source/reactions/Castro_react.cpp b/Source/reactions/Castro_react.cpp index f226cd62e5..ee9807dfb9 100644 --- a/Source/reactions/Castro_react.cpp +++ b/Source/reactions/Castro_react.cpp @@ -361,7 +361,7 @@ Castro::react_state(MultiFab& s, MultiFab& r, Real time, Real dt, const int stra if (store_burn_weights) { - if (jacobian == 1) { + if (integrator_rp::jacobian == 1) { weights(i,j,k,strang_half) = amrex::max(1.0_rt, static_cast(burn_state.n_rhs + 2 * burn_state.n_jac)); } else { // the RHS evals for the numerical differencing in the Jacobian are already accounted for in n_rhs @@ -417,6 +417,11 @@ Castro::react_state(MultiFab& s, MultiFab& r, Real time, Real dt, const int stra #if defined(AMREX_USE_HIP) Gpu::streamSynchronize(); // otherwise HIP may fail to allocate the necessary resources. #endif + +#ifdef ALLOW_GPU_PRINTF + std::fflush(nullptr); +#endif + } #if defined(AMREX_USE_GPU) @@ -752,7 +757,7 @@ Castro::react_state(Real time, Real dt) if (store_burn_weights) { - if (jacobian == 1) { + if (integrator_rp::jacobian == 1) { weights(i,j,k,lsdc_iteration) = amrex::max(1.0_rt, static_cast(burn_state.n_rhs + 2 * burn_state.n_jac)); } else { // the RHS evals for the numerical differencing in the Jacobian are already accounted for in n_rhs @@ -812,6 +817,11 @@ Castro::react_state(Real time, Real dt) #if defined(AMREX_USE_HIP) Gpu::streamSynchronize(); // otherwise HIP may fail to allocate the necessary resources. #endif + +#ifdef ALLOW_GPU_PRINTF + std::fflush(nullptr); +#endif + } #if defined(AMREX_USE_GPU) diff --git a/Source/sdc/sdc_newton_solve.H b/Source/sdc/sdc_newton_solve.H index 7a796e270c..da0c6feaad 100644 --- a/Source/sdc/sdc_newton_solve.H +++ b/Source/sdc/sdc_newton_solve.H @@ -162,7 +162,8 @@ sdc_newton_solve(const Real dt_m, info = RHS::dgefa(Jac); #else IArray1D ipvt; - dgefa(Jac, ipvt, info); + constexpr bool allow_pivot{true}; + dgefa(Jac, ipvt, info); #endif if (info != 0) { ierr = newton::SINGULAR_MATRIX; @@ -172,7 +173,7 @@ sdc_newton_solve(const Real dt_m, #ifdef NEW_NETWORK_IMPLEMENTATION RHS::dgesl(Jac, f); #else - dgesl(Jac, ipvt, f); + dgesl(Jac, ipvt, f); #endif // on output, f is the solution (dU) diff --git a/Source/sdc/sdc_react_util.H b/Source/sdc/sdc_react_util.H index dffd1dd1f0..b174dd8d03 100644 --- a/Source/sdc/sdc_react_util.H +++ b/Source/sdc/sdc_react_util.H @@ -35,7 +35,7 @@ single_zone_react_source(burn_t& burn_state, eos(eos_input_re, burn_state); // eos_get_small_temp(&small_temp); - burn_state.T = amrex::min(MAX_TEMP, amrex::max(burn_state.T, small_temp)); + burn_state.T = std::clamp(burn_state.T, small_temp, integrator_rp::MAX_TEMP); Array1D ydot;