From 6ebc2374a0fdde219e91287f066a0854a8e7226c Mon Sep 17 00:00:00 2001 From: David Hendriks <davidhendriks93@gmail.com> Date: Sat, 7 Aug 2021 21:04:11 +0100 Subject: [PATCH] working on the examples, turning them all into notebooks now --- .../.ipynb_checkpoints/examples-checkpoint.py | 167 - examples/{notebooks => }/basic_example.ipynb | 2 +- examples/example_population.py | 202 -- examples/example_systems/README.md | 1 - examples/examples.py | 229 -- examples/examples_custom_logging.py | 105 - examples/key_functions.py | 5 - examples/notebook_api_functionality.ipynb | 46 + examples/notebook_custom_logging.ipynb | 262 ++ examples/notebook_individual_systems.ipynb | 2741 +++++++++++++++++ examples/notebook_population.ipynb | 212 +- ...workshop_example_notebook-checkpoint.ipynb | 641 ---- .../notebooks/workshop_example_notebook.pdf | Bin 103581 -> 0 bytes .../workshop_example_notebook.ipynb | 38 +- 14 files changed, 3277 insertions(+), 1374 deletions(-) delete mode 100644 examples/.ipynb_checkpoints/examples-checkpoint.py rename examples/{notebooks => }/basic_example.ipynb (99%) delete mode 100644 examples/example_population.py delete mode 100644 examples/example_systems/README.md delete mode 100644 examples/examples.py delete mode 100644 examples/examples_custom_logging.py delete mode 100644 examples/key_functions.py create mode 100644 examples/notebook_api_functionality.ipynb create mode 100644 examples/notebook_custom_logging.ipynb create mode 100644 examples/notebook_individual_systems.ipynb delete mode 100644 examples/notebooks/.ipynb_checkpoints/workshop_example_notebook-checkpoint.ipynb delete mode 100644 examples/notebooks/workshop_example_notebook.pdf rename examples/{notebooks => }/workshop_example_notebook.ipynb (99%) diff --git a/examples/.ipynb_checkpoints/examples-checkpoint.py b/examples/.ipynb_checkpoints/examples-checkpoint.py deleted file mode 100644 index ab728b6e4..000000000 --- a/examples/.ipynb_checkpoints/examples-checkpoint.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/python3 -import os -import sys - -import binary_c_python_api - -from binarycpython.utils.functions import run_system, parse_output -from binarycpython.utils.custom_logging_functions import ( - autogen_C_logging_code, - binary_c_log_code, -) - -""" -Very basic scripts to run a binary system and print the output. - -Use these as inspiration/base. -""" - - -def run_example_binary(): - """ - Function to run a binary system. Very basic approach which directly adresses the run_binary(..) python-c wrapper function. - """ - - m1 = 15.0 # Msun - m2 = 14.0 # Msun - separation = 0 # 0 = ignored, use period - orbital_period = 4530.0 # days - eccentricity = 0.0 - metallicity = 0.02 - max_evolution_time = 15000 # Myr. You need to include this argument. - - # - argstring = "binary_c M_1 {m1} M_2 {m2} separation {separation} orbital_period {orbital_period} \ - eccentricity {eccentricity} metallicity {metallicity} \ - max_evolution_time {max_evolution_time}".format( - m1=m1, - m2=m2, - separation=separation, - orbital_period=orbital_period, - eccentricity=eccentricity, - metallicity=metallicity, - max_evolution_time=max_evolution_time, - ) - output = binary_c_python_api.run_binary(argstring) - print(output) - -run_example_binary() - - -def run_example_binary_with_run_system(): - """ - This function serves as an example on the function run_system and parse_output. - There is more functionality with this method and several tasks are done behind the scene. - - Requires pandas, numpy to run. - - run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background - parse_output: Takes the raw output of binary_c and selects those lines that start with the given header. - Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header - - The parsing of the output only works correctly if either all of the values are described inline like `mass=<number>' or none of them are. - """ - - import pandas as pd - import numpy as np - - # Run system. all arguments can be given as optional arguments. - output = run_system(M_1=10, M_2=20, separation=0, orbital_period=100000000000) - - # print(output) - - # Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function) - result_example_header_1 = parse_output(output, selected_header="example_header_1") - result_example_header_2 = parse_output(output, selected_header="example_header_2") - - # print(result_example_header_1) - - #### Now do whatever you want with it: - # Put it in numpy arrays - # t_res = np.asarray(result_example_header['t'], dtype=np.float64, order='C') - # m_res = np.asarray(result_example_header['mass'], dtype=np.float64, order='C') - - # Or put them into a pandas array - - - # Cast the data into a dataframe. - # This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..' - df = pd.DataFrame.from_dict(result_example_header_1, dtype=np.float64) - print(df) - - # This example has column headers which are numbered, but we can override that with custom headers. - df2 = pd.DataFrame.from_dict(result_example_header_2, dtype=np.float64) - df2.columns=['time', 'mass_1', 'mass_2', 'st1', 'st2', 'sep', 'ecc'] - print(df2) - - # print(df) - # sliced_df = df[df.t < 1000] # Cut off late parts of evolution - # print(sliced_df[["t","m1"]]) - - # Some routine to plot. - -run_example_binary_with_run_system() - -def run_example_binary_with_custom_logging(): - """ - Function that will use a automatically generated piece of logging code. Compile it, load it - into memory and run a binary system. See run_system on how several things are done in the background here. - """ - - import pandas as pd - import numpy as np - - # generate logging lines. Here you can choose whatever you want to have logged, and with what header - # this generates working print statements - logging_line = autogen_C_logging_code( - {"MY_STELLAR_DATA": ["model.time", "star[0].mass"],} - ) - # OR - # You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals. - logging_line = 'Printf("MY_STELLAR_DATA time=%g mass=%g\\n", stardata->model.time, stardata->star[0].mass)' - - # Generate entire shared lib code around logging lines - custom_logging_code = binary_c_log_code(logging_line) - - # Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically. - output = run_system( - M_1=1, - metallicity=0.002, - M_2=0.1, - separation=0, - orbital_period=100000000000, - custom_logging_code=custom_logging_code, - ) - - # Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function) - # DOESNT WORK YET if you have the line autogenerated. - result_example_header = parse_output(output, "MY_STELLAR_DATA") - - # Cast the data into a dataframe. - df = pd.DataFrame.from_dict(result_example_header, dtype=np.float64) - - # Do whatever you like with the dataframe. - print(df) - -run_example_binary_with_custom_logging() - -def run_example_binary_with_writing_logfile(): - """ - Same as above but when giving the log_filename argument the log filename will be written - """ - - import pandas as pd - import numpy as np - import tempfile - - # Run system. all arguments can be given as optional arguments. - output = run_system( - M_1=10, - M_2=20, - separation=0, - orbital_period=100000000000, - log_filename=tempfile.gettempdir() + "/test_log.txt", - - ) - -run_example_binary_with_writing_logfile() \ No newline at end of file diff --git a/examples/notebooks/basic_example.ipynb b/examples/basic_example.ipynb similarity index 99% rename from examples/notebooks/basic_example.ipynb rename to examples/basic_example.ipynb index ab0bd54d7..9078cfcb5 100644 --- a/examples/notebooks/basic_example.ipynb +++ b/examples/basic_example.ipynb @@ -13,7 +13,7 @@ "import binarycpython\n", "from binarycpython.utils.custom_logging_functions import binary_c_log_code\n", "from binarycpython.utils.run_system_wrapper import run_system\n", - "from binarycpython.utils.functions import example_parse_output\n" + "from binarycpython.utils.functions import example_parse_output" ] }, { diff --git a/examples/example_population.py b/examples/example_population.py deleted file mode 100644 index 139531060..000000000 --- a/examples/example_population.py +++ /dev/null @@ -1,202 +0,0 @@ - - -import os -from binarycpython.utils.grid import Population -from binarycpython.utils.functions import ( - get_help_all, - get_help, - create_hdf5, - output_lines, -) -from binarycpython.utils.custom_logging_functions import temp_dir - -######################################################### -# This file serves as an example for running a population. -# The use of help(<function>) is a good way to inspect what parameters are there to use -######################################################### - - -def parse_function(self, output): - # EXAMPLE PARSE_FUNCTION - - # extract info from the population instance - - # Get some information from the - data_dir = self.custom_options["data_dir"] - base_filename = self.custom_options["base_filename"] - - # Check directory, make if necessary - os.makedirs(data_dir, exist_ok=True) - - seperator = " " - - # Create filename - outfilename = os.path.join(data_dir, base_filename) - - parameters = ["time", "mass", "zams_mass", "probability", "radius", "stellar_type"] - - # Go over the output. - for el in output_lines(output): - headerline = el.split()[0] - - # CHeck the header and act accordingly - if headerline == "MY_STELLAR_DATA": - values = el.split()[1:] - print(values) - - if not len(parameters) == len(values): - print("Amount of column names isnt equal to amount of columns") - raise ValueError - - if not os.path.exists(outfilename): - with open(outfilename, "w") as f: - f.write(seperator.join(parameters) + "\n") - - with open(outfilename, "a") as f: - f.write(seperator.join(values) + "\n") - - -# Create population object -example_pop = Population() - -# If you want verbosity, set this before other things -example_pop.set(verbose=1) - -# Setting values can be done via .set(<parameter_name>=<value>) -# Values that are known to be binary_c_parameters are loaded into bse_options. -# Those that are present in the default grid_options are set in grid_options -# All other values that you set are put in a custom_options dict -example_pop.set( - # binary_c physics options - M_1=10, # bse_options - separation=0, # bse_options - orbital_period=45000000080, # bse_options - max_evolution_time=15000, # bse_options - eccentricity=0.02, # bse_options - # Set companion to low mass - M_2=0.08, # Since in the example we run a single system, we should set the companion mass here. If we donm't do this, the code will complain. - # grid_options - amt_cores=2, # grid_options - verbose=1, # verbosity. Not fully configured correctly yet but having it value of 1 prints alot of stuff - # Custom options # TODO: need to be set in grid_options probably - data_dir=os.path.join( - temp_dir(), "example_python_population_result" - ), # custom_options - base_filename="example_pop.dat", # custom_options -) - -# Creating a parsing function -example_pop.set( - parse_function=parse_function, # Setting the parse function thats used in the evolve_population -) - -### Custom logging - -## Below example requires changing the parse function -## very simple example of custom logging. Will work but need to change the parse function to handle that nicely. -# example_pop.set( -# C_auto_logging={ -# "MY_HEADER_LINE": ["star[0].mass", "star[1].mass", "model.probability"] -# } -# ) - - -# Log the moment when the star turns into neutron -example_pop.set( - C_logging_code=""" -if(stardata->star[0].stellar_type >= 13) -{ - if (stardata->model.time < stardata->model.max_evolution_time) - { - Printf("MY_STELLAR_DATA %30.12e %g %g %g %g %d\\n", - // - stardata->model.time, // 1 - stardata->star[0].mass, // 2 - stardata->common.zero_age.mass[0], // 4 - stardata->model.probability, // 5 - stardata->star[0].radius, // 6 - stardata->star[0].stellar_type // 7 - ); - }; - /* Kill the simulation to save time */ - stardata->model.max_evolution_time = stardata->model.time - stardata->model.dtm; -}; -""" -) - -# Add grid variables -resolution = {"M_1": 20, "q": 20, "per": 40} - -# Mass -example_pop.add_grid_variable( - name="lnm1", - longname="Primary mass", - valuerange=[2, 150], - resolution="{}".format(resolution["M_1"]), - spacingfunc="const(math.log(2), math.log(150), {})".format(resolution["M_1"]), - precode="M_1=math.exp(lnm1)", - probdist="three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1", - dphasevol="dlnm1", - parameter_name="M_1", - condition="", # Impose a condition on this grid variable. Mostly for a check for yourself -) - -# # Mass ratio -# test_pop.add_grid_variable( -# name="q", -# longname="Mass ratio", -# valuerange=["0.1/M_1", 1], -# resolution="{}".format(resolution['q']), -# spacingfunc="const(0.1/M_1, 1, {})".format(resolution['q']), -# probdist="flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])", -# dphasevol="dq", -# precode="M_2 = q * M_1", -# parameter_name="M_2", -# condition="", # Impose a condition on this grid variable. Mostly for a check for yourself -# ) - -# # -# test_pop.add_grid_variable( -# name="log10per", # in days -# longname="log10(Orbital_Period)", -# valuerange=[0.15, 5.5], -# resolution="{}".format(resolution["per"]), -# spacingfunc="const(0.15, 5.5, {})".format(resolution["per"]), -# precode="""orbital_period = 10** log10per -# sep = calc_sep_from_period(M_1, M_2, orbital_period) -# sep_min = calc_sep_from_period(M_1, M_2, 10**0.15) -# sep_max = calc_sep_from_period(M_1, M_2, 10**5.5)""", -# probdist="sana12(M_1, M_2, sep, orbital_period, sep_min, sep_max, math.log10(10**0.15), math.log10(10**5.5), -0.55)", -# parameter_name="orbital_period", -# dphasevol="dlog10per", -# ) - - -# Exporting of all the settings can be done with .export_all_info() -# on default it exports everything, but can be supressed by turning it off: -# population settings (bse_options, grid_options, custom_options), turn off with include_population -# settings=False -# binary_c_defaults (all the commandline arguments that binary c accepts, and their defaults). -# turn off with include_binary_c_defaults=False -# include_binary_c_version_info (all the compilation info, and information about the compiled -# parameters), turn off with include_binary_c_version_info=False -# include_binary_c_help_all (all the help information for all the binary_c parameters), -# turn off with include_binary_c_help_all=Fase -# On default it will write this to the custom_options['data_dir'], but that can be overriden by -# setting use_datadir=False and providing an outfile=<> -example_pop.export_all_info() - -## Executing a single system -## This uses the M_1 orbital period etc set with the set function -# output = example_pop.evolve_single() -# print(output) - -## Executing a population -## This uses the values generated by the grid_variables -example_pop.evolve() # TODO: update this function call - -# Wrapping up the results to an hdf5 file can be done by using the create_hdf5 -# (<directory containing data and settings>) This function takes the settings file -# (ending in _settings.json) and the data files (ending in .dat) from the data_dir -# and packing them into an hdf5 file, which is then written into the same data_dir directory -create_hdf5(data_dir=example_pop.custom_options["data_dir"], name="example_pop.hdf5") diff --git a/examples/example_systems/README.md b/examples/example_systems/README.md deleted file mode 100644 index 45fd1d781..000000000 --- a/examples/example_systems/README.md +++ /dev/null @@ -1 +0,0 @@ -# This directory is meant to contain script to generate test systems. diff --git a/examples/examples.py b/examples/examples.py deleted file mode 100644 index 767d8ea35..000000000 --- a/examples/examples.py +++ /dev/null @@ -1,229 +0,0 @@ -#!/usr/bin/python3 -import os -import sys - -from binarycpython import _binary_c_bindings - -from binarycpython.utils.functions import example_parse_output -from binarycpython.utils.custom_logging_functions import ( - autogen_C_logging_code, - binary_c_log_code, - create_and_load_logging_function, -) -from binarycpython.utils.run_system_wrapper import run_system - -""" -Very basic scripts to run a binary system and print the output. - -Use these as inspiration/base. -""" - - -def run_example_binary(): - """ - Function to run a binary system. Very basic approach which directly adresses the run_system(..) python-c wrapper function. - """ - - m1 = 15.0 # Msun - m2 = 14.0 # Msun - separation = 0 # 0 = ignored, use period - orbital_period = 4530.0 # days - eccentricity = 0.0 - metallicity = 0.02 - max_evolution_time = 15000 # Myr. You need to include this argument. - - # - argstring = "binary_c M_1 {m1} M_2 {m2} separation {separation} orbital_period {orbital_period} \ - eccentricity {eccentricity} metallicity {metallicity} \ - max_evolution_time {max_evolution_time}".format( - m1=m1, - m2=m2, - separation=separation, - orbital_period=orbital_period, - eccentricity=eccentricity, - metallicity=metallicity, - max_evolution_time=max_evolution_time, - ) - output = _binary_c_bindings.run_system(argstring) - print(output) - - -run_example_binary() - - -def run_example_binary_with_run_system(): - """ - This function serves as an example on the function run_system and parse_output. - There is more functionality with this method and several tasks are done behind the scene. - - Requires pandas, numpy to run. - - run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background - parse_output: Takes the raw output of binary_c and selects those lines that start with the given header. - Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header - - The parsing of the output only works correctly if either all of the values are described inline like `mass=<number>' or none of them are. - """ - - import pandas as pd - import numpy as np - - # Run system. all arguments can be given as optional arguments. - output = run_system(M_1=10, M_2=20, separation=0, orbital_period=100000000000) - - # print(output) - - # Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function) - result_example_header_1 = example_parse_output( - output, selected_header="example_header_1" - ) - result_example_header_2 = example_parse_output( - output, selected_header="example_header_2" - ) - - # print(result_example_header_1) - - #### Now do whatever you want with it: - # Put it in numpy arrays - # t_res = np.asarray(result_example_header['t'], dtype=np.float64, order='C') - # m_res = np.asarray(result_example_header['mass'], dtype=np.float64, order='C') - - # Or put them into a pandas array - - # Cast the data into a dataframe. - # This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..' - print(result_example_header_1) - df = pd.DataFrame.from_dict(result_example_header_1, dtype=np.float64) - print(df) - - # This example has column headers which are numbered, but we can override that with custom headers. - df2 = pd.DataFrame.from_dict(result_example_header_2, dtype=np.float64) - df2.columns = ["time", "mass_1", "mass_2", "st1", "st2", "sep", "ecc"] - print(df2) - - # print(df) - # sliced_df = df[df.t < 1000] # Cut off late parts of evolution - # print(sliced_df[["t","m1"]]) - - # Some routine to plot. - - -# run_example_binary_with_run_system() - - -def run_example_custom_logging_autogenerated(): - """ - This is an example function for the autogeneration of logging codes that binary_c uses. - """ - - # generate logging lines - logging_line = autogen_C_logging_code( - { - "MY_STELLAR_DATA": ["model.time", "star[0].mass"], - "my_sss2": ["model.time", "star[1].mass"], - } - ) - - # Generate code around logging lines - custom_logging_code = binary_c_log_code(logging_line) - - # Generate library and get memaddr - func_memaddr, shared_lib_filename = create_and_load_logging_function( - custom_logging_code - ) - - # - m1 = 15.0 # Msun - m2 = 14.0 # Msun - separation = 0 # 0 = ignored, use period - orbital_period = 4530.0 # days - eccentricity = 0.0 - metallicity = 0.02 - max_evolution_time = 15000 - argstring = "binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g}".format( - m1, - m2, - separation, - orbital_period, - eccentricity, - metallicity, - max_evolution_time, - ) - output = _binary_c_bindings.run_system( - argstring, custom_logging_func_memaddr=func_memaddr - ) - print(output) - - -# run_example_custom_logging_autogenerated() - - -def run_example_binary_with_custom_logging(): - """ - Function that will use a automatically generated piece of logging code. Compile it, load it - into memory and run a binary system. See run_system on how several things are done in the background here. - """ - - import pandas as pd - import numpy as np - - # generate logging lines. Here you can choose whatever you want to have logged, and with what header - # this generates working print statements - logging_line = autogen_C_logging_code( - { - "MY_STELLAR_DATA": ["model.time", "star[0].mass"], - } - ) - # OR - # You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals. - logging_line = 'Printf("MY_STELLAR_DATA time=%g mass=%g\\n", stardata->model.time, stardata->star[0].mass)' - - # Generate entire shared lib code around logging lines - custom_logging_code = binary_c_log_code(logging_line) - - # Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically. - output = run_system( - M_1=1, - metallicity=0.002, - M_2=0.1, - separation=0, - orbital_period=100000000000, - custom_logging_code=custom_logging_code, - ) - - print(output) - - # Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function) - # DOESNT WORK YET if you have the line autogenerated. - result_example_header = parse_output(output, "MY_STELLAR_DATA") - - # Cast the data into a dataframe. - df = pd.DataFrame.from_dict(result_example_header, dtype=np.float64) - - # Do whatever you like with the dataframe. - print(df) - - -# run_example_binary_with_custom_logging() - - -def run_example_binary_with_writing_logfile(): - """ - Same as above but when giving the log_filename argument the log filename will be written - """ - - import pandas as pd - import numpy as np - import tempfile - - # Run system. all arguments can be given as optional arguments. - output = run_system( - M_1=10, - M_2=20, - separation=0, - orbital_period=100000000000, - log_filename=tempfile.gettempdir() + "/test_log.txt", - ) - - -run_example_binary_with_writing_logfile() \ No newline at end of file diff --git a/examples/examples_custom_logging.py b/examples/examples_custom_logging.py deleted file mode 100644 index 15e8109f1..000000000 --- a/examples/examples_custom_logging.py +++ /dev/null @@ -1,105 +0,0 @@ -import binary_c_python_api - -from binarycpython.utils.custom_logging_functions import ( - autogen_C_logging_code, - binary_c_log_code, - create_and_load_logging_function, -) - -from binarycpython.utils.grid import Population - -################################################# -# File containing examples for the custom logging -# I'll put several logging snippets for different purposes in this file -# - -################################################# -# no logging set. -pop = Population() -pop.set( - M_1=10, - M_2=10, - separation=0, - orbital_period=4530, - eccentricity=0, - metallicity=0.02, - max_evolution_time=15000, -) -out = pop.evolve_single() -print(out) - -################################################# -# Example logging snippet for logging -pop.set( - C_logging_code=""" - if(stardata->star[0].stellar_type>=MS) - { - if (stardata->model.time < stardata->model.max_evolution_time) - { - Printf("EXAMPLE_ABOVE_MS %30.12e %g %g %g %g %d %d\\n", - // - stardata->model.time, // 1 - - stardata->star[0].mass, //2 - stardata->previous_stardata->star[0].mass, //3 - - stardata->star[0].radius, //4 - stardata->previous_stardata->star[0].radius, //5 - - stardata->star[0].stellar_type, //6 - stardata->previous_stardata->star[0].stellar_type //7 - ); - }; - /* Kill the simulation to save time */ - //stardata->model.max_evolution_time = stardata->model.time - stardata->model.dtm; - }; -""" -) -out = pop.evolve_single() -print(out) - - -################################################# -# Example logging snippet for checking whether the system becomes a NS, and stop the evolution if so. -pop.set( - M_1=100, - M_2=10, - separation=0, - orbital_period=400530, - eccentricity=0, - metallicity=0.002, - max_evolution_time=15000, -) -pop.set( - C_logging_code=""" - if(stardata->star[0].stellar_type>=NS) - { - if (stardata->model.time < stardata->model.max_evolution_time) - { - Printf("EXAMPLE_LOG_CO %30.12e %g %g %g %g %d %d\\n", - // - stardata->model.time, // 1 - - stardata->star[0].mass, //2 - stardata->previous_stardata->star[0].mass, //3 - - stardata->star[0].radius, //4 - stardata->previous_stardata->star[0].radius, //5 - - stardata->star[0].stellar_type, //6 - stardata->previous_stardata->star[0].stellar_type //7 - ); - }; - /* Kill the simulation to save time */ - stardata->model.max_evolution_time = stardata->model.time - stardata->model.dtm; - }; -""" -) -out = pop.evolve_single() - - -# TODO: add function that shows a - -# TODO: add function for compact object mergers - -# TODO: add function diff --git a/examples/key_functions.py b/examples/key_functions.py deleted file mode 100644 index b08671fa2..000000000 --- a/examples/key_functions.py +++ /dev/null @@ -1,5 +0,0 @@ -""" -This script contains examples and explanation of the key functions of this package. - -TODO: describe the functions -""" diff --git a/examples/notebook_api_functionality.ipynb b/examples/notebook_api_functionality.ipynb new file mode 100644 index 000000000..0153a066e --- /dev/null +++ b/examples/notebook_api_functionality.ipynb @@ -0,0 +1,46 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cb9d00f5-9613-471e-a4bb-6181311bf73b", + "metadata": {}, + "source": [ + "# Notebook API functionality\n", + "This notebook shows how to use the API functions that interface with binary_c. \n", + "\n", + "Binarycpython uses the Python-C extension framework to interface Python with C. The sourcecode for this is contained in `src/binary_c_python.c`, and the functions are available via `from binarycpython import _binary_c_bindings`\n", + "\n", + "The" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1948004-984f-4fd0-ba4d-5972c12689c4", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebook_custom_logging.ipynb b/examples/notebook_custom_logging.ipynb new file mode 100644 index 000000000..3564cbf8e --- /dev/null +++ b/examples/notebook_custom_logging.ipynb @@ -0,0 +1,262 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "879b596b-d70c-4f90-b668-563b4ad93ffc", + "metadata": {}, + "source": [ + "# Notebook custom logging\n", + "In this notebook you'll learn how to use the custom logging functionalty" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "77bd09b0-1a94-499d-97db-a1f991c67c12", + "metadata": {}, + "outputs": [], + "source": [ + "import binary_c_python_api\n", + "\n", + "from binarycpython.utils.custom_logging_functions import (\n", + " autogen_C_logging_code,\n", + " binary_c_log_code,\n", + " create_and_load_logging_function,\n", + ")\n", + "\n", + "from binarycpython.utils.grid import Population\n", + "\n", + "#################################################\n", + "# File containing examples for the custom logging\n", + "# I'll put several logging snippets for different purposes in this file\n", + "#\n", + "\n", + "#################################################\n", + "# no logging set.\n", + "pop = Population()\n", + "pop.set(\n", + " M_1=10,\n", + " M_2=10,\n", + " separation=0,\n", + " orbital_period=4530,\n", + " eccentricity=0,\n", + " metallicity=0.02,\n", + " max_evolution_time=15000,\n", + ")\n", + "out = pop.evolve_single()\n", + "print(out)\n", + "\n", + "#################################################\n", + "# Example logging snippet for logging\n", + "pop.set(\n", + " C_logging_code=\"\"\"\n", + " if(stardata->star[0].stellar_type>=MS)\n", + " {\n", + " if (stardata->model.time < stardata->model.max_evolution_time)\n", + " {\n", + " Printf(\"EXAMPLE_ABOVE_MS %30.12e %g %g %g %g %d %d\\\\n\",\n", + " // \n", + " stardata->model.time, // 1\n", + "\n", + " stardata->star[0].mass, //2\n", + " stardata->previous_stardata->star[0].mass, //3\n", + "\n", + " stardata->star[0].radius, //4\n", + " stardata->previous_stardata->star[0].radius, //5\n", + "\n", + " stardata->star[0].stellar_type, //6\n", + " stardata->previous_stardata->star[0].stellar_type //7\n", + " );\n", + " };\n", + " /* Kill the simulation to save time */\n", + " //stardata->model.max_evolution_time = stardata->model.time - stardata->model.dtm;\n", + " };\n", + "\"\"\"\n", + ")\n", + "out = pop.evolve_single()\n", + "print(out)\n", + "\n", + "\n", + "#################################################\n", + "# Example logging snippet for checking whether the system becomes a NS, and stop the evolution if so.\n", + "pop.set(\n", + " M_1=100,\n", + " M_2=10,\n", + " separation=0,\n", + " orbital_period=400530,\n", + " eccentricity=0,\n", + " metallicity=0.002,\n", + " max_evolution_time=15000,\n", + ")\n", + "pop.set(\n", + " C_logging_code=\"\"\"\n", + " if(stardata->star[0].stellar_type>=NS)\n", + " {\n", + " if (stardata->model.time < stardata->model.max_evolution_time)\n", + " {\n", + " Printf(\"EXAMPLE_LOG_CO %30.12e %g %g %g %g %d %d\\\\n\",\n", + " // \n", + " stardata->model.time, // 1\n", + "\n", + " stardata->star[0].mass, //2\n", + " stardata->previous_stardata->star[0].mass, //3\n", + "\n", + " stardata->star[0].radius, //4\n", + " stardata->previous_stardata->star[0].radius, //5\n", + "\n", + " stardata->star[0].stellar_type, //6\n", + " stardata->previous_stardata->star[0].stellar_type //7\n", + " );\n", + " };\n", + " /* Kill the simulation to save time */\n", + " stardata->model.max_evolution_time = stardata->model.time - stardata->model.dtm;\n", + " };\n", + "\"\"\"\n", + ")\n", + "out = pop.evolve_single()\n", + "\n", + "\n", + "# TODO: add function that shows a\n", + "\n", + "# TODO: add function for compact object mergers\n", + "\n", + "# TODO: add function\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a6150cc1-895c-4e7b-baae-7db81ee81544", + "metadata": {}, + "outputs": [], + "source": [ + "def run_example_binary_with_custom_logging():\n", + " \"\"\"\n", + " Function that will use a automatically generated piece of logging code. Compile it, load it\n", + " into memory and run a binary system. See run_system on how several things are done in the background here.\n", + " \"\"\"\n", + "\n", + " import pandas as pd\n", + " import numpy as np\n", + "\n", + " # generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", + " # this generates working print statements\n", + " logging_line = autogen_C_logging_code(\n", + " {\n", + " \"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],\n", + " }\n", + " )\n", + " # OR\n", + " # You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", + " logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", + "\n", + " # Generate entire shared lib code around logging lines\n", + " custom_logging_code = binary_c_log_code(logging_line)\n", + "\n", + " # Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically.\n", + " output = run_system(\n", + " M_1=1,\n", + " metallicity=0.002,\n", + " M_2=0.1,\n", + " separation=0,\n", + " orbital_period=100000000000,\n", + " custom_logging_code=custom_logging_code,\n", + " )\n", + "\n", + " print(output)\n", + "\n", + " # Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + " # DOESNT WORK YET if you have the line autogenerated.\n", + " result_example_header = parse_output(output, \"MY_STELLAR_DATA\")\n", + "\n", + " # Cast the data into a dataframe.\n", + " df = pd.DataFrame.from_dict(result_example_header, dtype=np.float64)\n", + "\n", + " # Do whatever you like with the dataframe.\n", + " print(df)\n", + "\n", + "\n", + "# run_example_binary_with_custom_logging()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30142286-34ce-433e-82c8-565e2160ff5b", + "metadata": {}, + "outputs": [], + "source": [ + "def run_example_custom_logging_autogenerated():\n", + " \"\"\"\n", + " This is an example function for the autogeneration of logging codes that binary_c uses.\n", + " \"\"\"\n", + "\n", + " # generate logging lines\n", + " logging_line = autogen_C_logging_code(\n", + " {\n", + " \"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],\n", + " \"my_sss2\": [\"model.time\", \"star[1].mass\"],\n", + " }\n", + " )\n", + "\n", + " # Generate code around logging lines\n", + " custom_logging_code = binary_c_log_code(logging_line)\n", + "\n", + " # Generate library and get memaddr\n", + " func_memaddr, shared_lib_filename = create_and_load_logging_function(\n", + " custom_logging_code\n", + " )\n", + "\n", + " #\n", + " m1 = 15.0 # Msun\n", + " m2 = 14.0 # Msun\n", + " separation = 0 # 0 = ignored, use period\n", + " orbital_period = 4530.0 # days\n", + " eccentricity = 0.0\n", + " metallicity = 0.02\n", + " max_evolution_time = 15000\n", + " argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g}\".format(\n", + " m1,\n", + " m2,\n", + " separation,\n", + " orbital_period,\n", + " eccentricity,\n", + " metallicity,\n", + " max_evolution_time,\n", + " )\n", + " output = _binary_c_bindings.run_system(\n", + " argstring, custom_logging_func_memaddr=func_memaddr\n", + " )\n", + " print(output)\n", + "\n", + "\n", + "# run_example_custom_logging_autogenerated()\n", + "\n", + "\n", + "\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebook_individual_systems.ipynb b/examples/notebook_individual_systems.ipynb new file mode 100644 index 000000000..63f4e6a61 --- /dev/null +++ b/examples/notebook_individual_systems.ipynb @@ -0,0 +1,2741 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a544d28c-c2e1-4c6a-b55b-8caec440743f", + "metadata": {}, + "source": [ + "# Notebook individual system\n", + "This notebook will show you how to run single systems and analyze their results.\n", + "\n", + "It can be useful to have some functions to quickly run a single system to e.g. inspect what evolutionary steps a specific system goes through, to plot the mass loss evolution of a single star, etc. " + ] + }, + { + "cell_type": "markdown", + "id": "dd5d9ec7-5791-45f1-afbd-225947e2a583", + "metadata": {}, + "source": [ + "## Single system with run_wrapper\n", + "The simplest method to run a single system is to use the run_system wrapper. This function deals with setting up the argument string, makes sure all the required parameters are included and handles setting and cleaning up the custom logging functionality (see notebook_custom_logging).\n", + "\n", + "As arguments to this function we can add any of the parameters that binary_c itself actually knows, as well as:\n", + "- custom_logging_code: string containing a print statement that binary_c can use to print information\n", + "- log_filename: path of the logfile that binary_c generates\n", + "- parse_function: function that handles parsing the output of binary-c" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "425efed3-d8e3-432d-829e-41d8ebe05162", + "metadata": {}, + "outputs": [], + "source": [ + "from binarycpython.utils.run_system_wrapper import run_system\n", + "# help(run_system) # Uncomment to see the docstring" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "b2abab48-433d-4936-8434-14804c52c9f6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SINGLE_STAR_LIFETIME 1 12462\n", + "\n" + ] + } + ], + "source": [ + "output = run_system(M_1=1)\n", + "print(output)" + ] + }, + { + "cell_type": "markdown", + "id": "f127a5e4-dc01-4472-9130-8a943c92e8a7", + "metadata": {}, + "source": [ + "Lets try adding a log filename now:" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "029fc3f2-f09a-49af-a32b-248505738f2e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " TIME M1 M2 K1 K2 SEP ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=70884 RANDOM_COUNT=0\n", + " 0.0000 1.000 0.000 1 15 -1 -1.00 0.000 0.000 \"INITIAL \"\n", + " 11003.1302 1.000 0.000 2 15 -1 -1.00 0.000 0.000 \"OFF_MS\"\n", + " 11003.1302 1.000 0.000 2 15 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", + " 11582.2424 1.000 0.000 3 15 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", + " 12325.1085 0.817 0.000 4 15 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", + " 12457.1300 0.783 0.000 5 15 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", + " 12460.8955 0.774 0.000 6 15 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", + " 12460.8955 0.774 0.000 6 15 -1 -1.00 0.000 0.000 \"shrinkAGB\"\n", + " 12461.9514 0.523 0.000 11 15 -1 -1.00 0.000 0.000 \"TYPE_CHNGE\"\n", + " 15000.0000 0.523 0.000 11 15 -1 -1.00 0.000 0.000 \"MAX_TIME\"\n", + "\n" + ] + } + ], + "source": [ + "output = run_system(M_1=1, log_filename='/tmp/test_logfile.txt')\n", + "with open('/tmp/test_logfile.txt', 'r') as f:\n", + " print(f.read())" + ] + }, + { + "cell_type": "markdown", + "id": "606670f2-3e0a-43c7-a885-006b92fac9d2", + "metadata": {}, + "source": [ + "To get more useful output we can include a custom_logging snippet (see notebook_custom_logging):" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "e6a23b55-ca42-440d-83ac-e76a24a83a67", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating the code for the shared library for the custom logging\n", + "EXAMPLE_MASSLOSS 0.000000000000e+00 1 1 1\n", + "EXAMPLE_MASSLOSS 0.000000000000e+00 1 1 1\n", + "EXAMPLE_MASSLOSS 1.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 2.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 3.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 4.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 5.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 6.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 7.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 8.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 9.000000000000e-06 1 1 1\n", + "EXAMPLE_MASSLOSS 4.763878112795e+01 1 1 1\n", + "EXAMPLE_MASSLOSS 9.480116556240e+01 1 1 1\n", + "EXAMPLE_MASSLOSS 1.428283875469e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 1.916962927987e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 2.414188900125e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 2.920092540441e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 3.434806096287e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 3.958462973355e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 4.491197701750e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 5.033145889377e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 5.584444171268e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 6.145230154373e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 6.715642357617e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 7.295820147006e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 7.885903665593e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 8.486033758102e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 9.096351890043e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 9.717000061158e+02 1 1 1\n", + "EXAMPLE_MASSLOSS 1.034812071304e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.098985663084e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.164235083886e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.230574649017e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.298018675001e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.366581467302e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.436277307456e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.507120439586e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.579125056354e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.652305284339e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.726675168897e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.802248658521e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.879039588750e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.957061665691e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.036328449203e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.116853335820e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.198649541513e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.281730084359e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.366107767257e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.451795160792e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.538804586390e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.627148099925e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.716837475934e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.807884192625e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.900299417893e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 2.994093996546e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.089278438999e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.185862911678e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.283857229432e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.383270850248e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.484112872603e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.586392035807e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.690116723723e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.795294972272e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 3.901934481191e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.010042630511e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.119626502295e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.229657804754e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.339689107212e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.449720409670e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.559751712129e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.669783014587e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.779814317045e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.889845619504e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 4.999876921962e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.109908224421e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.219939526879e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.329970829337e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.440002131796e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.550033434254e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.660064736712e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.770096039171e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.880127341629e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 5.990158644088e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.100189946546e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.210221249004e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.320252551463e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.430283853921e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.540315156379e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.650346458838e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.760377761296e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.870409063755e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 6.980440366213e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.090471668671e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.200502971130e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.310534273588e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.420565576046e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.530596878505e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.640628180963e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.750659483422e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.860690785880e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 7.970722088338e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.080753390797e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.190784693255e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.300815995713e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.410847298172e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.520878600630e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.630909903089e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.740941205547e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.850972508005e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 8.961003810464e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.071035112922e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.181066415380e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.291097717839e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.401129020297e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.511160322756e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.621191625214e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.731222927672e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.841254230131e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 9.951285532589e+03 1 1 1\n", + "EXAMPLE_MASSLOSS 1.006131683505e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.017134813751e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.028137943996e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.039141074242e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.050144204488e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.061147334734e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.072150464980e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.083153595226e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.094156725471e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.100313024584e+04 1 1 1\n", + "EXAMPLE_MASSLOSS 1.100313024594e+04 1 1 2\n", + "EXAMPLE_MASSLOSS 1.106104145776e+04 0.999968 1 2\n", + "EXAMPLE_MASSLOSS 1.111895266958e+04 0.999935 1 2\n", + "EXAMPLE_MASSLOSS 1.117686388140e+04 0.9999 1 2\n", + "EXAMPLE_MASSLOSS 1.123477509322e+04 0.999863 1 2\n", + "EXAMPLE_MASSLOSS 1.129268630504e+04 0.999824 1 2\n", + "EXAMPLE_MASSLOSS 1.135059751686e+04 0.999784 1 2\n", + "EXAMPLE_MASSLOSS 1.140850872868e+04 0.999741 1 2\n", + "EXAMPLE_MASSLOSS 1.146641994050e+04 0.999697 1 2\n", + "EXAMPLE_MASSLOSS 1.152433115232e+04 0.99965 1 2\n", + "EXAMPLE_MASSLOSS 1.158224236404e+04 0.999601 1 3\n", + "EXAMPLE_MASSLOSS 1.158969288839e+04 0.999595 1 3\n", + "EXAMPLE_MASSLOSS 1.159706890750e+04 0.999588 1 3\n", + "EXAMPLE_MASSLOSS 1.160437116642e+04 0.999581 1 3\n", + "EXAMPLE_MASSLOSS 1.161160040276e+04 0.999574 1 3\n", + "EXAMPLE_MASSLOSS 1.161875734672e+04 0.999568 1 3\n", + "EXAMPLE_MASSLOSS 1.162584272125e+04 0.999561 1 3\n", + "EXAMPLE_MASSLOSS 1.163285724203e+04 0.999554 1 3\n", + "EXAMPLE_MASSLOSS 1.163980161761e+04 0.999547 1 3\n", + "EXAMPLE_MASSLOSS 1.164667654943e+04 0.99954 1 3\n", + "EXAMPLE_MASSLOSS 1.165348273193e+04 0.999533 1 3\n", + "EXAMPLE_MASSLOSS 1.166022085260e+04 0.999525 1 3\n", + "EXAMPLE_MASSLOSS 1.166689159207e+04 0.999518 1 3\n", + "EXAMPLE_MASSLOSS 1.167349562414e+04 0.999511 1 3\n", + "EXAMPLE_MASSLOSS 1.168003361590e+04 0.999504 1 3\n", + "EXAMPLE_MASSLOSS 1.168650622773e+04 0.999496 1 3\n", + "EXAMPLE_MASSLOSS 1.169291411345e+04 0.999489 1 3\n", + "EXAMPLE_MASSLOSS 1.169925792031e+04 0.999481 1 3\n", + "EXAMPLE_MASSLOSS 1.170553828910e+04 0.999473 1 3\n", + "EXAMPLE_MASSLOSS 1.171175585421e+04 0.999466 1 3\n", + "EXAMPLE_MASSLOSS 1.171791124366e+04 0.999458 1 3\n", + "EXAMPLE_MASSLOSS 1.172400507922e+04 0.99945 1 3\n", + "EXAMPLE_MASSLOSS 1.173003797642e+04 0.999442 1 3\n", + "EXAMPLE_MASSLOSS 1.173601054465e+04 0.999434 1 3\n", + "EXAMPLE_MASSLOSS 1.174192338720e+04 0.999426 1 3\n", + "EXAMPLE_MASSLOSS 1.174777710132e+04 0.999418 1 3\n", + "EXAMPLE_MASSLOSS 1.175357227830e+04 0.99941 1 3\n", + "EXAMPLE_MASSLOSS 1.175930950352e+04 0.999402 1 3\n", + "EXAMPLE_MASSLOSS 1.176498935648e+04 0.999394 1 3\n", + "EXAMPLE_MASSLOSS 1.177061241091e+04 0.999385 1 3\n", + "EXAMPLE_MASSLOSS 1.177617923479e+04 0.999377 1 3\n", + "EXAMPLE_MASSLOSS 1.178169039044e+04 0.999368 1 3\n", + "EXAMPLE_MASSLOSS 1.178714643453e+04 0.99936 1 3\n", + "EXAMPLE_MASSLOSS 1.179254791818e+04 0.999351 1 3\n", + "EXAMPLE_MASSLOSS 1.179789538699e+04 0.999343 1 3\n", + "EXAMPLE_MASSLOSS 1.180318938112e+04 0.999334 1 3\n", + "EXAMPLE_MASSLOSS 1.180843043530e+04 0.999325 1 3\n", + "EXAMPLE_MASSLOSS 1.181361907894e+04 0.999316 1 3\n", + "EXAMPLE_MASSLOSS 1.181875583615e+04 0.999307 1 3\n", + "EXAMPLE_MASSLOSS 1.182384122578e+04 0.999298 1 3\n", + "EXAMPLE_MASSLOSS 1.182887576152e+04 0.999289 1 3\n", + "EXAMPLE_MASSLOSS 1.183385995190e+04 0.999279 1 3\n", + "EXAMPLE_MASSLOSS 1.183879430037e+04 0.99927 1 3\n", + "EXAMPLE_MASSLOSS 1.184367930536e+04 0.999261 1 3\n", + "EXAMPLE_MASSLOSS 1.184851546031e+04 0.999251 1 3\n", + "EXAMPLE_MASSLOSS 1.185330325370e+04 0.999242 1 3\n", + "EXAMPLE_MASSLOSS 1.185804316916e+04 0.999232 1 3\n", + "EXAMPLE_MASSLOSS 1.186273568546e+04 0.999222 1 3\n", + "EXAMPLE_MASSLOSS 1.186738127660e+04 0.999213 1 3\n", + "EXAMPLE_MASSLOSS 1.187198041183e+04 0.999203 1 3\n", + "EXAMPLE_MASSLOSS 1.187653355570e+04 0.999193 1 3\n", + "EXAMPLE_MASSLOSS 1.188104116814e+04 0.999183 1 3\n", + "EXAMPLE_MASSLOSS 1.188550370446e+04 0.999172 1 3\n", + "EXAMPLE_MASSLOSS 1.188992161541e+04 0.999162 1 3\n", + "EXAMPLE_MASSLOSS 1.189429534725e+04 0.999152 1 3\n", + "EXAMPLE_MASSLOSS 1.189862534177e+04 0.999142 1 3\n", + "EXAMPLE_MASSLOSS 1.190291203635e+04 0.999131 1 3\n", + "EXAMPLE_MASSLOSS 1.190715586398e+04 0.99912 1 3\n", + "EXAMPLE_MASSLOSS 1.191135725333e+04 0.99911 1 3\n", + "EXAMPLE_MASSLOSS 1.191551662879e+04 0.999099 1 3\n", + "EXAMPLE_MASSLOSS 1.191963441050e+04 0.999088 1 3\n", + "EXAMPLE_MASSLOSS 1.192371101439e+04 0.999077 1 3\n", + "EXAMPLE_MASSLOSS 1.192774685224e+04 0.999066 1 3\n", + "EXAMPLE_MASSLOSS 1.193174233171e+04 0.999055 1 3\n", + "EXAMPLE_MASSLOSS 1.193569785639e+04 0.999044 1 3\n", + "EXAMPLE_MASSLOSS 1.193961382582e+04 0.999032 1 3\n", + "EXAMPLE_MASSLOSS 1.194349063556e+04 0.999021 1 3\n", + "EXAMPLE_MASSLOSS 1.194732867720e+04 0.999009 1 3\n", + "EXAMPLE_MASSLOSS 1.195112833842e+04 0.998998 1 3\n", + "EXAMPLE_MASSLOSS 1.195489000303e+04 0.998986 1 3\n", + "EXAMPLE_MASSLOSS 1.195861405100e+04 0.998974 1 3\n", + "EXAMPLE_MASSLOSS 1.196230085848e+04 0.998962 1 3\n", + "EXAMPLE_MASSLOSS 1.196595079789e+04 0.99895 1 3\n", + "EXAMPLE_MASSLOSS 1.196956423791e+04 0.998938 1 3\n", + "EXAMPLE_MASSLOSS 1.197314154352e+04 0.998926 1 3\n", + "EXAMPLE_MASSLOSS 1.197668307608e+04 0.998913 1 3\n", + "EXAMPLE_MASSLOSS 1.198018919332e+04 0.998901 1 3\n", + "EXAMPLE_MASSLOSS 1.198366024938e+04 0.998888 1 3\n", + "EXAMPLE_MASSLOSS 1.198709659488e+04 0.998876 1 3\n", + "EXAMPLE_MASSLOSS 1.199049857693e+04 0.998863 1 3\n", + "EXAMPLE_MASSLOSS 1.199386653915e+04 0.99885 1 3\n", + "EXAMPLE_MASSLOSS 1.199720082175e+04 0.998837 1 3\n", + "EXAMPLE_MASSLOSS 1.200050176153e+04 0.998824 1 3\n", + "EXAMPLE_MASSLOSS 1.200376969191e+04 0.998811 1 3\n", + "EXAMPLE_MASSLOSS 1.200700494299e+04 0.998797 1 3\n", + "EXAMPLE_MASSLOSS 1.201020784155e+04 0.998784 1 3\n", + "EXAMPLE_MASSLOSS 1.201337871113e+04 0.99877 1 3\n", + "EXAMPLE_MASSLOSS 1.201651787201e+04 0.998756 1 3\n", + "EXAMPLE_MASSLOSS 1.201962564129e+04 0.998743 1 3\n", + "EXAMPLE_MASSLOSS 1.202270233287e+04 0.998729 1 3\n", + "EXAMPLE_MASSLOSS 1.202574825754e+04 0.998715 1 3\n", + "EXAMPLE_MASSLOSS 1.202876372296e+04 0.9987 1 3\n", + "EXAMPLE_MASSLOSS 1.203174903372e+04 0.998686 1 3\n", + "EXAMPLE_MASSLOSS 1.203470449138e+04 0.998672 1 3\n", + "EXAMPLE_MASSLOSS 1.203763039446e+04 0.998657 1 3\n", + "EXAMPLE_MASSLOSS 1.204052703851e+04 0.998642 1 3\n", + "EXAMPLE_MASSLOSS 1.204339471612e+04 0.998627 1 3\n", + "EXAMPLE_MASSLOSS 1.204623371695e+04 0.998612 1 3\n", + "EXAMPLE_MASSLOSS 1.204904432778e+04 0.998597 1 3\n", + "EXAMPLE_MASSLOSS 1.205182683250e+04 0.998582 1 3\n", + "EXAMPLE_MASSLOSS 1.205458151217e+04 0.998567 1 3\n", + "EXAMPLE_MASSLOSS 1.205730864504e+04 0.998551 1 3\n", + "EXAMPLE_MASSLOSS 1.206000850658e+04 0.998536 1 3\n", + "EXAMPLE_MASSLOSS 1.206268136951e+04 0.99852 1 3\n", + "EXAMPLE_MASSLOSS 1.206532750381e+04 0.998504 1 3\n", + "EXAMPLE_MASSLOSS 1.206794717677e+04 0.998488 1 3\n", + "EXAMPLE_MASSLOSS 1.207054065300e+04 0.998472 1 3\n", + "EXAMPLE_MASSLOSS 1.207310819446e+04 0.998455 1 3\n", + "EXAMPLE_MASSLOSS 1.207565006051e+04 0.998439 1 3\n", + "EXAMPLE_MASSLOSS 1.207816650790e+04 0.998422 1 3\n", + "EXAMPLE_MASSLOSS 1.208065779082e+04 0.998405 1 3\n", + "EXAMPLE_MASSLOSS 1.208312416090e+04 0.998389 1 3\n", + "EXAMPLE_MASSLOSS 1.208556586729e+04 0.998371 1 3\n", + "EXAMPLE_MASSLOSS 1.208798315661e+04 0.998354 1 3\n", + "EXAMPLE_MASSLOSS 1.209037627304e+04 0.998337 1 3\n", + "EXAMPLE_MASSLOSS 1.209274545830e+04 0.998319 1 3\n", + "EXAMPLE_MASSLOSS 1.209509095172e+04 0.998302 1 3\n", + "EXAMPLE_MASSLOSS 1.209741299019e+04 0.998284 1 3\n", + "EXAMPLE_MASSLOSS 1.209971180829e+04 0.998266 1 3\n", + "EXAMPLE_MASSLOSS 1.210198763820e+04 0.998248 1 3\n", + "EXAMPLE_MASSLOSS 1.210424070981e+04 0.998229 1 3\n", + "EXAMPLE_MASSLOSS 1.210647125071e+04 0.998211 1 3\n", + "EXAMPLE_MASSLOSS 1.210867948620e+04 0.998192 1 3\n", + "EXAMPLE_MASSLOSS 1.211086563933e+04 0.998173 1 3\n", + "EXAMPLE_MASSLOSS 1.211302993093e+04 0.998154 1 3\n", + "EXAMPLE_MASSLOSS 1.211517257962e+04 0.998135 1 3\n", + "EXAMPLE_MASSLOSS 1.211729380181e+04 0.998116 1 3\n", + "EXAMPLE_MASSLOSS 1.211939381179e+04 0.998096 1 3\n", + "EXAMPLE_MASSLOSS 1.212147282167e+04 0.998077 1 3\n", + "EXAMPLE_MASSLOSS 1.212353104145e+04 0.998057 1 3\n", + "EXAMPLE_MASSLOSS 1.212556867903e+04 0.998037 1 3\n", + "EXAMPLE_MASSLOSS 1.212758594023e+04 0.998017 1 3\n", + "EXAMPLE_MASSLOSS 1.212958302882e+04 0.997996 1 3\n", + "EXAMPLE_MASSLOSS 1.213156014653e+04 0.997976 1 3\n", + "EXAMPLE_MASSLOSS 1.213351749306e+04 0.997955 1 3\n", + "EXAMPLE_MASSLOSS 1.213545526612e+04 0.997934 1 3\n", + "EXAMPLE_MASSLOSS 1.213737366146e+04 0.997913 1 3\n", + "EXAMPLE_MASSLOSS 1.213927287284e+04 0.997892 1 3\n", + "EXAMPLE_MASSLOSS 1.214115309210e+04 0.99787 1 3\n", + "EXAMPLE_MASSLOSS 1.214301450918e+04 0.997848 1 3\n", + "EXAMPLE_MASSLOSS 1.214485731208e+04 0.997826 1 3\n", + "EXAMPLE_MASSLOSS 1.214668168696e+04 0.997804 1 3\n", + "EXAMPLE_MASSLOSS 1.214848781808e+04 0.997782 1 3\n", + "EXAMPLE_MASSLOSS 1.215027588789e+04 0.99776 1 3\n", + "EXAMPLE_MASSLOSS 1.215204607701e+04 0.997737 1 3\n", + "EXAMPLE_MASSLOSS 1.215379856424e+04 0.997714 1 3\n", + "EXAMPLE_MASSLOSS 1.215553352659e+04 0.997691 1 3\n", + "EXAMPLE_MASSLOSS 1.215725113932e+04 0.997668 1 3\n", + "EXAMPLE_MASSLOSS 1.215895157592e+04 0.997644 1 3\n", + "EXAMPLE_MASSLOSS 1.216063500815e+04 0.99762 1 3\n", + "EXAMPLE_MASSLOSS 1.216230160607e+04 0.997596 1 3\n", + "EXAMPLE_MASSLOSS 1.216395153800e+04 0.997572 1 3\n", + "EXAMPLE_MASSLOSS 1.216558497062e+04 0.997548 1 3\n", + "EXAMPLE_MASSLOSS 1.216720206891e+04 0.997523 1 3\n", + "EXAMPLE_MASSLOSS 1.216880299621e+04 0.997498 1 3\n", + "EXAMPLE_MASSLOSS 1.217038791424e+04 0.997473 1 3\n", + "EXAMPLE_MASSLOSS 1.217195698310e+04 0.997448 1 3\n", + "EXAMPLE_MASSLOSS 1.217351036126e+04 0.997423 1 3\n", + "EXAMPLE_MASSLOSS 1.217504820564e+04 0.997397 1 3\n", + "EXAMPLE_MASSLOSS 1.217657067158e+04 0.997371 1 3\n", + "EXAMPLE_MASSLOSS 1.217807791286e+04 0.997345 1 3\n", + "EXAMPLE_MASSLOSS 1.217957008173e+04 0.997318 1 3\n", + "EXAMPLE_MASSLOSS 1.218104732890e+04 0.997291 1 3\n", + "EXAMPLE_MASSLOSS 1.218250980361e+04 0.997264 1 3\n", + "EXAMPLE_MASSLOSS 1.218395765357e+04 0.997237 1 3\n", + "EXAMPLE_MASSLOSS 1.218539102503e+04 0.99721 1 3\n", + "EXAMPLE_MASSLOSS 1.218681006277e+04 0.997182 1 3\n", + "EXAMPLE_MASSLOSS 1.218821491014e+04 0.997154 1 3\n", + "EXAMPLE_MASSLOSS 1.218960570903e+04 0.997126 1 3\n", + "EXAMPLE_MASSLOSS 1.219098259994e+04 0.997098 1 3\n", + "EXAMPLE_MASSLOSS 1.219234572193e+04 0.997069 1 3\n", + "EXAMPLE_MASSLOSS 1.219369521271e+04 0.99704 1 3\n", + "EXAMPLE_MASSLOSS 1.219503120858e+04 0.997011 1 3\n", + "EXAMPLE_MASSLOSS 1.219635384448e+04 0.996981 1 3\n", + "EXAMPLE_MASSLOSS 1.219766325403e+04 0.996951 1 3\n", + "EXAMPLE_MASSLOSS 1.219895956949e+04 0.996921 1 3\n", + "EXAMPLE_MASSLOSS 1.220024292179e+04 0.996891 1 3\n", + "EXAMPLE_MASSLOSS 1.220151344057e+04 0.99686 1 3\n", + "EXAMPLE_MASSLOSS 1.220277125415e+04 0.99683 1 3\n", + "EXAMPLE_MASSLOSS 1.220401648961e+04 0.996798 1 3\n", + "EXAMPLE_MASSLOSS 1.220524927271e+04 0.996767 1 3\n", + "EXAMPLE_MASSLOSS 1.220646972797e+04 0.996735 1 3\n", + "EXAMPLE_MASSLOSS 1.220767797869e+04 0.996703 1 3\n", + "EXAMPLE_MASSLOSS 1.220887414690e+04 0.996671 1 3\n", + "EXAMPLE_MASSLOSS 1.221005835342e+04 0.996638 1 3\n", + "EXAMPLE_MASSLOSS 1.221123071788e+04 0.996605 1 3\n", + "EXAMPLE_MASSLOSS 1.221239135870e+04 0.996572 1 3\n", + "EXAMPLE_MASSLOSS 1.221354039311e+04 0.996539 1 3\n", + "EXAMPLE_MASSLOSS 1.221467793717e+04 0.996505 1 3\n", + "EXAMPLE_MASSLOSS 1.221580410579e+04 0.996471 1 3\n", + "EXAMPLE_MASSLOSS 1.221691901273e+04 0.996436 1 3\n", + "EXAMPLE_MASSLOSS 1.221802277060e+04 0.996401 1 3\n", + "EXAMPLE_MASSLOSS 1.221911549089e+04 0.996366 1 3\n", + "EXAMPLE_MASSLOSS 1.222019728397e+04 0.996331 1 3\n", + "EXAMPLE_MASSLOSS 1.222126825913e+04 0.996295 1 3\n", + "EXAMPLE_MASSLOSS 1.222232852453e+04 0.996259 1 3\n", + "EXAMPLE_MASSLOSS 1.222337818728e+04 0.996223 1 3\n", + "EXAMPLE_MASSLOSS 1.222441735340e+04 0.996186 1 3\n", + "EXAMPLE_MASSLOSS 1.222544612787e+04 0.996149 1 3\n", + "EXAMPLE_MASSLOSS 1.222646461458e+04 0.996111 1 3\n", + "EXAMPLE_MASSLOSS 1.222747291643e+04 0.996073 1 3\n", + "EXAMPLE_MASSLOSS 1.222847113526e+04 0.996035 1 3\n", + "EXAMPLE_MASSLOSS 1.222945937190e+04 0.995997 1 3\n", + "EXAMPLE_MASSLOSS 1.223043772618e+04 0.995958 1 3\n", + "EXAMPLE_MASSLOSS 1.223140629691e+04 0.995919 1 3\n", + "EXAMPLE_MASSLOSS 1.223236518194e+04 0.995879 1 3\n", + "EXAMPLE_MASSLOSS 1.223331447811e+04 0.995839 1 3\n", + "EXAMPLE_MASSLOSS 1.223425428133e+04 0.995799 1 3\n", + "EXAMPLE_MASSLOSS 1.223518468651e+04 0.995758 1 3\n", + "EXAMPLE_MASSLOSS 1.223610578764e+04 0.995717 1 3\n", + "EXAMPLE_MASSLOSS 1.223701767776e+04 0.995675 1 3\n", + "EXAMPLE_MASSLOSS 1.223792044897e+04 0.995634 1 3\n", + "EXAMPLE_MASSLOSS 1.223881419248e+04 0.995591 1 3\n", + "EXAMPLE_MASSLOSS 1.223969899855e+04 0.995549 1 3\n", + "EXAMPLE_MASSLOSS 1.224057495656e+04 0.995506 1 3\n", + "EXAMPLE_MASSLOSS 1.224144215499e+04 0.995462 1 3\n", + "EXAMPLE_MASSLOSS 1.224230068143e+04 0.995418 1 3\n", + "EXAMPLE_MASSLOSS 1.224315062261e+04 0.995374 1 3\n", + "EXAMPLE_MASSLOSS 1.224399206438e+04 0.995329 1 3\n", + "EXAMPLE_MASSLOSS 1.224482509173e+04 0.995284 1 3\n", + "EXAMPLE_MASSLOSS 1.224564978881e+04 0.995239 1 3\n", + "EXAMPLE_MASSLOSS 1.224646623892e+04 0.995193 1 3\n", + "EXAMPLE_MASSLOSS 1.224727452452e+04 0.995146 1 3\n", + "EXAMPLE_MASSLOSS 1.224807472727e+04 0.9951 1 3\n", + "EXAMPLE_MASSLOSS 1.224886692799e+04 0.995052 1 3\n", + "EXAMPLE_MASSLOSS 1.224965120671e+04 0.995005 1 3\n", + "EXAMPLE_MASSLOSS 1.225042764264e+04 0.994956 1 3\n", + "EXAMPLE_MASSLOSS 1.225119631421e+04 0.994908 1 3\n", + "EXAMPLE_MASSLOSS 1.225195729906e+04 0.994859 1 3\n", + "EXAMPLE_MASSLOSS 1.225271067406e+04 0.994809 1 3\n", + "EXAMPLE_MASSLOSS 1.225345651532e+04 0.994759 1 3\n", + "EXAMPLE_MASSLOSS 1.225419489816e+04 0.994709 1 3\n", + "EXAMPLE_MASSLOSS 1.225492589717e+04 0.994658 1 3\n", + "EXAMPLE_MASSLOSS 1.225564958619e+04 0.994606 1 3\n", + "EXAMPLE_MASSLOSS 1.225636603833e+04 0.994554 1 3\n", + "EXAMPLE_MASSLOSS 1.225707532594e+04 0.994502 1 3\n", + "EXAMPLE_MASSLOSS 1.225777752067e+04 0.994449 1 3\n", + "EXAMPLE_MASSLOSS 1.225847269346e+04 0.994396 1 3\n", + "EXAMPLE_MASSLOSS 1.225916091452e+04 0.994342 1 3\n", + "EXAMPLE_MASSLOSS 1.225984225337e+04 0.994287 1 3\n", + "EXAMPLE_MASSLOSS 1.226051677883e+04 0.994232 1 3\n", + "EXAMPLE_MASSLOSS 1.226118455904e+04 0.994177 1 3\n", + "EXAMPLE_MASSLOSS 1.226184566144e+04 0.994121 1 3\n", + "EXAMPLE_MASSLOSS 1.226250015282e+04 0.994064 1 3\n", + "EXAMPLE_MASSLOSS 1.226314809929e+04 0.994007 1 3\n", + "EXAMPLE_MASSLOSS 1.226378956629e+04 0.99395 1 3\n", + "EXAMPLE_MASSLOSS 1.226442461863e+04 0.993892 1 3\n", + "EXAMPLE_MASSLOSS 1.226505332043e+04 0.993833 1 3\n", + "EXAMPLE_MASSLOSS 1.226567573522e+04 0.993774 1 3\n", + "EXAMPLE_MASSLOSS 1.226629192587e+04 0.993714 1 3\n", + "EXAMPLE_MASSLOSS 1.226690195460e+04 0.993653 1 3\n", + "EXAMPLE_MASSLOSS 1.226750588305e+04 0.993592 1 3\n", + "EXAMPLE_MASSLOSS 1.226810377222e+04 0.993531 1 3\n", + "EXAMPLE_MASSLOSS 1.226869568249e+04 0.993469 1 3\n", + "EXAMPLE_MASSLOSS 1.226928167366e+04 0.993406 1 3\n", + "EXAMPLE_MASSLOSS 1.226986180492e+04 0.993342 1 3\n", + "EXAMPLE_MASSLOSS 1.227043613486e+04 0.993278 1 3\n", + "EXAMPLE_MASSLOSS 1.227100472151e+04 0.993214 1 3\n", + "EXAMPLE_MASSLOSS 1.227156762229e+04 0.993149 1 3\n", + "EXAMPLE_MASSLOSS 1.227212489406e+04 0.993083 1 3\n", + "EXAMPLE_MASSLOSS 1.227267659311e+04 0.993016 1 3\n", + "EXAMPLE_MASSLOSS 1.227322277518e+04 0.992949 1 3\n", + "EXAMPLE_MASSLOSS 1.227376349542e+04 0.992882 1 3\n", + "EXAMPLE_MASSLOSS 1.227429880846e+04 0.992813 1 3\n", + "EXAMPLE_MASSLOSS 1.227482876837e+04 0.992744 1 3\n", + "EXAMPLE_MASSLOSS 1.227535342868e+04 0.992674 1 3\n", + "EXAMPLE_MASSLOSS 1.227587284239e+04 0.992604 1 3\n", + "EXAMPLE_MASSLOSS 1.227638706196e+04 0.992533 1 3\n", + "EXAMPLE_MASSLOSS 1.227689613934e+04 0.992461 1 3\n", + "EXAMPLE_MASSLOSS 1.227740012594e+04 0.992389 1 3\n", + "EXAMPLE_MASSLOSS 1.227789907267e+04 0.992316 1 3\n", + "EXAMPLE_MASSLOSS 1.227839302994e+04 0.992242 1 3\n", + "EXAMPLE_MASSLOSS 1.227888204764e+04 0.992167 1 3\n", + "EXAMPLE_MASSLOSS 1.227936617516e+04 0.992092 1 3\n", + "EXAMPLE_MASSLOSS 1.227984546140e+04 0.992016 1 3\n", + "EXAMPLE_MASSLOSS 1.228031995478e+04 0.991939 1 3\n", + "EXAMPLE_MASSLOSS 1.228078970323e+04 0.991862 1 3\n", + "EXAMPLE_MASSLOSS 1.228125475419e+04 0.991783 1 3\n", + "EXAMPLE_MASSLOSS 1.228171515464e+04 0.991704 1 3\n", + "EXAMPLE_MASSLOSS 1.228217095109e+04 0.991625 1 3\n", + "EXAMPLE_MASSLOSS 1.228262218958e+04 0.991544 1 3\n", + "EXAMPLE_MASSLOSS 1.228306891567e+04 0.991463 1 3\n", + "EXAMPLE_MASSLOSS 1.228351117451e+04 0.991381 1 3\n", + "EXAMPLE_MASSLOSS 1.228394901076e+04 0.991298 1 3\n", + "EXAMPLE_MASSLOSS 1.228438246865e+04 0.991214 1 3\n", + "EXAMPLE_MASSLOSS 1.228481159196e+04 0.99113 1 3\n", + "EXAMPLE_MASSLOSS 1.228523642403e+04 0.991044 1 3\n", + "EXAMPLE_MASSLOSS 1.228565700779e+04 0.990958 1 3\n", + "EXAMPLE_MASSLOSS 1.228607338570e+04 0.990871 1 3\n", + "EXAMPLE_MASSLOSS 1.228648559984e+04 0.990783 1 3\n", + "EXAMPLE_MASSLOSS 1.228689369184e+04 0.990694 1 3\n", + "EXAMPLE_MASSLOSS 1.228729770292e+04 0.990605 1 3\n", + "EXAMPLE_MASSLOSS 1.228769767388e+04 0.990514 1 3\n", + "EXAMPLE_MASSLOSS 1.228809364514e+04 0.990423 1 3\n", + "EXAMPLE_MASSLOSS 1.228848565668e+04 0.990331 1 3\n", + "EXAMPLE_MASSLOSS 1.228887374811e+04 0.990238 1 3\n", + "EXAMPLE_MASSLOSS 1.228925795862e+04 0.990144 1 3\n", + "EXAMPLE_MASSLOSS 1.228963832703e+04 0.990049 1 3\n", + "EXAMPLE_MASSLOSS 1.229001489176e+04 0.989953 1 3\n", + "EXAMPLE_MASSLOSS 1.229038769083e+04 0.989856 1 3\n", + "EXAMPLE_MASSLOSS 1.229075676192e+04 0.989758 1 3\n", + "EXAMPLE_MASSLOSS 1.229112214229e+04 0.989659 1 3\n", + "EXAMPLE_MASSLOSS 1.229148386887e+04 0.989559 1 3\n", + "EXAMPLE_MASSLOSS 1.229184197817e+04 0.989459 1 3\n", + "EXAMPLE_MASSLOSS 1.229219650639e+04 0.989357 1 3\n", + "EXAMPLE_MASSLOSS 1.229254748932e+04 0.989254 1 3\n", + "EXAMPLE_MASSLOSS 1.229289496242e+04 0.989151 1 3\n", + "EXAMPLE_MASSLOSS 1.229323896079e+04 0.989046 1 3\n", + "EXAMPLE_MASSLOSS 1.229357951918e+04 0.98894 1 3\n", + "EXAMPLE_MASSLOSS 1.229391667198e+04 0.988833 1 3\n", + "EXAMPLE_MASSLOSS 1.229425045325e+04 0.988725 1 3\n", + "EXAMPLE_MASSLOSS 1.229458089672e+04 0.988616 1 3\n", + "EXAMPLE_MASSLOSS 1.229490803574e+04 0.988506 1 3\n", + "EXAMPLE_MASSLOSS 1.229523190338e+04 0.988395 1 3\n", + "EXAMPLE_MASSLOSS 1.229555253234e+04 0.988283 1 3\n", + "EXAMPLE_MASSLOSS 1.229586995501e+04 0.98817 1 3\n", + "EXAMPLE_MASSLOSS 1.229618420346e+04 0.988055 1 3\n", + "EXAMPLE_MASSLOSS 1.229649530942e+04 0.98794 1 3\n", + "EXAMPLE_MASSLOSS 1.229680330432e+04 0.987823 1 3\n", + "EXAMPLE_MASSLOSS 1.229710821927e+04 0.987705 1 3\n", + "EXAMPLE_MASSLOSS 1.229741008507e+04 0.987586 1 3\n", + "EXAMPLE_MASSLOSS 1.229770893222e+04 0.987466 1 3\n", + "EXAMPLE_MASSLOSS 1.229800479089e+04 0.987344 1 3\n", + "EXAMPLE_MASSLOSS 1.229829769098e+04 0.987222 1 3\n", + "EXAMPLE_MASSLOSS 1.229858766206e+04 0.987098 1 3\n", + "EXAMPLE_MASSLOSS 1.229887473344e+04 0.986973 1 3\n", + "EXAMPLE_MASSLOSS 1.229915893410e+04 0.986846 1 3\n", + "EXAMPLE_MASSLOSS 1.229944029275e+04 0.986719 1 3\n", + "EXAMPLE_MASSLOSS 1.229971883782e+04 0.98659 1 3\n", + "EXAMPLE_MASSLOSS 1.229999459743e+04 0.98646 1 3\n", + "EXAMPLE_MASSLOSS 1.230026759945e+04 0.986328 1 3\n", + "EXAMPLE_MASSLOSS 1.230053787145e+04 0.986196 1 3\n", + "EXAMPLE_MASSLOSS 1.230080544073e+04 0.986062 1 3\n", + "EXAMPLE_MASSLOSS 1.230107033432e+04 0.985926 1 3\n", + "EXAMPLE_MASSLOSS 1.230133257897e+04 0.985789 1 3\n", + "EXAMPLE_MASSLOSS 1.230159220118e+04 0.985651 1 3\n", + "EXAMPLE_MASSLOSS 1.230184922716e+04 0.985512 1 3\n", + "EXAMPLE_MASSLOSS 1.230210368289e+04 0.985371 1 3\n", + "EXAMPLE_MASSLOSS 1.230235559405e+04 0.985228 1 3\n", + "EXAMPLE_MASSLOSS 1.230260498611e+04 0.985085 1 3\n", + "EXAMPLE_MASSLOSS 1.230285188424e+04 0.984939 1 3\n", + "EXAMPLE_MASSLOSS 1.230309631339e+04 0.984793 1 3\n", + "EXAMPLE_MASSLOSS 1.230333829825e+04 0.984645 1 3\n", + "EXAMPLE_MASSLOSS 1.230357786326e+04 0.984495 1 3\n", + "EXAMPLE_MASSLOSS 1.230381503263e+04 0.984344 1 3\n", + "EXAMPLE_MASSLOSS 1.230404983030e+04 0.984191 1 3\n", + "EXAMPLE_MASSLOSS 1.230428227999e+04 0.984037 1 3\n", + "EXAMPLE_MASSLOSS 1.230451240518e+04 0.983881 1 3\n", + "EXAMPLE_MASSLOSS 1.230474022913e+04 0.983724 1 3\n", + "EXAMPLE_MASSLOSS 1.230496577483e+04 0.983565 1 3\n", + "EXAMPLE_MASSLOSS 1.230518906508e+04 0.983404 1 3\n", + "EXAMPLE_MASSLOSS 1.230541012242e+04 0.983242 1 3\n", + "EXAMPLE_MASSLOSS 1.230562896919e+04 0.983078 1 3\n", + "EXAMPLE_MASSLOSS 1.230584562749e+04 0.982913 1 3\n", + "EXAMPLE_MASSLOSS 1.230606011921e+04 0.982746 1 3\n", + "EXAMPLE_MASSLOSS 1.230627246602e+04 0.982577 1 3\n", + "EXAMPLE_MASSLOSS 1.230648268935e+04 0.982407 1 3\n", + "EXAMPLE_MASSLOSS 1.230669081045e+04 0.982234 1 3\n", + "EXAMPLE_MASSLOSS 1.230689685034e+04 0.98206 1 3\n", + "EXAMPLE_MASSLOSS 1.230710082983e+04 0.981885 1 3\n", + "EXAMPLE_MASSLOSS 1.230730276953e+04 0.981707 1 3\n", + "EXAMPLE_MASSLOSS 1.230750268983e+04 0.981528 1 3\n", + "EXAMPLE_MASSLOSS 1.230770061093e+04 0.981347 1 3\n", + "EXAMPLE_MASSLOSS 1.230789655281e+04 0.981163 1 3\n", + "EXAMPLE_MASSLOSS 1.230809053528e+04 0.980979 1 3\n", + "EXAMPLE_MASSLOSS 1.230828257792e+04 0.980792 1 3\n", + "EXAMPLE_MASSLOSS 1.230847270014e+04 0.980603 1 3\n", + "EXAMPLE_MASSLOSS 1.230866092113e+04 0.980413 1 3\n", + "EXAMPLE_MASSLOSS 1.230884725991e+04 0.98022 1 3\n", + "EXAMPLE_MASSLOSS 1.230903173531e+04 0.980025 1 3\n", + "EXAMPLE_MASSLOSS 1.230921436595e+04 0.979829 1 3\n", + "EXAMPLE_MASSLOSS 1.230939517029e+04 0.97963 1 3\n", + "EXAMPLE_MASSLOSS 1.230957416658e+04 0.97943 1 3\n", + "EXAMPLE_MASSLOSS 1.230975137291e+04 0.979227 1 3\n", + "EXAMPLE_MASSLOSS 1.230992680717e+04 0.979023 1 3\n", + "EXAMPLE_MASSLOSS 1.231010048710e+04 0.978816 1 3\n", + "EXAMPLE_MASSLOSS 1.231027243022e+04 0.978607 1 3\n", + "EXAMPLE_MASSLOSS 1.231044265391e+04 0.978396 1 3\n", + "EXAMPLE_MASSLOSS 1.231061117537e+04 0.978183 1 3\n", + "EXAMPLE_MASSLOSS 1.231077801161e+04 0.977967 1 3\n", + "EXAMPLE_MASSLOSS 1.231094317949e+04 0.97775 1 3\n", + "EXAMPLE_MASSLOSS 1.231110669569e+04 0.97753 1 3\n", + "EXAMPLE_MASSLOSS 1.231126857673e+04 0.977308 1 3\n", + "EXAMPLE_MASSLOSS 1.231142883895e+04 0.977083 1 3\n", + "EXAMPLE_MASSLOSS 1.231158749856e+04 0.976857 1 3\n", + "EXAMPLE_MASSLOSS 1.231174457157e+04 0.976627 1 3\n", + "EXAMPLE_MASSLOSS 1.231190007385e+04 0.976396 1 3\n", + "EXAMPLE_MASSLOSS 1.231205402110e+04 0.976162 1 3\n", + "EXAMPLE_MASSLOSS 1.231220642889e+04 0.975926 1 3\n", + "EXAMPLE_MASSLOSS 1.231235731259e+04 0.975687 1 3\n", + "EXAMPLE_MASSLOSS 1.231250668746e+04 0.975446 1 3\n", + "EXAMPLE_MASSLOSS 1.231265456858e+04 0.975202 1 3\n", + "EXAMPLE_MASSLOSS 1.231280097089e+04 0.974956 1 3\n", + "EXAMPLE_MASSLOSS 1.231294590918e+04 0.974708 1 3\n", + "EXAMPLE_MASSLOSS 1.231308939808e+04 0.974456 1 3\n", + "EXAMPLE_MASSLOSS 1.231323145209e+04 0.974202 1 3\n", + "EXAMPLE_MASSLOSS 1.231337208557e+04 0.973946 1 3\n", + "EXAMPLE_MASSLOSS 1.231351131271e+04 0.973686 1 3\n", + "EXAMPLE_MASSLOSS 1.231364914757e+04 0.973425 1 3\n", + "EXAMPLE_MASSLOSS 1.231378560409e+04 0.97316 1 3\n", + "EXAMPLE_MASSLOSS 1.231392069605e+04 0.972892 1 3\n", + "EXAMPLE_MASSLOSS 1.231405443708e+04 0.972622 1 3\n", + "EXAMPLE_MASSLOSS 1.231418684071e+04 0.972349 1 3\n", + "EXAMPLE_MASSLOSS 1.231431792029e+04 0.972073 1 3\n", + "EXAMPLE_MASSLOSS 1.231444768909e+04 0.971795 1 3\n", + "EXAMPLE_MASSLOSS 1.231457616019e+04 0.971513 1 3\n", + "EXAMPLE_MASSLOSS 1.231470334658e+04 0.971228 1 3\n", + "EXAMPLE_MASSLOSS 1.231482926111e+04 0.970941 1 3\n", + "EXAMPLE_MASSLOSS 1.231495391650e+04 0.97065 1 3\n", + "EXAMPLE_MASSLOSS 1.231507732533e+04 0.970356 1 3\n", + "EXAMPLE_MASSLOSS 1.231519950007e+04 0.970059 1 3\n", + "EXAMPLE_MASSLOSS 1.231532045306e+04 0.96976 1 3\n", + "EXAMPLE_MASSLOSS 1.231544019653e+04 0.969456 1 3\n", + "EXAMPLE_MASSLOSS 1.231555874255e+04 0.96915 1 3\n", + "EXAMPLE_MASSLOSS 1.231567610312e+04 0.968841 1 3\n", + "EXAMPLE_MASSLOSS 1.231579229009e+04 0.968528 1 3\n", + "EXAMPLE_MASSLOSS 1.231590731518e+04 0.968212 1 3\n", + "EXAMPLE_MASSLOSS 1.231602119002e+04 0.967893 1 3\n", + "EXAMPLE_MASSLOSS 1.231613392612e+04 0.96757 1 3\n", + "EXAMPLE_MASSLOSS 1.231624553485e+04 0.967244 1 3\n", + "EXAMPLE_MASSLOSS 1.231635602750e+04 0.966914 1 3\n", + "EXAMPLE_MASSLOSS 1.231646541522e+04 0.966581 1 3\n", + "EXAMPLE_MASSLOSS 1.231657370906e+04 0.966245 1 3\n", + "EXAMPLE_MASSLOSS 1.231668091997e+04 0.965904 1 3\n", + "EXAMPLE_MASSLOSS 1.231678705876e+04 0.965561 1 3\n", + "EXAMPLE_MASSLOSS 1.231689213617e+04 0.965213 1 3\n", + "EXAMPLE_MASSLOSS 1.231699616280e+04 0.964862 1 3\n", + "EXAMPLE_MASSLOSS 1.231709914917e+04 0.964507 1 3\n", + "EXAMPLE_MASSLOSS 1.231720110567e+04 0.964149 1 3\n", + "EXAMPLE_MASSLOSS 1.231730204261e+04 0.963786 1 3\n", + "EXAMPLE_MASSLOSS 1.231740197018e+04 0.96342 1 3\n", + "EXAMPLE_MASSLOSS 1.231750089847e+04 0.96305 1 3\n", + "EXAMPLE_MASSLOSS 1.231759883748e+04 0.962675 1 3\n", + "EXAMPLE_MASSLOSS 1.231769579710e+04 0.962297 1 3\n", + "EXAMPLE_MASSLOSS 1.231779178713e+04 0.961915 1 3\n", + "EXAMPLE_MASSLOSS 1.231788681725e+04 0.961529 1 3\n", + "EXAMPLE_MASSLOSS 1.231798089707e+04 0.961138 1 3\n", + "EXAMPLE_MASSLOSS 1.231807403610e+04 0.960743 1 3\n", + "EXAMPLE_MASSLOSS 1.231816624373e+04 0.960345 1 3\n", + "EXAMPLE_MASSLOSS 1.231825752929e+04 0.959941 1 3\n", + "EXAMPLE_MASSLOSS 1.231834790199e+04 0.959534 1 3\n", + "EXAMPLE_MASSLOSS 1.231843737096e+04 0.959122 1 3\n", + "EXAMPLE_MASSLOSS 1.231852594525e+04 0.958706 1 3\n", + "EXAMPLE_MASSLOSS 1.231861363379e+04 0.958285 1 3\n", + "EXAMPLE_MASSLOSS 1.231870044545e+04 0.95786 1 3\n", + "EXAMPLE_MASSLOSS 1.231878638899e+04 0.95743 1 3\n", + "EXAMPLE_MASSLOSS 1.231887147309e+04 0.956995 1 3\n", + "EXAMPLE_MASSLOSS 1.231895570636e+04 0.956556 1 3\n", + "EXAMPLE_MASSLOSS 1.231903909729e+04 0.956112 1 3\n", + "EXAMPLE_MASSLOSS 1.231912165431e+04 0.955663 1 3\n", + "EXAMPLE_MASSLOSS 1.231920338576e+04 0.955209 1 3\n", + "EXAMPLE_MASSLOSS 1.231928429990e+04 0.954751 1 3\n", + "EXAMPLE_MASSLOSS 1.231936440490e+04 0.954287 1 3\n", + "EXAMPLE_MASSLOSS 1.231944370884e+04 0.953818 1 3\n", + "EXAMPLE_MASSLOSS 1.231952221975e+04 0.953345 1 3\n", + "EXAMPLE_MASSLOSS 1.231959994554e+04 0.952866 1 3\n", + "EXAMPLE_MASSLOSS 1.231967689408e+04 0.952381 1 3\n", + "EXAMPLE_MASSLOSS 1.231975307314e+04 0.951892 1 3\n", + "EXAMPLE_MASSLOSS 1.231982849040e+04 0.951397 1 3\n", + "EXAMPLE_MASSLOSS 1.231990315349e+04 0.950897 1 3\n", + "EXAMPLE_MASSLOSS 1.231997706995e+04 0.950391 1 3\n", + "EXAMPLE_MASSLOSS 1.232005024725e+04 0.94988 1 3\n", + "EXAMPLE_MASSLOSS 1.232012269277e+04 0.949363 1 3\n", + "EXAMPLE_MASSLOSS 1.232019441384e+04 0.948841 1 3\n", + "EXAMPLE_MASSLOSS 1.232026541769e+04 0.948313 1 3\n", + "EXAMPLE_MASSLOSS 1.232033571151e+04 0.947779 1 3\n", + "EXAMPLE_MASSLOSS 1.232040530239e+04 0.947239 1 3\n", + "EXAMPLE_MASSLOSS 1.232047419736e+04 0.946693 1 3\n", + "EXAMPLE_MASSLOSS 1.232054240338e+04 0.946141 1 3\n", + "EXAMPLE_MASSLOSS 1.232060992734e+04 0.945583 1 3\n", + "EXAMPLE_MASSLOSS 1.232067677607e+04 0.945019 1 3\n", + "EXAMPLE_MASSLOSS 1.232074295630e+04 0.944448 1 3\n", + "EXAMPLE_MASSLOSS 1.232080847473e+04 0.943872 1 3\n", + "EXAMPLE_MASSLOSS 1.232087333798e+04 0.943288 1 3\n", + "EXAMPLE_MASSLOSS 1.232093755259e+04 0.942699 1 3\n", + "EXAMPLE_MASSLOSS 1.232100112506e+04 0.942103 1 3\n", + "EXAMPLE_MASSLOSS 1.232106406181e+04 0.9415 1 3\n", + "EXAMPLE_MASSLOSS 1.232112636918e+04 0.94089 1 3\n", + "EXAMPLE_MASSLOSS 1.232118805349e+04 0.940274 1 3\n", + "EXAMPLE_MASSLOSS 1.232124912095e+04 0.939651 1 3\n", + "EXAMPLE_MASSLOSS 1.232130957773e+04 0.939021 1 3\n", + "EXAMPLE_MASSLOSS 1.232136942995e+04 0.938383 1 3\n", + "EXAMPLE_MASSLOSS 1.232142868365e+04 0.937739 1 3\n", + "EXAMPLE_MASSLOSS 1.232148734480e+04 0.937088 1 3\n", + "EXAMPLE_MASSLOSS 1.232154541935e+04 0.936429 1 3\n", + "EXAMPLE_MASSLOSS 1.232160291315e+04 0.935762 1 3\n", + "EXAMPLE_MASSLOSS 1.232165983202e+04 0.935088 1 3\n", + "EXAMPLE_MASSLOSS 1.232171618169e+04 0.934407 1 3\n", + "EXAMPLE_MASSLOSS 1.232177196787e+04 0.933718 1 3\n", + "EXAMPLE_MASSLOSS 1.232182719618e+04 0.933021 1 3\n", + "EXAMPLE_MASSLOSS 1.232188187222e+04 0.932316 1 3\n", + "EXAMPLE_MASSLOSS 1.232193600149e+04 0.931603 1 3\n", + "EXAMPLE_MASSLOSS 1.232198958947e+04 0.930883 1 3\n", + "EXAMPLE_MASSLOSS 1.232204264157e+04 0.930154 1 3\n", + "EXAMPLE_MASSLOSS 1.232209516315e+04 0.929416 1 3\n", + "EXAMPLE_MASSLOSS 1.232214715951e+04 0.92867 1 3\n", + "EXAMPLE_MASSLOSS 1.232219863591e+04 0.927916 1 3\n", + "EXAMPLE_MASSLOSS 1.232224959755e+04 0.927153 1 3\n", + "EXAMPLE_MASSLOSS 1.232230004957e+04 0.926382 1 3\n", + "EXAMPLE_MASSLOSS 1.232234999707e+04 0.925601 1 3\n", + "EXAMPLE_MASSLOSS 1.232239944509e+04 0.924812 1 3\n", + "EXAMPLE_MASSLOSS 1.232244839863e+04 0.924014 1 3\n", + "EXAMPLE_MASSLOSS 1.232249686264e+04 0.923206 1 3\n", + "EXAMPLE_MASSLOSS 1.232254484201e+04 0.922389 1 3\n", + "EXAMPLE_MASSLOSS 1.232259234159e+04 0.921563 1 3\n", + "EXAMPLE_MASSLOSS 1.232263936616e+04 0.920727 1 3\n", + "EXAMPLE_MASSLOSS 1.232268578419e+04 0.919884 1 3\n", + "EXAMPLE_MASSLOSS 1.232273102746e+04 0.919044 1 3\n", + "EXAMPLE_MASSLOSS 1.232277513389e+04 0.918208 1 3\n", + "EXAMPLE_MASSLOSS 1.232281814839e+04 0.917376 1 3\n", + "EXAMPLE_MASSLOSS 1.232286011359e+04 0.916546 1 3\n", + "EXAMPLE_MASSLOSS 1.232290106988e+04 0.915721 1 3\n", + "EXAMPLE_MASSLOSS 1.232294105555e+04 0.914898 1 3\n", + "EXAMPLE_MASSLOSS 1.232298010695e+04 0.914079 1 3\n", + "EXAMPLE_MASSLOSS 1.232301825858e+04 0.913263 1 3\n", + "EXAMPLE_MASSLOSS 1.232305554321e+04 0.91245 1 3\n", + "EXAMPLE_MASSLOSS 1.232309199201e+04 0.91164 1 3\n", + "EXAMPLE_MASSLOSS 1.232312763465e+04 0.910833 1 3\n", + "EXAMPLE_MASSLOSS 1.232316249935e+04 0.910029 1 3\n", + "EXAMPLE_MASSLOSS 1.232319661303e+04 0.909228 1 3\n", + "EXAMPLE_MASSLOSS 1.232323000133e+04 0.90843 1 3\n", + "EXAMPLE_MASSLOSS 1.232326268871e+04 0.907634 1 3\n", + "EXAMPLE_MASSLOSS 1.232329469852e+04 0.906842 1 3\n", + "EXAMPLE_MASSLOSS 1.232332605305e+04 0.906051 1 3\n", + "EXAMPLE_MASSLOSS 1.232335677363e+04 0.905264 1 3\n", + "EXAMPLE_MASSLOSS 1.232338688060e+04 0.904479 1 3\n", + "EXAMPLE_MASSLOSS 1.232341639348e+04 0.903696 1 3\n", + "EXAMPLE_MASSLOSS 1.232344533089e+04 0.902917 1 3\n", + "EXAMPLE_MASSLOSS 1.232347371070e+04 0.902139 1 3\n", + "EXAMPLE_MASSLOSS 1.232350155002e+04 0.901364 1 3\n", + "EXAMPLE_MASSLOSS 1.232352886525e+04 0.900591 1 3\n", + "EXAMPLE_MASSLOSS 1.232355567211e+04 0.899821 1 3\n", + "EXAMPLE_MASSLOSS 1.232358198569e+04 0.899052 1 3\n", + "EXAMPLE_MASSLOSS 1.232360782047e+04 0.898286 1 3\n", + "EXAMPLE_MASSLOSS 1.232363319036e+04 0.897523 1 3\n", + "EXAMPLE_MASSLOSS 1.232365810872e+04 0.896761 1 3\n", + "EXAMPLE_MASSLOSS 1.232368258838e+04 0.896002 1 3\n", + "EXAMPLE_MASSLOSS 1.232370664168e+04 0.895244 1 3\n", + "EXAMPLE_MASSLOSS 1.232373028052e+04 0.894489 1 3\n", + "EXAMPLE_MASSLOSS 1.232375351630e+04 0.893735 1 3\n", + "EXAMPLE_MASSLOSS 1.232377636004e+04 0.892984 1 3\n", + "EXAMPLE_MASSLOSS 1.232379882231e+04 0.892235 1 3\n", + "EXAMPLE_MASSLOSS 1.232382091334e+04 0.891487 1 3\n", + "EXAMPLE_MASSLOSS 1.232384264294e+04 0.890741 1 3\n", + "EXAMPLE_MASSLOSS 1.232386402061e+04 0.889998 1 3\n", + "EXAMPLE_MASSLOSS 1.232388505548e+04 0.889256 1 3\n", + "EXAMPLE_MASSLOSS 1.232390575637e+04 0.888516 1 3\n", + "EXAMPLE_MASSLOSS 1.232392613181e+04 0.887777 1 3\n", + "EXAMPLE_MASSLOSS 1.232394619000e+04 0.88704 1 3\n", + "EXAMPLE_MASSLOSS 1.232396593888e+04 0.886305 1 3\n", + "EXAMPLE_MASSLOSS 1.232398538613e+04 0.885572 1 3\n", + "EXAMPLE_MASSLOSS 1.232400453915e+04 0.884841 1 3\n", + "EXAMPLE_MASSLOSS 1.232402340509e+04 0.884111 1 3\n", + "EXAMPLE_MASSLOSS 1.232404199089e+04 0.883382 1 3\n", + "EXAMPLE_MASSLOSS 1.232406030324e+04 0.882655 1 3\n", + "EXAMPLE_MASSLOSS 1.232407834862e+04 0.88193 1 3\n", + "EXAMPLE_MASSLOSS 1.232409613330e+04 0.881206 1 3\n", + "EXAMPLE_MASSLOSS 1.232411366335e+04 0.880484 1 3\n", + "EXAMPLE_MASSLOSS 1.232413094465e+04 0.879763 1 3\n", + "EXAMPLE_MASSLOSS 1.232414798289e+04 0.879044 1 3\n", + "EXAMPLE_MASSLOSS 1.232416478359e+04 0.878326 1 3\n", + "EXAMPLE_MASSLOSS 1.232418135208e+04 0.87761 1 3\n", + "EXAMPLE_MASSLOSS 1.232419769356e+04 0.876894 1 3\n", + "EXAMPLE_MASSLOSS 1.232421381304e+04 0.876181 1 3\n", + "EXAMPLE_MASSLOSS 1.232422971539e+04 0.875468 1 3\n", + "EXAMPLE_MASSLOSS 1.232424540535e+04 0.874757 1 3\n", + "EXAMPLE_MASSLOSS 1.232426088749e+04 0.874048 1 3\n", + "EXAMPLE_MASSLOSS 1.232427616627e+04 0.873339 1 3\n", + "EXAMPLE_MASSLOSS 1.232429124600e+04 0.872632 1 3\n", + "EXAMPLE_MASSLOSS 1.232430613088e+04 0.871926 1 3\n", + "EXAMPLE_MASSLOSS 1.232432082498e+04 0.871221 1 3\n", + "EXAMPLE_MASSLOSS 1.232433533226e+04 0.870518 1 3\n", + "EXAMPLE_MASSLOSS 1.232434965657e+04 0.869815 1 3\n", + "EXAMPLE_MASSLOSS 1.232436380163e+04 0.869114 1 3\n", + "EXAMPLE_MASSLOSS 1.232437777109e+04 0.868414 1 3\n", + "EXAMPLE_MASSLOSS 1.232439156847e+04 0.867715 1 3\n", + "EXAMPLE_MASSLOSS 1.232440519720e+04 0.867018 1 3\n", + "EXAMPLE_MASSLOSS 1.232441866063e+04 0.866321 1 3\n", + "EXAMPLE_MASSLOSS 1.232443196201e+04 0.865625 1 3\n", + "EXAMPLE_MASSLOSS 1.232444510449e+04 0.864931 1 3\n", + "EXAMPLE_MASSLOSS 1.232445809115e+04 0.864237 1 3\n", + "EXAMPLE_MASSLOSS 1.232447092499e+04 0.863545 1 3\n", + "EXAMPLE_MASSLOSS 1.232448360892e+04 0.862854 1 3\n", + "EXAMPLE_MASSLOSS 1.232449614578e+04 0.862163 1 3\n", + "EXAMPLE_MASSLOSS 1.232450853834e+04 0.861474 1 3\n", + "EXAMPLE_MASSLOSS 1.232452078928e+04 0.860786 1 3\n", + "EXAMPLE_MASSLOSS 1.232453290125e+04 0.860098 1 3\n", + "EXAMPLE_MASSLOSS 1.232454487678e+04 0.859412 1 3\n", + "EXAMPLE_MASSLOSS 1.232455671837e+04 0.858726 1 3\n", + "EXAMPLE_MASSLOSS 1.232456842846e+04 0.858041 1 3\n", + "EXAMPLE_MASSLOSS 1.232458000940e+04 0.857358 1 3\n", + "EXAMPLE_MASSLOSS 1.232459146352e+04 0.856675 1 3\n", + "EXAMPLE_MASSLOSS 1.232460279306e+04 0.855993 1 3\n", + "EXAMPLE_MASSLOSS 1.232461400022e+04 0.855312 1 3\n", + "EXAMPLE_MASSLOSS 1.232462508715e+04 0.854632 1 3\n", + "EXAMPLE_MASSLOSS 1.232463605593e+04 0.853952 1 3\n", + "EXAMPLE_MASSLOSS 1.232464690860e+04 0.853274 1 3\n", + "EXAMPLE_MASSLOSS 1.232465764717e+04 0.852596 1 3\n", + "EXAMPLE_MASSLOSS 1.232466827357e+04 0.851919 1 3\n", + "EXAMPLE_MASSLOSS 1.232467878970e+04 0.851243 1 3\n", + "EXAMPLE_MASSLOSS 1.232468919741e+04 0.850568 1 3\n", + "EXAMPLE_MASSLOSS 1.232469949853e+04 0.849893 1 3\n", + "EXAMPLE_MASSLOSS 1.232470969481e+04 0.849219 1 3\n", + "EXAMPLE_MASSLOSS 1.232471978798e+04 0.848546 1 3\n", + "EXAMPLE_MASSLOSS 1.232472977973e+04 0.847874 1 3\n", + "EXAMPLE_MASSLOSS 1.232473967172e+04 0.847202 1 3\n", + "EXAMPLE_MASSLOSS 1.232474946555e+04 0.846532 1 3\n", + "EXAMPLE_MASSLOSS 1.232475916280e+04 0.845861 1 3\n", + "EXAMPLE_MASSLOSS 1.232476876501e+04 0.845192 1 3\n", + "EXAMPLE_MASSLOSS 1.232477827368e+04 0.844523 1 3\n", + "EXAMPLE_MASSLOSS 1.232478769030e+04 0.843855 1 3\n", + "EXAMPLE_MASSLOSS 1.232479701629e+04 0.843188 1 3\n", + "EXAMPLE_MASSLOSS 1.232480625307e+04 0.842521 1 3\n", + "EXAMPLE_MASSLOSS 1.232481540201e+04 0.841855 1 3\n", + "EXAMPLE_MASSLOSS 1.232482446447e+04 0.841189 1 3\n", + "EXAMPLE_MASSLOSS 1.232483344176e+04 0.840525 1 3\n", + "EXAMPLE_MASSLOSS 1.232484233518e+04 0.83986 1 3\n", + "EXAMPLE_MASSLOSS 1.232485114598e+04 0.839197 1 3\n", + "EXAMPLE_MASSLOSS 1.232485987541e+04 0.838534 1 3\n", + "EXAMPLE_MASSLOSS 1.232486852466e+04 0.837872 1 3\n", + "EXAMPLE_MASSLOSS 1.232487709494e+04 0.83721 1 3\n", + "EXAMPLE_MASSLOSS 1.232488558739e+04 0.836549 1 3\n", + "EXAMPLE_MASSLOSS 1.232489400316e+04 0.835888 1 3\n", + "EXAMPLE_MASSLOSS 1.232490234335e+04 0.835228 1 3\n", + "EXAMPLE_MASSLOSS 1.232491060906e+04 0.834569 1 3\n", + "EXAMPLE_MASSLOSS 1.232491880135e+04 0.83391 1 3\n", + "EXAMPLE_MASSLOSS 1.232492692128e+04 0.833251 1 3\n", + "EXAMPLE_MASSLOSS 1.232493496985e+04 0.832594 1 3\n", + "EXAMPLE_MASSLOSS 1.232494294809e+04 0.831936 1 3\n", + "EXAMPLE_MASSLOSS 1.232495085697e+04 0.83128 1 3\n", + "EXAMPLE_MASSLOSS 1.232495869745e+04 0.830623 1 3\n", + "EXAMPLE_MASSLOSS 1.232496647048e+04 0.829968 1 3\n", + "EXAMPLE_MASSLOSS 1.232497417700e+04 0.829312 1 3\n", + "EXAMPLE_MASSLOSS 1.232498181790e+04 0.828658 1 3\n", + "EXAMPLE_MASSLOSS 1.232498939407e+04 0.828004 1 3\n", + "EXAMPLE_MASSLOSS 1.232499690640e+04 0.82735 1 3\n", + "EXAMPLE_MASSLOSS 1.232500435573e+04 0.826697 1 3\n", + "EXAMPLE_MASSLOSS 1.232501174291e+04 0.826044 1 3\n", + "EXAMPLE_MASSLOSS 1.232501906875e+04 0.825392 1 3\n", + "EXAMPLE_MASSLOSS 1.232502633408e+04 0.82474 1 3\n", + "EXAMPLE_MASSLOSS 1.232503353968e+04 0.824089 1 3\n", + "EXAMPLE_MASSLOSS 1.232504068632e+04 0.823438 1 3\n", + "EXAMPLE_MASSLOSS 1.232504777478e+04 0.822787 1 3\n", + "EXAMPLE_MASSLOSS 1.232505480580e+04 0.822138 1 3\n", + "EXAMPLE_MASSLOSS 1.232506178011e+04 0.821488 1 3\n", + "EXAMPLE_MASSLOSS 1.232506869844e+04 0.820839 1 3\n", + "EXAMPLE_MASSLOSS 1.232507556150e+04 0.82019 1 3\n", + "EXAMPLE_MASSLOSS 1.232508236998e+04 0.819542 1 3\n", + "EXAMPLE_MASSLOSS 1.232508912456e+04 0.818894 1 3\n", + "EXAMPLE_MASSLOSS 1.232509582591e+04 0.818247 1 3\n", + "EXAMPLE_MASSLOSS 1.232510247469e+04 0.8176 1 3\n", + "EXAMPLE_MASSLOSS 1.232510851823e+04 0.817008 1 4\n", + "EXAMPLE_MASSLOSS 1.232511506934e+04 0.817007 1 4\n", + "EXAMPLE_MASSLOSS 1.232643021361e+04 0.816842 1 4\n", + "EXAMPLE_MASSLOSS 1.232774535788e+04 0.816677 1 4\n", + "EXAMPLE_MASSLOSS 1.232906050215e+04 0.816512 1 4\n", + "EXAMPLE_MASSLOSS 1.233037564642e+04 0.816347 1 4\n", + "EXAMPLE_MASSLOSS 1.233169079069e+04 0.816182 1 4\n", + "EXAMPLE_MASSLOSS 1.233300593496e+04 0.816017 1 4\n", + "EXAMPLE_MASSLOSS 1.233432107923e+04 0.815851 1 4\n", + "EXAMPLE_MASSLOSS 1.233563622350e+04 0.815686 1 4\n", + "EXAMPLE_MASSLOSS 1.233695136777e+04 0.81552 1 4\n", + "EXAMPLE_MASSLOSS 1.233826651204e+04 0.815354 1 4\n", + "EXAMPLE_MASSLOSS 1.233958165631e+04 0.815187 1 4\n", + "EXAMPLE_MASSLOSS 1.234089680058e+04 0.81502 1 4\n", + "EXAMPLE_MASSLOSS 1.234221194485e+04 0.814853 1 4\n", + "EXAMPLE_MASSLOSS 1.234352708912e+04 0.814686 1 4\n", + "EXAMPLE_MASSLOSS 1.234484223339e+04 0.814518 1 4\n", + "EXAMPLE_MASSLOSS 1.234615737767e+04 0.814349 1 4\n", + "EXAMPLE_MASSLOSS 1.234747252194e+04 0.81418 1 4\n", + "EXAMPLE_MASSLOSS 1.234878766621e+04 0.81401 1 4\n", + "EXAMPLE_MASSLOSS 1.235008445018e+04 0.813843 1 4\n", + "EXAMPLE_MASSLOSS 1.235134767862e+04 0.813678 1 4\n", + "EXAMPLE_MASSLOSS 1.235257940262e+04 0.813518 1 4\n", + "EXAMPLE_MASSLOSS 1.235378172078e+04 0.81336 1 4\n", + "EXAMPLE_MASSLOSS 1.235495652261e+04 0.813205 1 4\n", + "EXAMPLE_MASSLOSS 1.235610551115e+04 0.813053 1 4\n", + "EXAMPLE_MASSLOSS 1.235723022601e+04 0.812904 1 4\n", + "EXAMPLE_MASSLOSS 1.235833206301e+04 0.812757 1 4\n", + "EXAMPLE_MASSLOSS 1.235941229095e+04 0.812612 1 4\n", + "EXAMPLE_MASSLOSS 1.236047206613e+04 0.812469 1 4\n", + "EXAMPLE_MASSLOSS 1.236151244485e+04 0.812328 1 4\n", + "EXAMPLE_MASSLOSS 1.236253439426e+04 0.812189 1 4\n", + "EXAMPLE_MASSLOSS 1.236353880185e+04 0.812051 1 4\n", + "EXAMPLE_MASSLOSS 1.236452648369e+04 0.811915 1 4\n", + "EXAMPLE_MASSLOSS 1.236549819176e+04 0.81178 1 4\n", + "EXAMPLE_MASSLOSS 1.236645462026e+04 0.811647 1 4\n", + "EXAMPLE_MASSLOSS 1.236739641133e+04 0.811515 1 4\n", + "EXAMPLE_MASSLOSS 1.236832416002e+04 0.811384 1 4\n", + "EXAMPLE_MASSLOSS 1.236923841877e+04 0.811254 1 4\n", + "EXAMPLE_MASSLOSS 1.237013970130e+04 0.811126 1 4\n", + "EXAMPLE_MASSLOSS 1.237102848622e+04 0.810998 1 4\n", + "EXAMPLE_MASSLOSS 1.237190522014e+04 0.810871 1 4\n", + "EXAMPLE_MASSLOSS 1.237277032055e+04 0.810745 1 4\n", + "EXAMPLE_MASSLOSS 1.237362417833e+04 0.81062 1 4\n", + "EXAMPLE_MASSLOSS 1.237446716003e+04 0.810496 1 4\n", + "EXAMPLE_MASSLOSS 1.237529961001e+04 0.810372 1 4\n", + "EXAMPLE_MASSLOSS 1.237612185223e+04 0.810249 1 4\n", + "EXAMPLE_MASSLOSS 1.237693419200e+04 0.810127 1 4\n", + "EXAMPLE_MASSLOSS 1.237773691747e+04 0.810006 1 4\n", + "EXAMPLE_MASSLOSS 1.237853030106e+04 0.809885 1 4\n", + "EXAMPLE_MASSLOSS 1.237931460070e+04 0.809764 1 4\n", + "EXAMPLE_MASSLOSS 1.238009006098e+04 0.809644 1 4\n", + "EXAMPLE_MASSLOSS 1.238085691422e+04 0.809524 1 4\n", + "EXAMPLE_MASSLOSS 1.238161538141e+04 0.809405 1 4\n", + "EXAMPLE_MASSLOSS 1.238236567307e+04 0.809287 1 4\n", + "EXAMPLE_MASSLOSS 1.238310799009e+04 0.809168 1 4\n", + "EXAMPLE_MASSLOSS 1.238384252442e+04 0.80905 1 4\n", + "EXAMPLE_MASSLOSS 1.238456945977e+04 0.808933 1 4\n", + "EXAMPLE_MASSLOSS 1.238528897220e+04 0.808815 1 4\n", + "EXAMPLE_MASSLOSS 1.238600123068e+04 0.808698 1 4\n", + "EXAMPLE_MASSLOSS 1.238670639762e+04 0.808581 1 4\n", + "EXAMPLE_MASSLOSS 1.238740462935e+04 0.808465 1 4\n", + "EXAMPLE_MASSLOSS 1.238809607655e+04 0.808349 1 4\n", + "EXAMPLE_MASSLOSS 1.238878088462e+04 0.808233 1 4\n", + "EXAMPLE_MASSLOSS 1.238945919408e+04 0.808117 1 4\n", + "EXAMPLE_MASSLOSS 1.239013114092e+04 0.808001 1 4\n", + "EXAMPLE_MASSLOSS 1.239079685689e+04 0.807885 1 4\n", + "EXAMPLE_MASSLOSS 1.239145646976e+04 0.80777 1 4\n", + "EXAMPLE_MASSLOSS 1.239211010366e+04 0.807654 1 4\n", + "EXAMPLE_MASSLOSS 1.239275787925e+04 0.807539 1 4\n", + "EXAMPLE_MASSLOSS 1.239339991400e+04 0.807424 1 4\n", + "EXAMPLE_MASSLOSS 1.239403632236e+04 0.807309 1 4\n", + "EXAMPLE_MASSLOSS 1.239466721597e+04 0.807194 1 4\n", + "EXAMPLE_MASSLOSS 1.239529270384e+04 0.807079 1 4\n", + "EXAMPLE_MASSLOSS 1.239591289250e+04 0.806963 1 4\n", + "EXAMPLE_MASSLOSS 1.239652788619e+04 0.806848 1 4\n", + "EXAMPLE_MASSLOSS 1.239713778693e+04 0.806733 1 4\n", + "EXAMPLE_MASSLOSS 1.239774269472e+04 0.806618 1 4\n", + "EXAMPLE_MASSLOSS 1.239834270764e+04 0.806503 1 4\n", + "EXAMPLE_MASSLOSS 1.239893792194e+04 0.806388 1 4\n", + "EXAMPLE_MASSLOSS 1.239952843216e+04 0.806272 1 4\n", + "EXAMPLE_MASSLOSS 1.240011433124e+04 0.806157 1 4\n", + "EXAMPLE_MASSLOSS 1.240069571058e+04 0.806041 1 4\n", + "EXAMPLE_MASSLOSS 1.240127266016e+04 0.805926 1 4\n", + "EXAMPLE_MASSLOSS 1.240184526857e+04 0.80581 1 4\n", + "EXAMPLE_MASSLOSS 1.240241362313e+04 0.805694 1 4\n", + "EXAMPLE_MASSLOSS 1.240297780994e+04 0.805578 1 4\n", + "EXAMPLE_MASSLOSS 1.240353791392e+04 0.805461 1 4\n", + "EXAMPLE_MASSLOSS 1.240409401890e+04 0.805345 1 4\n", + "EXAMPLE_MASSLOSS 1.240464620768e+04 0.805228 1 4\n", + "EXAMPLE_MASSLOSS 1.240519456204e+04 0.805111 1 4\n", + "EXAMPLE_MASSLOSS 1.240573916283e+04 0.804994 1 4\n", + "EXAMPLE_MASSLOSS 1.240628009001e+04 0.804876 1 4\n", + "EXAMPLE_MASSLOSS 1.240681742266e+04 0.804758 1 4\n", + "EXAMPLE_MASSLOSS 1.240735123907e+04 0.80464 1 4\n", + "EXAMPLE_MASSLOSS 1.240788161674e+04 0.804522 1 4\n", + "EXAMPLE_MASSLOSS 1.240840863243e+04 0.804403 1 4\n", + "EXAMPLE_MASSLOSS 1.240893236221e+04 0.804284 1 4\n", + "EXAMPLE_MASSLOSS 1.240945288148e+04 0.804164 1 4\n", + "EXAMPLE_MASSLOSS 1.240997026497e+04 0.804044 1 4\n", + "EXAMPLE_MASSLOSS 1.241048458685e+04 0.803924 1 4\n", + "EXAMPLE_MASSLOSS 1.241099592066e+04 0.803803 1 4\n", + "EXAMPLE_MASSLOSS 1.241150433945e+04 0.803682 1 4\n", + "EXAMPLE_MASSLOSS 1.241200991568e+04 0.80356 1 4\n", + "EXAMPLE_MASSLOSS 1.241251272137e+04 0.803438 1 4\n", + "EXAMPLE_MASSLOSS 1.241301282805e+04 0.803316 1 4\n", + "EXAMPLE_MASSLOSS 1.241351030679e+04 0.803192 1 4\n", + "EXAMPLE_MASSLOSS 1.241400522825e+04 0.803069 1 4\n", + "EXAMPLE_MASSLOSS 1.241449766271e+04 0.802944 1 4\n", + "EXAMPLE_MASSLOSS 1.241498768006e+04 0.802819 1 4\n", + "EXAMPLE_MASSLOSS 1.241547534984e+04 0.802694 1 4\n", + "EXAMPLE_MASSLOSS 1.241596074126e+04 0.802568 1 4\n", + "EXAMPLE_MASSLOSS 1.241644392324e+04 0.802441 1 4\n", + "EXAMPLE_MASSLOSS 1.241692496442e+04 0.802314 1 4\n", + "EXAMPLE_MASSLOSS 1.241740393316e+04 0.802185 1 4\n", + "EXAMPLE_MASSLOSS 1.241788089760e+04 0.802057 1 4\n", + "EXAMPLE_MASSLOSS 1.241835592567e+04 0.801927 1 4\n", + "EXAMPLE_MASSLOSS 1.241882908510e+04 0.801796 1 4\n", + "EXAMPLE_MASSLOSS 1.241930044345e+04 0.801665 1 4\n", + "EXAMPLE_MASSLOSS 1.241977006813e+04 0.801533 1 4\n", + "EXAMPLE_MASSLOSS 1.242023802645e+04 0.8014 1 4\n", + "EXAMPLE_MASSLOSS 1.242070438558e+04 0.801266 1 4\n", + "EXAMPLE_MASSLOSS 1.242116921265e+04 0.801132 1 4\n", + "EXAMPLE_MASSLOSS 1.242163257470e+04 0.800996 1 4\n", + "EXAMPLE_MASSLOSS 1.242209453878e+04 0.800859 1 4\n", + "EXAMPLE_MASSLOSS 1.242255517189e+04 0.800721 1 4\n", + "EXAMPLE_MASSLOSS 1.242301454108e+04 0.800583 1 4\n", + "EXAMPLE_MASSLOSS 1.242347271342e+04 0.800443 1 4\n", + "EXAMPLE_MASSLOSS 1.242392975606e+04 0.800302 1 4\n", + "EXAMPLE_MASSLOSS 1.242438573623e+04 0.80016 1 4\n", + "EXAMPLE_MASSLOSS 1.242484072128e+04 0.800016 1 4\n", + "EXAMPLE_MASSLOSS 1.242529477871e+04 0.799872 1 4\n", + "EXAMPLE_MASSLOSS 1.242574797618e+04 0.799726 1 4\n", + "EXAMPLE_MASSLOSS 1.242620038155e+04 0.799579 1 4\n", + "EXAMPLE_MASSLOSS 1.242665206291e+04 0.79943 1 4\n", + "EXAMPLE_MASSLOSS 1.242710308859e+04 0.79928 1 4\n", + "EXAMPLE_MASSLOSS 1.242755352722e+04 0.799129 1 4\n", + "EXAMPLE_MASSLOSS 1.242800344772e+04 0.798976 1 4\n", + "EXAMPLE_MASSLOSS 1.242845291937e+04 0.798822 1 4\n", + "EXAMPLE_MASSLOSS 1.242890201180e+04 0.798666 1 4\n", + "EXAMPLE_MASSLOSS 1.242935079505e+04 0.798508 1 4\n", + "EXAMPLE_MASSLOSS 1.242979933962e+04 0.798349 1 4\n", + "EXAMPLE_MASSLOSS 1.243024771644e+04 0.798187 1 4\n", + "EXAMPLE_MASSLOSS 1.243069599695e+04 0.798024 1 4\n", + "EXAMPLE_MASSLOSS 1.243114425314e+04 0.79786 1 4\n", + "EXAMPLE_MASSLOSS 1.243159255755e+04 0.797693 1 4\n", + "EXAMPLE_MASSLOSS 1.243204098335e+04 0.797524 1 4\n", + "EXAMPLE_MASSLOSS 1.243248960432e+04 0.797353 1 4\n", + "EXAMPLE_MASSLOSS 1.243293849495e+04 0.79718 1 4\n", + "EXAMPLE_MASSLOSS 1.243338773042e+04 0.797005 1 4\n", + "EXAMPLE_MASSLOSS 1.243383738669e+04 0.796828 1 4\n", + "EXAMPLE_MASSLOSS 1.243428754051e+04 0.796648 1 4\n", + "EXAMPLE_MASSLOSS 1.243473826946e+04 0.796466 1 4\n", + "EXAMPLE_MASSLOSS 1.243518965201e+04 0.796281 1 4\n", + "EXAMPLE_MASSLOSS 1.243564176754e+04 0.796094 1 4\n", + "EXAMPLE_MASSLOSS 1.243609469642e+04 0.795904 1 4\n", + "EXAMPLE_MASSLOSS 1.243654852001e+04 0.795711 1 4\n", + "EXAMPLE_MASSLOSS 1.243700332073e+04 0.795515 1 4\n", + "EXAMPLE_MASSLOSS 1.243745918212e+04 0.795317 1 4\n", + "EXAMPLE_MASSLOSS 1.243791618887e+04 0.795115 1 4\n", + "EXAMPLE_MASSLOSS 1.243837442686e+04 0.79491 1 4\n", + "EXAMPLE_MASSLOSS 1.243883398322e+04 0.794701 1 4\n", + "EXAMPLE_MASSLOSS 1.243929494639e+04 0.79449 1 4\n", + "EXAMPLE_MASSLOSS 1.243975740618e+04 0.794274 1 4\n", + "EXAMPLE_MASSLOSS 1.244022145378e+04 0.794055 1 4\n", + "EXAMPLE_MASSLOSS 1.244068718187e+04 0.793832 1 4\n", + "EXAMPLE_MASSLOSS 1.244115468461e+04 0.793605 1 4\n", + "EXAMPLE_MASSLOSS 1.244162405777e+04 0.793374 1 4\n", + "EXAMPLE_MASSLOSS 1.244209539872e+04 0.793139 1 4\n", + "EXAMPLE_MASSLOSS 1.244256880654e+04 0.792899 1 4\n", + "EXAMPLE_MASSLOSS 1.244304438203e+04 0.792655 1 4\n", + "EXAMPLE_MASSLOSS 1.244352222781e+04 0.792406 1 4\n", + "EXAMPLE_MASSLOSS 1.244400244835e+04 0.792151 1 4\n", + "EXAMPLE_MASSLOSS 1.244448515004e+04 0.791892 1 4\n", + "EXAMPLE_MASSLOSS 1.244497044126e+04 0.791627 1 4\n", + "EXAMPLE_MASSLOSS 1.244545843240e+04 0.791357 1 4\n", + "EXAMPLE_MASSLOSS 1.244594923599e+04 0.79108 1 4\n", + "EXAMPLE_MASSLOSS 1.244644296667e+04 0.790798 1 4\n", + "EXAMPLE_MASSLOSS 1.244693974132e+04 0.790509 1 4\n", + "EXAMPLE_MASSLOSS 1.244743967908e+04 0.790214 1 4\n", + "EXAMPLE_MASSLOSS 1.244794290141e+04 0.789912 1 4\n", + "EXAMPLE_MASSLOSS 1.244844953216e+04 0.789603 1 4\n", + "EXAMPLE_MASSLOSS 1.244895969759e+04 0.789286 1 4\n", + "EXAMPLE_MASSLOSS 1.244947352644e+04 0.788961 1 4\n", + "EXAMPLE_MASSLOSS 1.244999114998e+04 0.788628 1 4\n", + "EXAMPLE_MASSLOSS 1.245051270201e+04 0.788287 1 4\n", + "EXAMPLE_MASSLOSS 1.245103831897e+04 0.787936 1 4\n", + "EXAMPLE_MASSLOSS 1.245156813988e+04 0.787576 1 4\n", + "EXAMPLE_MASSLOSS 1.245210230642e+04 0.787207 1 4\n", + "EXAMPLE_MASSLOSS 1.245264096293e+04 0.786827 1 4\n", + "EXAMPLE_MASSLOSS 1.245318425641e+04 0.786437 1 4\n", + "EXAMPLE_MASSLOSS 1.245373233653e+04 0.786035 1 4\n", + "EXAMPLE_MASSLOSS 1.245428535559e+04 0.785622 1 4\n", + "EXAMPLE_MASSLOSS 1.245484346850e+04 0.785196 1 4\n", + "EXAMPLE_MASSLOSS 1.245540683273e+04 0.784757 1 4\n", + "EXAMPLE_MASSLOSS 1.245597560825e+04 0.784305 1 4\n", + "EXAMPLE_MASSLOSS 1.245654995743e+04 0.783838 1 4\n", + "EXAMPLE_MASSLOSS 1.245713004494e+04 0.783356 1 5\n", + "EXAMPLE_MASSLOSS 1.245717071706e+04 0.783356 1 5\n", + "EXAMPLE_MASSLOSS 1.245721098247e+04 0.783356 1 5\n", + "EXAMPLE_MASSLOSS 1.245725084522e+04 0.783356 1 5\n", + "EXAMPLE_MASSLOSS 1.245729030934e+04 0.783356 1 5\n", + "EXAMPLE_MASSLOSS 1.245732937882e+04 0.783355 1 5\n", + "EXAMPLE_MASSLOSS 1.245736805761e+04 0.783355 1 5\n", + "EXAMPLE_MASSLOSS 1.245740634961e+04 0.783355 1 5\n", + "EXAMPLE_MASSLOSS 1.245744425869e+04 0.783355 1 5\n", + "EXAMPLE_MASSLOSS 1.245748178868e+04 0.783355 1 5\n", + "EXAMPLE_MASSLOSS 1.245751894336e+04 0.783354 1 5\n", + "EXAMPLE_MASSLOSS 1.245755572651e+04 0.783354 1 5\n", + "EXAMPLE_MASSLOSS 1.245759214182e+04 0.783354 1 5\n", + "EXAMPLE_MASSLOSS 1.245762819297e+04 0.783354 1 5\n", + "EXAMPLE_MASSLOSS 1.245766388362e+04 0.783354 1 5\n", + "EXAMPLE_MASSLOSS 1.245769921736e+04 0.783354 1 5\n", + "EXAMPLE_MASSLOSS 1.245773419776e+04 0.783353 1 5\n", + "EXAMPLE_MASSLOSS 1.245776882836e+04 0.783353 1 5\n", + "EXAMPLE_MASSLOSS 1.245780311265e+04 0.783353 1 5\n", + "EXAMPLE_MASSLOSS 1.245783705410e+04 0.783353 1 5\n", + "EXAMPLE_MASSLOSS 1.245787065613e+04 0.783353 1 5\n", + "EXAMPLE_MASSLOSS 1.245790392214e+04 0.783353 1 5\n", + "EXAMPLE_MASSLOSS 1.245793685550e+04 0.783352 1 5\n", + "EXAMPLE_MASSLOSS 1.245796945952e+04 0.783352 1 5\n", + "EXAMPLE_MASSLOSS 1.245800173750e+04 0.783352 1 5\n", + "EXAMPLE_MASSLOSS 1.245803369270e+04 0.783352 1 5\n", + "EXAMPLE_MASSLOSS 1.245806532835e+04 0.783352 1 5\n", + "EXAMPLE_MASSLOSS 1.245809664764e+04 0.783352 1 5\n", + "EXAMPLE_MASSLOSS 1.245812765374e+04 0.783351 1 5\n", + "EXAMPLE_MASSLOSS 1.245815834977e+04 0.783351 1 5\n", + "EXAMPLE_MASSLOSS 1.245818873885e+04 0.783351 1 5\n", + "EXAMPLE_MASSLOSS 1.245821882404e+04 0.783351 1 5\n", + "EXAMPLE_MASSLOSS 1.245824860837e+04 0.783351 1 5\n", + "EXAMPLE_MASSLOSS 1.245827809486e+04 0.783351 1 5\n", + "EXAMPLE_MASSLOSS 1.245830728649e+04 0.78335 1 5\n", + "EXAMPLE_MASSLOSS 1.245833618620e+04 0.78335 1 5\n", + "EXAMPLE_MASSLOSS 1.245836479691e+04 0.78335 1 5\n", + "EXAMPLE_MASSLOSS 1.245839312152e+04 0.78335 1 5\n", + "EXAMPLE_MASSLOSS 1.245842116288e+04 0.78335 1 5\n", + "EXAMPLE_MASSLOSS 1.245844892383e+04 0.78335 1 5\n", + "EXAMPLE_MASSLOSS 1.245847640716e+04 0.783349 1 5\n", + "EXAMPLE_MASSLOSS 1.245850361567e+04 0.783349 1 5\n", + "EXAMPLE_MASSLOSS 1.245853055208e+04 0.783349 1 5\n", + "EXAMPLE_MASSLOSS 1.245855721914e+04 0.783349 1 5\n", + "EXAMPLE_MASSLOSS 1.245858361952e+04 0.783349 1 5\n", + "EXAMPLE_MASSLOSS 1.245860975590e+04 0.783349 1 5\n", + "EXAMPLE_MASSLOSS 1.245863563092e+04 0.783349 1 5\n", + "EXAMPLE_MASSLOSS 1.245866124718e+04 0.783348 1 5\n", + "EXAMPLE_MASSLOSS 1.245868660729e+04 0.783348 1 5\n", + "EXAMPLE_MASSLOSS 1.245871171379e+04 0.783348 1 5\n", + "EXAMPLE_MASSLOSS 1.245873656923e+04 0.783348 1 5\n", + "EXAMPLE_MASSLOSS 1.245876117611e+04 0.783348 1 5\n", + "EXAMPLE_MASSLOSS 1.245878553692e+04 0.783348 1 5\n", + "EXAMPLE_MASSLOSS 1.245880965413e+04 0.783347 1 5\n", + "EXAMPLE_MASSLOSS 1.245883353016e+04 0.783347 1 5\n", + "EXAMPLE_MASSLOSS 1.245885716744e+04 0.783347 1 5\n", + "EXAMPLE_MASSLOSS 1.245888056834e+04 0.783347 1 5\n", + "EXAMPLE_MASSLOSS 1.245890373523e+04 0.783347 1 5\n", + "EXAMPLE_MASSLOSS 1.245892667045e+04 0.783347 1 5\n", + "EXAMPLE_MASSLOSS 1.245894937632e+04 0.783347 1 5\n", + "EXAMPLE_MASSLOSS 1.245897185513e+04 0.783346 1 5\n", + "EXAMPLE_MASSLOSS 1.245899410916e+04 0.783346 1 5\n", + "EXAMPLE_MASSLOSS 1.245901614064e+04 0.783346 1 5\n", + "EXAMPLE_MASSLOSS 1.245903795181e+04 0.783346 1 5\n", + "EXAMPLE_MASSLOSS 1.245905954487e+04 0.783346 1 5\n", + "EXAMPLE_MASSLOSS 1.245908092199e+04 0.783346 1 5\n", + "EXAMPLE_MASSLOSS 1.245910208535e+04 0.783346 1 5\n", + "EXAMPLE_MASSLOSS 1.245912303707e+04 0.783345 1 5\n", + "EXAMPLE_MASSLOSS 1.245914377927e+04 0.783345 1 5\n", + "EXAMPLE_MASSLOSS 1.245916431406e+04 0.783345 1 5\n", + "EXAMPLE_MASSLOSS 1.245918464349e+04 0.783345 1 5\n", + "EXAMPLE_MASSLOSS 1.245920476963e+04 0.783345 1 5\n", + "EXAMPLE_MASSLOSS 1.245922469451e+04 0.783345 1 5\n", + "EXAMPLE_MASSLOSS 1.245924442014e+04 0.783345 1 5\n", + "EXAMPLE_MASSLOSS 1.245926394851e+04 0.783344 1 5\n", + "EXAMPLE_MASSLOSS 1.245928328160e+04 0.783344 1 5\n", + "EXAMPLE_MASSLOSS 1.245930242136e+04 0.783344 1 5\n", + "EXAMPLE_MASSLOSS 1.245932136972e+04 0.783344 1 5\n", + "EXAMPLE_MASSLOSS 1.245934012860e+04 0.783344 1 5\n", + "EXAMPLE_MASSLOSS 1.245935869989e+04 0.783344 1 5\n", + "EXAMPLE_MASSLOSS 1.245937708547e+04 0.783344 1 5\n", + "EXAMPLE_MASSLOSS 1.245939528719e+04 0.783344 1 5\n", + "EXAMPLE_MASSLOSS 1.245941330689e+04 0.783343 1 5\n", + "EXAMPLE_MASSLOSS 1.245943114640e+04 0.783343 1 5\n", + "EXAMPLE_MASSLOSS 1.245944880751e+04 0.783343 1 5\n", + "EXAMPLE_MASSLOSS 1.245946629201e+04 0.783343 1 5\n", + "EXAMPLE_MASSLOSS 1.245948360166e+04 0.783343 1 5\n", + "EXAMPLE_MASSLOSS 1.245950073822e+04 0.783343 1 5\n", + "EXAMPLE_MASSLOSS 1.245951770341e+04 0.783343 1 5\n", + "EXAMPLE_MASSLOSS 1.245953449895e+04 0.783342 1 5\n", + "EXAMPLE_MASSLOSS 1.245955112654e+04 0.783342 1 5\n", + "EXAMPLE_MASSLOSS 1.245956758785e+04 0.783342 1 5\n", + "EXAMPLE_MASSLOSS 1.245958388455e+04 0.783342 1 5\n", + "EXAMPLE_MASSLOSS 1.245960001828e+04 0.783342 1 5\n", + "EXAMPLE_MASSLOSS 1.245961599067e+04 0.783342 1 5\n", + "EXAMPLE_MASSLOSS 1.245963180334e+04 0.783342 1 5\n", + "EXAMPLE_MASSLOSS 1.245964745788e+04 0.783341 1 5\n", + "EXAMPLE_MASSLOSS 1.245966295587e+04 0.783341 1 5\n", + "EXAMPLE_MASSLOSS 1.245967829889e+04 0.783341 1 5\n", + "EXAMPLE_MASSLOSS 1.245969348848e+04 0.783341 1 5\n", + "EXAMPLE_MASSLOSS 1.245970852617e+04 0.783341 1 5\n", + "EXAMPLE_MASSLOSS 1.245972341348e+04 0.783341 1 5\n", + "EXAMPLE_MASSLOSS 1.245973815192e+04 0.783341 1 5\n", + "EXAMPLE_MASSLOSS 1.245975274298e+04 0.78334 1 5\n", + "EXAMPLE_MASSLOSS 1.245976718812e+04 0.78334 1 5\n", + "EXAMPLE_MASSLOSS 1.245978148882e+04 0.78334 1 5\n", + "EXAMPLE_MASSLOSS 1.245979564650e+04 0.78334 1 5\n", + "EXAMPLE_MASSLOSS 1.245980966261e+04 0.78334 1 5\n", + "EXAMPLE_MASSLOSS 1.245982353856e+04 0.78334 1 5\n", + "EXAMPLE_MASSLOSS 1.245983727575e+04 0.783339 1 5\n", + "EXAMPLE_MASSLOSS 1.245985087557e+04 0.783339 1 5\n", + "EXAMPLE_MASSLOSS 1.245986433939e+04 0.783339 1 5\n", + "EXAMPLE_MASSLOSS 1.245987766857e+04 0.783339 1 5\n", + "EXAMPLE_MASSLOSS 1.245989086446e+04 0.783339 1 5\n", + "EXAMPLE_MASSLOSS 1.245990392839e+04 0.783339 1 5\n", + "EXAMPLE_MASSLOSS 1.245991686168e+04 0.783339 1 5\n", + "EXAMPLE_MASSLOSS 1.245992966564e+04 0.783338 1 5\n", + "EXAMPLE_MASSLOSS 1.245994234156e+04 0.783338 1 5\n", + "EXAMPLE_MASSLOSS 1.245995489072e+04 0.783338 1 5\n", + "EXAMPLE_MASSLOSS 1.245996731438e+04 0.783338 1 5\n", + "EXAMPLE_MASSLOSS 1.245997961382e+04 0.783338 1 5\n", + "EXAMPLE_MASSLOSS 1.245999179025e+04 0.783338 1 5\n", + "EXAMPLE_MASSLOSS 1.246000384492e+04 0.783337 1 5\n", + "EXAMPLE_MASSLOSS 1.246001577905e+04 0.783337 1 5\n", + "EXAMPLE_MASSLOSS 1.246002759384e+04 0.783337 1 5\n", + "EXAMPLE_MASSLOSS 1.246003929047e+04 0.783337 1 5\n", + "EXAMPLE_MASSLOSS 1.246005087014e+04 0.783337 1 5\n", + "EXAMPLE_MASSLOSS 1.246006233402e+04 0.783337 1 5\n", + "EXAMPLE_MASSLOSS 1.246007368325e+04 0.783336 1 5\n", + "EXAMPLE_MASSLOSS 1.246008491899e+04 0.783336 1 5\n", + "EXAMPLE_MASSLOSS 1.246009604238e+04 0.783336 1 5\n", + "EXAMPLE_MASSLOSS 1.246010705453e+04 0.783336 1 5\n", + "EXAMPLE_MASSLOSS 1.246011795656e+04 0.783336 1 5\n", + "EXAMPLE_MASSLOSS 1.246012874957e+04 0.783335 1 5\n", + "EXAMPLE_MASSLOSS 1.246013943465e+04 0.783335 1 5\n", + "EXAMPLE_MASSLOSS 1.246015001288e+04 0.783335 1 5\n", + "EXAMPLE_MASSLOSS 1.246016048532e+04 0.783335 1 5\n", + "EXAMPLE_MASSLOSS 1.246017085304e+04 0.783335 1 5\n", + "EXAMPLE_MASSLOSS 1.246018111709e+04 0.783334 1 5\n", + "EXAMPLE_MASSLOSS 1.246019127849e+04 0.783334 1 5\n", + "EXAMPLE_MASSLOSS 1.246020133828e+04 0.783334 1 5\n", + "EXAMPLE_MASSLOSS 1.246021129748e+04 0.783334 1 5\n", + "EXAMPLE_MASSLOSS 1.246022115708e+04 0.783334 1 5\n", + "EXAMPLE_MASSLOSS 1.246023091808e+04 0.783333 1 5\n", + "EXAMPLE_MASSLOSS 1.246024058147e+04 0.783333 1 5\n", + "EXAMPLE_MASSLOSS 1.246025014824e+04 0.783333 1 5\n", + "EXAMPLE_MASSLOSS 1.246025961933e+04 0.783333 1 5\n", + "EXAMPLE_MASSLOSS 1.246026899571e+04 0.783332 1 5\n", + "EXAMPLE_MASSLOSS 1.246027827833e+04 0.783332 1 5\n", + "EXAMPLE_MASSLOSS 1.246028746812e+04 0.783332 1 5\n", + "EXAMPLE_MASSLOSS 1.246029656601e+04 0.783332 1 5\n", + "EXAMPLE_MASSLOSS 1.246030557293e+04 0.783331 1 5\n", + "EXAMPLE_MASSLOSS 1.246031448977e+04 0.783331 1 5\n", + "EXAMPLE_MASSLOSS 1.246032331745e+04 0.783331 1 5\n", + "EXAMPLE_MASSLOSS 1.246033205685e+04 0.78333 1 5\n", + "EXAMPLE_MASSLOSS 1.246034070886e+04 0.78333 1 5\n", + "EXAMPLE_MASSLOSS 1.246034927434e+04 0.78333 1 5\n", + "EXAMPLE_MASSLOSS 1.246035775418e+04 0.78333 1 5\n", + "EXAMPLE_MASSLOSS 1.246036614921e+04 0.783329 1 5\n", + "EXAMPLE_MASSLOSS 1.246037446029e+04 0.783329 1 5\n", + "EXAMPLE_MASSLOSS 1.246038268826e+04 0.783329 1 5\n", + "EXAMPLE_MASSLOSS 1.246039083396e+04 0.783328 1 5\n", + "EXAMPLE_MASSLOSS 1.246039889819e+04 0.783328 1 5\n", + "EXAMPLE_MASSLOSS 1.246040688179e+04 0.783327 1 5\n", + "EXAMPLE_MASSLOSS 1.246041478554e+04 0.783327 1 5\n", + "EXAMPLE_MASSLOSS 1.246042261026e+04 0.783327 1 5\n", + "EXAMPLE_MASSLOSS 1.246043035673e+04 0.783326 1 5\n", + "EXAMPLE_MASSLOSS 1.246043802574e+04 0.783326 1 5\n", + "EXAMPLE_MASSLOSS 1.246044561806e+04 0.783325 1 5\n", + "EXAMPLE_MASSLOSS 1.246045313445e+04 0.783325 1 5\n", + "EXAMPLE_MASSLOSS 1.246046057569e+04 0.783325 1 5\n", + "EXAMPLE_MASSLOSS 1.246046794250e+04 0.783324 1 5\n", + "EXAMPLE_MASSLOSS 1.246047523565e+04 0.783324 1 5\n", + "EXAMPLE_MASSLOSS 1.246048245587e+04 0.783323 1 5\n", + "EXAMPLE_MASSLOSS 1.246048960389e+04 0.783323 1 5\n", + "EXAMPLE_MASSLOSS 1.246049668042e+04 0.783322 1 5\n", + "EXAMPLE_MASSLOSS 1.246050368620e+04 0.783321 1 5\n", + "EXAMPLE_MASSLOSS 1.246051062191e+04 0.783321 1 5\n", + "EXAMPLE_MASSLOSS 1.246051748826e+04 0.78332 1 5\n", + "EXAMPLE_MASSLOSS 1.246052428596e+04 0.78332 1 5\n", + "EXAMPLE_MASSLOSS 1.246053101567e+04 0.783319 1 5\n", + "EXAMPLE_MASSLOSS 1.246053767809e+04 0.783318 1 5\n", + "EXAMPLE_MASSLOSS 1.246054427388e+04 0.783317 1 5\n", + "EXAMPLE_MASSLOSS 1.246055080372e+04 0.783317 1 5\n", + "EXAMPLE_MASSLOSS 1.246055726826e+04 0.783316 1 5\n", + "EXAMPLE_MASSLOSS 1.246056366815e+04 0.783315 1 5\n", + "EXAMPLE_MASSLOSS 1.246057000404e+04 0.783314 1 5\n", + "EXAMPLE_MASSLOSS 1.246057627658e+04 0.783313 1 5\n", + "EXAMPLE_MASSLOSS 1.246058248639e+04 0.783312 1 5\n", + "EXAMPLE_MASSLOSS 1.246058863410e+04 0.783311 1 5\n", + "EXAMPLE_MASSLOSS 1.246059472033e+04 0.78331 1 5\n", + "EXAMPLE_MASSLOSS 1.246060074571e+04 0.783309 1 5\n", + "EXAMPLE_MASSLOSS 1.246060671082e+04 0.783308 1 5\n", + "EXAMPLE_MASSLOSS 1.246061261629e+04 0.783306 1 5\n", + "EXAMPLE_MASSLOSS 1.246061846270e+04 0.783305 1 5\n", + "EXAMPLE_MASSLOSS 1.246062425065e+04 0.783304 1 5\n", + "EXAMPLE_MASSLOSS 1.246062998072e+04 0.783302 1 5\n", + "EXAMPLE_MASSLOSS 1.246063565349e+04 0.783301 1 5\n", + "EXAMPLE_MASSLOSS 1.246064126953e+04 0.783299 1 5\n", + "EXAMPLE_MASSLOSS 1.246064682941e+04 0.783297 1 5\n", + "EXAMPLE_MASSLOSS 1.246065233369e+04 0.783295 1 5\n", + "EXAMPLE_MASSLOSS 1.246065778293e+04 0.783293 1 5\n", + "EXAMPLE_MASSLOSS 1.246066317767e+04 0.783291 1 5\n", + "EXAMPLE_MASSLOSS 1.246066851847e+04 0.783288 1 5\n", + "EXAMPLE_MASSLOSS 1.246067380586e+04 0.783286 1 5\n", + "EXAMPLE_MASSLOSS 1.246067904038e+04 0.783283 1 5\n", + "EXAMPLE_MASSLOSS 1.246068422255e+04 0.78328 1 5\n", + "EXAMPLE_MASSLOSS 1.246068935290e+04 0.783277 1 5\n", + "EXAMPLE_MASSLOSS 1.246069443194e+04 0.783274 1 5\n", + "EXAMPLE_MASSLOSS 1.246069946020e+04 0.78327 1 5\n", + "EXAMPLE_MASSLOSS 1.246070443817e+04 0.783266 1 5\n", + "EXAMPLE_MASSLOSS 1.246070936637e+04 0.783262 1 5\n", + "EXAMPLE_MASSLOSS 1.246071424528e+04 0.783257 1 5\n", + "EXAMPLE_MASSLOSS 1.246071907540e+04 0.783252 1 5\n", + "EXAMPLE_MASSLOSS 1.246072385722e+04 0.783247 1 5\n", + "EXAMPLE_MASSLOSS 1.246072859122e+04 0.783241 1 5\n", + "EXAMPLE_MASSLOSS 1.246073327789e+04 0.783235 1 5\n", + "EXAMPLE_MASSLOSS 1.246073791768e+04 0.783228 1 5\n", + "EXAMPLE_MASSLOSS 1.246074251108e+04 0.78322 1 5\n", + "EXAMPLE_MASSLOSS 1.246074705854e+04 0.783212 1 5\n", + "EXAMPLE_MASSLOSS 1.246075156053e+04 0.783203 1 5\n", + "EXAMPLE_MASSLOSS 1.246075601750e+04 0.783192 1 5\n", + "EXAMPLE_MASSLOSS 1.246076042990e+04 0.783181 1 5\n", + "EXAMPLE_MASSLOSS 1.246076479818e+04 0.783169 1 5\n", + "EXAMPLE_MASSLOSS 1.246076912277e+04 0.783156 1 5\n", + "EXAMPLE_MASSLOSS 1.246077340412e+04 0.783141 1 5\n", + "EXAMPLE_MASSLOSS 1.246077764265e+04 0.783124 1 5\n", + "EXAMPLE_MASSLOSS 1.246078183880e+04 0.783106 1 5\n", + "EXAMPLE_MASSLOSS 1.246078599299e+04 0.783085 1 5\n", + "EXAMPLE_MASSLOSS 1.246079010564e+04 0.783063 1 5\n", + "EXAMPLE_MASSLOSS 1.246079417715e+04 0.783037 1 5\n", + "EXAMPLE_MASSLOSS 1.246079820796e+04 0.783008 1 5\n", + "EXAMPLE_MASSLOSS 1.246080219845e+04 0.782976 1 5\n", + "EXAMPLE_MASSLOSS 1.246080614904e+04 0.78294 1 5\n", + "EXAMPLE_MASSLOSS 1.246081006013e+04 0.7829 1 5\n", + "EXAMPLE_MASSLOSS 1.246081393210e+04 0.782854 1 5\n", + "EXAMPLE_MASSLOSS 1.246081776536e+04 0.782802 1 5\n", + "EXAMPLE_MASSLOSS 1.246082156028e+04 0.782742 1 5\n", + "EXAMPLE_MASSLOSS 1.246082531725e+04 0.782675 1 5\n", + "EXAMPLE_MASSLOSS 1.246082903665e+04 0.782599 1 5\n", + "EXAMPLE_MASSLOSS 1.246083271886e+04 0.782511 1 5\n", + "EXAMPLE_MASSLOSS 1.246083636425e+04 0.78241 1 5\n", + "EXAMPLE_MASSLOSS 1.246083997318e+04 0.782295 1 5\n", + "EXAMPLE_MASSLOSS 1.246084354602e+04 0.782161 1 5\n", + "EXAMPLE_MASSLOSS 1.246084708314e+04 0.782007 1 5\n", + "EXAMPLE_MASSLOSS 1.246085058488e+04 0.781828 1 5\n", + "EXAMPLE_MASSLOSS 1.246085405161e+04 0.781621 1 5\n", + "EXAMPLE_MASSLOSS 1.246085748367e+04 0.781378 1 5\n", + "EXAMPLE_MASSLOSS 1.246086088141e+04 0.781094 1 5\n", + "EXAMPLE_MASSLOSS 1.246086424517e+04 0.78076 1 5\n", + "EXAMPLE_MASSLOSS 1.246086757529e+04 0.780366 1 5\n", + "EXAMPLE_MASSLOSS 1.246087087211e+04 0.7799 1 5\n", + "EXAMPLE_MASSLOSS 1.246087538888e+04 0.779169 1 5\n", + "EXAMPLE_MASSLOSS 1.246087933614e+04 0.778438 1 5\n", + "EXAMPLE_MASSLOSS 1.246088280266e+04 0.777714 1 5\n", + "EXAMPLE_MASSLOSS 1.246088588630e+04 0.776996 1 5\n", + "EXAMPLE_MASSLOSS 1.246088866017e+04 0.776283 1 5\n", + "EXAMPLE_MASSLOSS 1.246089117798e+04 0.775574 1 5\n", + "EXAMPLE_MASSLOSS 1.246089348031e+04 0.774868 1 5\n", + "EXAMPLE_MASSLOSS 1.246089546092e+04 0.77421 1 6\n", + "EXAMPLE_MASSLOSS 1.246089742155e+04 0.77421 1 6\n", + "EXAMPLE_MASSLOSS 1.246097934020e+04 0.774205 1 6\n", + "EXAMPLE_MASSLOSS 1.246106125886e+04 0.774199 1 6\n", + "EXAMPLE_MASSLOSS 1.246114925910e+04 0.774182 1 6\n", + "EXAMPLE_MASSLOSS 1.246123725935e+04 0.774147 1 6\n", + "EXAMPLE_MASSLOSS 1.246133794755e+04 0.774028 1 6\n", + "EXAMPLE_MASSLOSS 1.246144547245e+04 0.773584 1 6\n", + "EXAMPLE_MASSLOSS 1.246154993442e+04 0.771873 1 6\n", + "EXAMPLE_MASSLOSS 1.246157638455e+04 0.770001 1 6\n", + "EXAMPLE_MASSLOSS 1.246158267530e+04 0.769107 1 6\n", + "EXAMPLE_MASSLOSS 1.246158591537e+04 0.768602 1 6\n", + "EXAMPLE_MASSLOSS 1.246158889210e+04 0.768116 1 6\n", + "EXAMPLE_MASSLOSS 1.246159172638e+04 0.767631 1 6\n", + "EXAMPLE_MASSLOSS 1.246159443288e+04 0.767148 1 6\n", + "EXAMPLE_MASSLOSS 1.246159702119e+04 0.766665 1 6\n", + "EXAMPLE_MASSLOSS 1.246159949977e+04 0.766184 1 6\n", + "EXAMPLE_MASSLOSS 1.246160187620e+04 0.765704 1 6\n", + "EXAMPLE_MASSLOSS 1.246160415730e+04 0.765225 1 6\n", + "EXAMPLE_MASSLOSS 1.246160634925e+04 0.764746 1 6\n", + "EXAMPLE_MASSLOSS 1.246160845764e+04 0.764269 1 6\n", + "EXAMPLE_MASSLOSS 1.246161048756e+04 0.763793 1 6\n", + "EXAMPLE_MASSLOSS 1.246161244367e+04 0.763318 1 6\n", + "EXAMPLE_MASSLOSS 1.246161433022e+04 0.762844 1 6\n", + "EXAMPLE_MASSLOSS 1.246161615110e+04 0.76237 1 6\n", + "EXAMPLE_MASSLOSS 1.246161790991e+04 0.761898 1 6\n", + "EXAMPLE_MASSLOSS 1.246161960996e+04 0.761426 1 6\n", + "EXAMPLE_MASSLOSS 1.246162125430e+04 0.760956 1 6\n", + "EXAMPLE_MASSLOSS 1.246162284575e+04 0.760486 1 6\n", + "EXAMPLE_MASSLOSS 1.246162438695e+04 0.760017 1 6\n", + "EXAMPLE_MASSLOSS 1.246162588033e+04 0.759549 1 6\n", + "EXAMPLE_MASSLOSS 1.246162732816e+04 0.759082 1 6\n", + "EXAMPLE_MASSLOSS 1.246162873255e+04 0.758615 1 6\n", + "EXAMPLE_MASSLOSS 1.246163009549e+04 0.75815 1 6\n", + "EXAMPLE_MASSLOSS 1.246163141881e+04 0.757685 1 6\n", + "EXAMPLE_MASSLOSS 1.246163270426e+04 0.757221 1 6\n", + "EXAMPLE_MASSLOSS 1.246163395345e+04 0.756758 1 6\n", + "EXAMPLE_MASSLOSS 1.246163516791e+04 0.756296 1 6\n", + "EXAMPLE_MASSLOSS 1.246163634907e+04 0.755835 1 6\n", + "EXAMPLE_MASSLOSS 1.246163749829e+04 0.755374 1 6\n", + "EXAMPLE_MASSLOSS 1.246163861684e+04 0.754914 1 6\n", + "EXAMPLE_MASSLOSS 1.246163970592e+04 0.754455 1 6\n", + "EXAMPLE_MASSLOSS 1.246164076666e+04 0.753797 1 6\n", + "EXAMPLE_MASSLOSS 1.246164149202e+04 0.753334 1 6\n", + "EXAMPLE_MASSLOSS 1.246164219764e+04 0.752874 1 6\n", + "EXAMPLE_MASSLOSS 1.246164288778e+04 0.752414 1 6\n", + "EXAMPLE_MASSLOSS 1.246164356295e+04 0.751956 1 6\n", + "EXAMPLE_MASSLOSS 1.246164422357e+04 0.751498 1 6\n", + "EXAMPLE_MASSLOSS 1.246164487008e+04 0.751041 1 6\n", + "EXAMPLE_MASSLOSS 1.246164550288e+04 0.750585 1 6\n", + "EXAMPLE_MASSLOSS 1.246164612236e+04 0.750129 1 6\n", + "EXAMPLE_MASSLOSS 1.246164672890e+04 0.749674 1 6\n", + "EXAMPLE_MASSLOSS 1.246164732285e+04 0.74922 1 6\n", + "EXAMPLE_MASSLOSS 1.246164790456e+04 0.748767 1 6\n", + "EXAMPLE_MASSLOSS 1.246164847437e+04 0.748314 1 6\n", + "EXAMPLE_MASSLOSS 1.246164903259e+04 0.747863 1 6\n", + "EXAMPLE_MASSLOSS 1.246164957954e+04 0.747412 1 6\n", + "EXAMPLE_MASSLOSS 1.246165011552e+04 0.746961 1 6\n", + "EXAMPLE_MASSLOSS 1.246165064081e+04 0.746512 1 6\n", + "EXAMPLE_MASSLOSS 1.246165115569e+04 0.746063 1 6\n", + "EXAMPLE_MASSLOSS 1.246165166044e+04 0.745615 1 6\n", + "EXAMPLE_MASSLOSS 1.246165215530e+04 0.745168 1 6\n", + "EXAMPLE_MASSLOSS 1.246165264053e+04 0.744722 1 6\n", + "EXAMPLE_MASSLOSS 1.246165311637e+04 0.744276 1 6\n", + "EXAMPLE_MASSLOSS 1.246165358305e+04 0.743831 1 6\n", + "EXAMPLE_MASSLOSS 1.246165404081e+04 0.743387 1 6\n", + "EXAMPLE_MASSLOSS 1.246165448985e+04 0.742943 1 6\n", + "EXAMPLE_MASSLOSS 1.246165493040e+04 0.742501 1 6\n", + "EXAMPLE_MASSLOSS 1.246165536265e+04 0.742059 1 6\n", + "EXAMPLE_MASSLOSS 1.246165578680e+04 0.741617 1 6\n", + "EXAMPLE_MASSLOSS 1.246165620305e+04 0.741177 1 6\n", + "EXAMPLE_MASSLOSS 1.246165661159e+04 0.740737 1 6\n", + "EXAMPLE_MASSLOSS 1.246165701258e+04 0.740298 1 6\n", + "EXAMPLE_MASSLOSS 1.246165740621e+04 0.73986 1 6\n", + "EXAMPLE_MASSLOSS 1.246165779265e+04 0.739422 1 6\n", + "EXAMPLE_MASSLOSS 1.246165817206e+04 0.738985 1 6\n", + "EXAMPLE_MASSLOSS 1.246165854460e+04 0.738549 1 6\n", + "EXAMPLE_MASSLOSS 1.246165891042e+04 0.738114 1 6\n", + "EXAMPLE_MASSLOSS 1.246165926969e+04 0.737679 1 6\n", + "EXAMPLE_MASSLOSS 1.246165962253e+04 0.737246 1 6\n", + "EXAMPLE_MASSLOSS 1.246165996909e+04 0.736812 1 6\n", + "EXAMPLE_MASSLOSS 1.246166030952e+04 0.73638 1 6\n", + "EXAMPLE_MASSLOSS 1.246166064394e+04 0.735948 1 6\n", + "EXAMPLE_MASSLOSS 1.246166097249e+04 0.735517 1 6\n", + "EXAMPLE_MASSLOSS 1.246166129528e+04 0.735087 1 6\n", + "EXAMPLE_MASSLOSS 1.246166161246e+04 0.734658 1 6\n", + "EXAMPLE_MASSLOSS 1.246166192412e+04 0.734229 1 6\n", + "EXAMPLE_MASSLOSS 1.246166223040e+04 0.733801 1 6\n", + "EXAMPLE_MASSLOSS 1.246166253140e+04 0.733374 1 6\n", + "EXAMPLE_MASSLOSS 1.246166282724e+04 0.732947 1 6\n", + "EXAMPLE_MASSLOSS 1.246166311801e+04 0.732521 1 6\n", + "EXAMPLE_MASSLOSS 1.246166340383e+04 0.732096 1 6\n", + "EXAMPLE_MASSLOSS 1.246166368480e+04 0.731672 1 6\n", + "EXAMPLE_MASSLOSS 1.246166396102e+04 0.731248 1 6\n", + "EXAMPLE_MASSLOSS 1.246166423258e+04 0.730825 1 6\n", + "EXAMPLE_MASSLOSS 1.246166449958e+04 0.730403 1 6\n", + "EXAMPLE_MASSLOSS 1.246166476210e+04 0.729981 1 6\n", + "EXAMPLE_MASSLOSS 1.246166502025e+04 0.729561 1 6\n", + "EXAMPLE_MASSLOSS 1.246166527410e+04 0.72914 1 6\n", + "EXAMPLE_MASSLOSS 1.246166552374e+04 0.728721 1 6\n", + "EXAMPLE_MASSLOSS 1.246166576925e+04 0.728302 1 6\n", + "EXAMPLE_MASSLOSS 1.246166601072e+04 0.727884 1 6\n", + "EXAMPLE_MASSLOSS 1.246166624822e+04 0.727467 1 6\n", + "EXAMPLE_MASSLOSS 1.246166648184e+04 0.727051 1 6\n", + "EXAMPLE_MASSLOSS 1.246166671163e+04 0.726635 1 6\n", + "EXAMPLE_MASSLOSS 1.246166693769e+04 0.72622 1 6\n", + "EXAMPLE_MASSLOSS 1.246166716008e+04 0.725805 1 6\n", + "EXAMPLE_MASSLOSS 1.246166737886e+04 0.725392 1 6\n", + "EXAMPLE_MASSLOSS 1.246166759412e+04 0.724979 1 6\n", + "EXAMPLE_MASSLOSS 1.246166780591e+04 0.724566 1 6\n", + "EXAMPLE_MASSLOSS 1.246166801430e+04 0.724155 1 6\n", + "EXAMPLE_MASSLOSS 1.246166821936e+04 0.723744 1 6\n", + "EXAMPLE_MASSLOSS 1.246166842114e+04 0.723334 1 6\n", + "EXAMPLE_MASSLOSS 1.246166861971e+04 0.722925 1 6\n", + "EXAMPLE_MASSLOSS 1.246166881512e+04 0.722516 1 6\n", + "EXAMPLE_MASSLOSS 1.246166900744e+04 0.722108 1 6\n", + "EXAMPLE_MASSLOSS 1.246166919672e+04 0.7217 1 6\n", + "EXAMPLE_MASSLOSS 1.246166938302e+04 0.721294 1 6\n", + "EXAMPLE_MASSLOSS 1.246166956638e+04 0.720888 1 6\n", + "EXAMPLE_MASSLOSS 1.246166974688e+04 0.720483 1 6\n", + "EXAMPLE_MASSLOSS 1.246166992454e+04 0.720078 1 6\n", + "EXAMPLE_MASSLOSS 1.246167009944e+04 0.719674 1 6\n", + "EXAMPLE_MASSLOSS 1.246167027161e+04 0.719271 1 6\n", + "EXAMPLE_MASSLOSS 1.246167044111e+04 0.718869 1 6\n", + "EXAMPLE_MASSLOSS 1.246167060797e+04 0.718467 1 6\n", + "EXAMPLE_MASSLOSS 1.246167077226e+04 0.718066 1 6\n", + "EXAMPLE_MASSLOSS 1.246167093402e+04 0.717666 1 6\n", + "EXAMPLE_MASSLOSS 1.246167109328e+04 0.717266 1 6\n", + "EXAMPLE_MASSLOSS 1.246167125009e+04 0.716867 1 6\n", + "EXAMPLE_MASSLOSS 1.246167140450e+04 0.716469 1 6\n", + "EXAMPLE_MASSLOSS 1.246167155655e+04 0.716071 1 6\n", + "EXAMPLE_MASSLOSS 1.246167170628e+04 0.715674 1 6\n", + "EXAMPLE_MASSLOSS 1.246167185373e+04 0.715278 1 6\n", + "EXAMPLE_MASSLOSS 1.246167199893e+04 0.714883 1 6\n", + "EXAMPLE_MASSLOSS 1.246167214193e+04 0.714488 1 6\n", + "EXAMPLE_MASSLOSS 1.246167228277e+04 0.714094 1 6\n", + "EXAMPLE_MASSLOSS 1.246167242148e+04 0.7137 1 6\n", + "EXAMPLE_MASSLOSS 1.246167255809e+04 0.713307 1 6\n", + "EXAMPLE_MASSLOSS 1.246167269265e+04 0.712915 1 6\n", + "EXAMPLE_MASSLOSS 1.246167282519e+04 0.712524 1 6\n", + "EXAMPLE_MASSLOSS 1.246167295574e+04 0.712133 1 6\n", + "EXAMPLE_MASSLOSS 1.246167308433e+04 0.711743 1 6\n", + "EXAMPLE_MASSLOSS 1.246167321100e+04 0.711354 1 6\n", + "EXAMPLE_MASSLOSS 1.246167333579e+04 0.710965 1 6\n", + "EXAMPLE_MASSLOSS 1.246167345872e+04 0.710577 1 6\n", + "EXAMPLE_MASSLOSS 1.246167357982e+04 0.71019 1 6\n", + "EXAMPLE_MASSLOSS 1.246167369912e+04 0.709803 1 6\n", + "EXAMPLE_MASSLOSS 1.246167381666e+04 0.709417 1 6\n", + "EXAMPLE_MASSLOSS 1.246167393245e+04 0.709032 1 6\n", + "EXAMPLE_MASSLOSS 1.246167404654e+04 0.708647 1 6\n", + "EXAMPLE_MASSLOSS 1.246167415895e+04 0.708264 1 6\n", + "EXAMPLE_MASSLOSS 1.246167426971e+04 0.70788 1 6\n", + "EXAMPLE_MASSLOSS 1.246167437884e+04 0.707498 1 6\n", + "EXAMPLE_MASSLOSS 1.246167448637e+04 0.707116 1 6\n", + "EXAMPLE_MASSLOSS 1.246167459232e+04 0.706735 1 6\n", + "EXAMPLE_MASSLOSS 1.246167469673e+04 0.706354 1 6\n", + "EXAMPLE_MASSLOSS 1.246167479961e+04 0.705974 1 6\n", + "EXAMPLE_MASSLOSS 1.246167490100e+04 0.705595 1 6\n", + "EXAMPLE_MASSLOSS 1.246167500091e+04 0.705216 1 6\n", + "EXAMPLE_MASSLOSS 1.246167509937e+04 0.704839 1 6\n", + "EXAMPLE_MASSLOSS 1.246167519640e+04 0.704461 1 6\n", + "EXAMPLE_MASSLOSS 1.246167529203e+04 0.704085 1 6\n", + "EXAMPLE_MASSLOSS 1.246167538627e+04 0.703709 1 6\n", + "EXAMPLE_MASSLOSS 1.246167547916e+04 0.703334 1 6\n", + "EXAMPLE_MASSLOSS 1.246167557070e+04 0.702959 1 6\n", + "EXAMPLE_MASSLOSS 1.246167566093e+04 0.702585 1 6\n", + "EXAMPLE_MASSLOSS 1.246167574986e+04 0.702212 1 6\n", + "EXAMPLE_MASSLOSS 1.246167583752e+04 0.70184 1 6\n", + "EXAMPLE_MASSLOSS 1.246167592391e+04 0.701468 1 6\n", + "EXAMPLE_MASSLOSS 1.246167600908e+04 0.701096 1 6\n", + "EXAMPLE_MASSLOSS 1.246167609302e+04 0.700726 1 6\n", + "EXAMPLE_MASSLOSS 1.246167617577e+04 0.700356 1 6\n", + "EXAMPLE_MASSLOSS 1.246167625733e+04 0.699987 1 6\n", + "EXAMPLE_MASSLOSS 1.246167633774e+04 0.699618 1 6\n", + "EXAMPLE_MASSLOSS 1.246167641700e+04 0.69925 1 6\n", + "EXAMPLE_MASSLOSS 1.246167649514e+04 0.698883 1 6\n", + "EXAMPLE_MASSLOSS 1.246167657217e+04 0.698516 1 6\n", + "EXAMPLE_MASSLOSS 1.246167664811e+04 0.69815 1 6\n", + "EXAMPLE_MASSLOSS 1.246167672297e+04 0.697785 1 6\n", + "EXAMPLE_MASSLOSS 1.246167679678e+04 0.69742 1 6\n", + "EXAMPLE_MASSLOSS 1.246167686955e+04 0.697056 1 6\n", + "EXAMPLE_MASSLOSS 1.246167694129e+04 0.696693 1 6\n", + "EXAMPLE_MASSLOSS 1.246167701202e+04 0.69633 1 6\n", + "EXAMPLE_MASSLOSS 1.246167708176e+04 0.695968 1 6\n", + "EXAMPLE_MASSLOSS 1.246167715052e+04 0.695607 1 6\n", + "EXAMPLE_MASSLOSS 1.246167721832e+04 0.695246 1 6\n", + "EXAMPLE_MASSLOSS 1.246167728516e+04 0.694886 1 6\n", + "EXAMPLE_MASSLOSS 1.246167735107e+04 0.694527 1 6\n", + "EXAMPLE_MASSLOSS 1.246167741606e+04 0.694168 1 6\n", + "EXAMPLE_MASSLOSS 1.246167748015e+04 0.69381 1 6\n", + "EXAMPLE_MASSLOSS 1.246167754334e+04 0.693452 1 6\n", + "EXAMPLE_MASSLOSS 1.246167760565e+04 0.693095 1 6\n", + "EXAMPLE_MASSLOSS 1.246167766710e+04 0.692739 1 6\n", + "EXAMPLE_MASSLOSS 1.246167772769e+04 0.692383 1 6\n", + "EXAMPLE_MASSLOSS 1.246167778744e+04 0.692029 1 6\n", + "EXAMPLE_MASSLOSS 1.246167784636e+04 0.691674 1 6\n", + "EXAMPLE_MASSLOSS 1.246167790447e+04 0.691321 1 6\n", + "EXAMPLE_MASSLOSS 1.246167796178e+04 0.690968 1 6\n", + "EXAMPLE_MASSLOSS 1.246167801829e+04 0.690615 1 6\n", + "EXAMPLE_MASSLOSS 1.246167807402e+04 0.690263 1 6\n", + "EXAMPLE_MASSLOSS 1.246167812899e+04 0.689912 1 6\n", + "EXAMPLE_MASSLOSS 1.246167818320e+04 0.689562 1 6\n", + "EXAMPLE_MASSLOSS 1.246167823666e+04 0.689212 1 6\n", + "EXAMPLE_MASSLOSS 1.246167828939e+04 0.688863 1 6\n", + "EXAMPLE_MASSLOSS 1.246167834140e+04 0.688514 1 6\n", + "EXAMPLE_MASSLOSS 1.246167839269e+04 0.688166 1 6\n", + "EXAMPLE_MASSLOSS 1.246167844328e+04 0.687819 1 6\n", + "EXAMPLE_MASSLOSS 1.246167849318e+04 0.687472 1 6\n", + "EXAMPLE_MASSLOSS 1.246167854240e+04 0.687126 1 6\n", + "EXAMPLE_MASSLOSS 1.246167859094e+04 0.686924 1 6\n", + "EXAMPLE_MASSLOSS 1.246167867318e+04 0.686582 1 6\n", + "EXAMPLE_MASSLOSS 1.246167875498e+04 0.686242 1 6\n", + "EXAMPLE_MASSLOSS 1.246167883664e+04 0.685902 1 6\n", + "EXAMPLE_MASSLOSS 1.246167891815e+04 0.685563 1 6\n", + "EXAMPLE_MASSLOSS 1.246167899951e+04 0.685224 1 6\n", + "EXAMPLE_MASSLOSS 1.246167908072e+04 0.684886 1 6\n", + "EXAMPLE_MASSLOSS 1.246167916178e+04 0.684549 1 6\n", + "EXAMPLE_MASSLOSS 1.246167924269e+04 0.684212 1 6\n", + "EXAMPLE_MASSLOSS 1.246167932345e+04 0.683876 1 6\n", + "EXAMPLE_MASSLOSS 1.246167940406e+04 0.68354 1 6\n", + "EXAMPLE_MASSLOSS 1.246167948452e+04 0.683206 1 6\n", + "EXAMPLE_MASSLOSS 1.246167956484e+04 0.682871 1 6\n", + "EXAMPLE_MASSLOSS 1.246167964500e+04 0.682537 1 6\n", + "EXAMPLE_MASSLOSS 1.246167972502e+04 0.682204 1 6\n", + "EXAMPLE_MASSLOSS 1.246167980489e+04 0.681872 1 6\n", + "EXAMPLE_MASSLOSS 1.246167988461e+04 0.68154 1 6\n", + "EXAMPLE_MASSLOSS 1.246167996418e+04 0.681208 1 6\n", + "EXAMPLE_MASSLOSS 1.246168004361e+04 0.680878 1 6\n", + "EXAMPLE_MASSLOSS 1.246168012289e+04 0.680547 1 6\n", + "EXAMPLE_MASSLOSS 1.246168020202e+04 0.680218 1 6\n", + "EXAMPLE_MASSLOSS 1.246168028100e+04 0.679889 1 6\n", + "EXAMPLE_MASSLOSS 1.246168035984e+04 0.67956 1 6\n", + "EXAMPLE_MASSLOSS 1.246168043853e+04 0.679233 1 6\n", + "EXAMPLE_MASSLOSS 1.246168051708e+04 0.678906 1 6\n", + "EXAMPLE_MASSLOSS 1.246168059548e+04 0.678579 1 6\n", + "EXAMPLE_MASSLOSS 1.246168067373e+04 0.678253 1 6\n", + "EXAMPLE_MASSLOSS 1.246168075184e+04 0.677927 1 6\n", + "EXAMPLE_MASSLOSS 1.246168082980e+04 0.677603 1 6\n", + "EXAMPLE_MASSLOSS 1.246168090761e+04 0.677278 1 6\n", + "EXAMPLE_MASSLOSS 1.246168098529e+04 0.676955 1 6\n", + "EXAMPLE_MASSLOSS 1.246168106281e+04 0.676632 1 6\n", + "EXAMPLE_MASSLOSS 1.246168114019e+04 0.676309 1 6\n", + "EXAMPLE_MASSLOSS 1.246168121743e+04 0.675987 1 6\n", + "EXAMPLE_MASSLOSS 1.246168129452e+04 0.675666 1 6\n", + "EXAMPLE_MASSLOSS 1.246168137146e+04 0.675345 1 6\n", + "EXAMPLE_MASSLOSS 1.246168144827e+04 0.675025 1 6\n", + "EXAMPLE_MASSLOSS 1.246168152493e+04 0.674705 1 6\n", + "EXAMPLE_MASSLOSS 1.246168160144e+04 0.674387 1 6\n", + "EXAMPLE_MASSLOSS 1.246168167781e+04 0.674068 1 6\n", + "EXAMPLE_MASSLOSS 1.246168175404e+04 0.67375 1 6\n", + "EXAMPLE_MASSLOSS 1.246168183012e+04 0.673433 1 6\n", + "EXAMPLE_MASSLOSS 1.246168190606e+04 0.673116 1 6\n", + "EXAMPLE_MASSLOSS 1.246168198186e+04 0.6728 1 6\n", + "EXAMPLE_MASSLOSS 1.246168205752e+04 0.672485 1 6\n", + "EXAMPLE_MASSLOSS 1.246168213303e+04 0.67217 1 6\n", + "EXAMPLE_MASSLOSS 1.246168220840e+04 0.671856 1 6\n", + "EXAMPLE_MASSLOSS 1.246168228363e+04 0.671542 1 6\n", + "EXAMPLE_MASSLOSS 1.246168235872e+04 0.671229 1 6\n", + "EXAMPLE_MASSLOSS 1.246168243366e+04 0.670916 1 6\n", + "EXAMPLE_MASSLOSS 1.246168250846e+04 0.670604 1 6\n", + "EXAMPLE_MASSLOSS 1.246168258313e+04 0.670293 1 6\n", + "EXAMPLE_MASSLOSS 1.246168265765e+04 0.669982 1 6\n", + "EXAMPLE_MASSLOSS 1.246168273202e+04 0.669671 1 6\n", + "EXAMPLE_MASSLOSS 1.246168280619e+04 0.669362 1 6\n", + "EXAMPLE_MASSLOSS 1.246168288017e+04 0.669053 1 6\n", + "EXAMPLE_MASSLOSS 1.246168295394e+04 0.668745 1 6\n", + "EXAMPLE_MASSLOSS 1.246168302752e+04 0.668438 1 6\n", + "EXAMPLE_MASSLOSS 1.246168310090e+04 0.668132 1 6\n", + "EXAMPLE_MASSLOSS 1.246168317409e+04 0.667827 1 6\n", + "EXAMPLE_MASSLOSS 1.246168324708e+04 0.667522 1 6\n", + "EXAMPLE_MASSLOSS 1.246168331987e+04 0.667218 1 6\n", + "EXAMPLE_MASSLOSS 1.246168339247e+04 0.666915 1 6\n", + "EXAMPLE_MASSLOSS 1.246168346488e+04 0.666613 1 6\n", + "EXAMPLE_MASSLOSS 1.246168353709e+04 0.666312 1 6\n", + "EXAMPLE_MASSLOSS 1.246168360911e+04 0.666011 1 6\n", + "EXAMPLE_MASSLOSS 1.246168368093e+04 0.665711 1 6\n", + "EXAMPLE_MASSLOSS 1.246168375256e+04 0.665412 1 6\n", + "EXAMPLE_MASSLOSS 1.246168382401e+04 0.665114 1 6\n", + "EXAMPLE_MASSLOSS 1.246168389526e+04 0.664816 1 6\n", + "EXAMPLE_MASSLOSS 1.246168396631e+04 0.66452 1 6\n", + "EXAMPLE_MASSLOSS 1.246168403718e+04 0.664224 1 6\n", + "EXAMPLE_MASSLOSS 1.246168410786e+04 0.663928 1 6\n", + "EXAMPLE_MASSLOSS 1.246168417835e+04 0.663634 1 6\n", + "EXAMPLE_MASSLOSS 1.246168424866e+04 0.66334 1 6\n", + "EXAMPLE_MASSLOSS 1.246168431877e+04 0.663048 1 6\n", + "EXAMPLE_MASSLOSS 1.246168438869e+04 0.662756 1 6\n", + "EXAMPLE_MASSLOSS 1.246168445843e+04 0.662464 1 6\n", + "EXAMPLE_MASSLOSS 1.246168452799e+04 0.662174 1 6\n", + "EXAMPLE_MASSLOSS 1.246168459735e+04 0.661884 1 6\n", + "EXAMPLE_MASSLOSS 1.246168466653e+04 0.661595 1 6\n", + "EXAMPLE_MASSLOSS 1.246168473553e+04 0.661307 1 6\n", + "EXAMPLE_MASSLOSS 1.246168480434e+04 0.661019 1 6\n", + "EXAMPLE_MASSLOSS 1.246168487297e+04 0.660733 1 6\n", + "EXAMPLE_MASSLOSS 1.246168494141e+04 0.660447 1 6\n", + "EXAMPLE_MASSLOSS 1.246168500967e+04 0.660161 1 6\n", + "EXAMPLE_MASSLOSS 1.246168507775e+04 0.659877 1 6\n", + "EXAMPLE_MASSLOSS 1.246168514564e+04 0.659593 1 6\n", + "EXAMPLE_MASSLOSS 1.246168521336e+04 0.65931 1 6\n", + "EXAMPLE_MASSLOSS 1.246168528089e+04 0.659028 1 6\n", + "EXAMPLE_MASSLOSS 1.246168534824e+04 0.658746 1 6\n", + "EXAMPLE_MASSLOSS 1.246168541542e+04 0.658466 1 6\n", + "EXAMPLE_MASSLOSS 1.246168548241e+04 0.658186 1 6\n", + "EXAMPLE_MASSLOSS 1.246168554922e+04 0.657906 1 6\n", + "EXAMPLE_MASSLOSS 1.246168561586e+04 0.657628 1 6\n", + "EXAMPLE_MASSLOSS 1.246168568232e+04 0.65735 1 6\n", + "EXAMPLE_MASSLOSS 1.246168574860e+04 0.657073 1 6\n", + "EXAMPLE_MASSLOSS 1.246168581470e+04 0.656796 1 6\n", + "EXAMPLE_MASSLOSS 1.246168588063e+04 0.656521 1 6\n", + "EXAMPLE_MASSLOSS 1.246168594637e+04 0.656246 1 6\n", + "EXAMPLE_MASSLOSS 1.246168601195e+04 0.655972 1 6\n", + "EXAMPLE_MASSLOSS 1.246168607735e+04 0.655698 1 6\n", + "EXAMPLE_MASSLOSS 1.246168614257e+04 0.655426 1 6\n", + "EXAMPLE_MASSLOSS 1.246168620762e+04 0.655153 1 6\n", + "EXAMPLE_MASSLOSS 1.246168627250e+04 0.654882 1 6\n", + "EXAMPLE_MASSLOSS 1.246168633720e+04 0.654612 1 6\n", + "EXAMPLE_MASSLOSS 1.246168640173e+04 0.654342 1 6\n", + "EXAMPLE_MASSLOSS 1.246168646609e+04 0.654072 1 6\n", + "EXAMPLE_MASSLOSS 1.246168653028e+04 0.653804 1 6\n", + "EXAMPLE_MASSLOSS 1.246168659429e+04 0.653536 1 6\n", + "EXAMPLE_MASSLOSS 1.246168665813e+04 0.653269 1 6\n", + "EXAMPLE_MASSLOSS 1.246168672181e+04 0.653003 1 6\n", + "EXAMPLE_MASSLOSS 1.246168678531e+04 0.652737 1 6\n", + "EXAMPLE_MASSLOSS 1.246168684864e+04 0.652472 1 6\n", + "EXAMPLE_MASSLOSS 1.246168691181e+04 0.652208 1 6\n", + "EXAMPLE_MASSLOSS 1.246168697481e+04 0.651944 1 6\n", + "EXAMPLE_MASSLOSS 1.246168703763e+04 0.651681 1 6\n", + "EXAMPLE_MASSLOSS 1.246168710029e+04 0.651419 1 6\n", + "EXAMPLE_MASSLOSS 1.246168716279e+04 0.651158 1 6\n", + "EXAMPLE_MASSLOSS 1.246168722511e+04 0.650897 1 6\n", + "EXAMPLE_MASSLOSS 1.246168728727e+04 0.650637 1 6\n", + "EXAMPLE_MASSLOSS 1.246168734927e+04 0.650377 1 6\n", + "EXAMPLE_MASSLOSS 1.246168741110e+04 0.650118 1 6\n", + "EXAMPLE_MASSLOSS 1.246168747276e+04 0.64986 1 6\n", + "EXAMPLE_MASSLOSS 1.246168753426e+04 0.649603 1 6\n", + "EXAMPLE_MASSLOSS 1.246168759560e+04 0.649346 1 6\n", + "EXAMPLE_MASSLOSS 1.246168765677e+04 0.64909 1 6\n", + "EXAMPLE_MASSLOSS 1.246168771778e+04 0.648835 1 6\n", + "EXAMPLE_MASSLOSS 1.246168777862e+04 0.64858 1 6\n", + "EXAMPLE_MASSLOSS 1.246168783931e+04 0.648326 1 6\n", + "EXAMPLE_MASSLOSS 1.246168789983e+04 0.648073 1 6\n", + "EXAMPLE_MASSLOSS 1.246168796019e+04 0.64782 1 6\n", + "EXAMPLE_MASSLOSS 1.246168802039e+04 0.647568 1 6\n", + "EXAMPLE_MASSLOSS 1.246168808043e+04 0.647316 1 6\n", + "EXAMPLE_MASSLOSS 1.246168814031e+04 0.647066 1 6\n", + "EXAMPLE_MASSLOSS 1.246168820003e+04 0.646816 1 6\n", + "EXAMPLE_MASSLOSS 1.246168825959e+04 0.646566 1 6\n", + "EXAMPLE_MASSLOSS 1.246168831900e+04 0.646317 1 6\n", + "EXAMPLE_MASSLOSS 1.246168837824e+04 0.646069 1 6\n", + "EXAMPLE_MASSLOSS 1.246168843733e+04 0.645822 1 6\n", + "EXAMPLE_MASSLOSS 1.246168849626e+04 0.645575 1 6\n", + "EXAMPLE_MASSLOSS 1.246168855503e+04 0.645329 1 6\n", + "EXAMPLE_MASSLOSS 1.246168861364e+04 0.645083 1 6\n", + "EXAMPLE_MASSLOSS 1.246168867210e+04 0.644838 1 6\n", + "EXAMPLE_MASSLOSS 1.246168873041e+04 0.644594 1 6\n", + "EXAMPLE_MASSLOSS 1.246168878856e+04 0.644351 1 6\n", + "EXAMPLE_MASSLOSS 1.246168884655e+04 0.644108 1 6\n", + "EXAMPLE_MASSLOSS 1.246168890439e+04 0.643865 1 6\n", + "EXAMPLE_MASSLOSS 1.246168896208e+04 0.643624 1 6\n", + "EXAMPLE_MASSLOSS 1.246168901961e+04 0.643383 1 6\n", + "EXAMPLE_MASSLOSS 1.246168907699e+04 0.643142 1 6\n", + "EXAMPLE_MASSLOSS 1.246168913422e+04 0.642902 1 6\n", + "EXAMPLE_MASSLOSS 1.246168919129e+04 0.642663 1 6\n", + "EXAMPLE_MASSLOSS 1.246168924821e+04 0.642425 1 6\n", + "EXAMPLE_MASSLOSS 1.246168930498e+04 0.642187 1 6\n", + "EXAMPLE_MASSLOSS 1.246168936161e+04 0.641949 1 6\n", + "EXAMPLE_MASSLOSS 1.246182037884e+04 0.577754 1 6\n", + "SINGLE_STAR_LIFETIME 1 12462\n", + "EXAMPLE_MASSLOSS 1.246195139608e+04 0.522806 1 11\n", + "EXAMPLE_MASSLOSS 1.346195139608e+04 0.522806 1 11\n", + "EXAMPLE_MASSLOSS 1.446195139608e+04 0.522806 1 11\n", + "EXAMPLE_MASSLOSS 1.500000000000e+04 0.522806 1 11\n", + "\n" + ] + } + ], + "source": [ + "from binarycpython.utils.custom_logging_functions import binary_c_log_code\n", + "\n", + "# Create the print statement\n", + "custom_logging_print_statement = \"\"\"\n", + "Printf(\"EXAMPLE_MASSLOSS %30.12e %g %g %d\\\\n\",\n", + " // \n", + " stardata->model.time, // 1\n", + " stardata->star[0].mass, //2\n", + " stardata->common.zero_age.mass[0], //4\n", + "\n", + " stardata->star[0].stellar_type //5\n", + ");\n", + "\"\"\"\n", + "\n", + "# Generate entire shared lib code around logging lines\n", + "custom_logging_code = binary_c_log_code(custom_logging_print_statement)\n", + "\n", + "output = run_system(M_1=1, custom_logging_code=custom_logging_code)\n", + "print(output)" + ] + }, + { + "cell_type": "markdown", + "id": "4c885143-db79-4fed-b4c4-0bd846e24f7d", + "metadata": {}, + "source": [ + "Now we have some actual output, it is time to create a parse_function which parses the output. Adding a parse_function to the run_system will make run_system run the output of binary_c through the parse_function." + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "id": "3822721f-217a-495b-962e-d57137b9e290", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[['time', 'mass', 'initial_mass', 'stellar_type'], [0.0, 1.0, 1.0, 1.0], [0.0, 1.0, 1.0, 1.0]]\n" + ] + } + ], + "source": [ + "def parse_function(output):\n", + " \"\"\"\n", + " Example function to parse the output of binary_c\n", + " \"\"\"\n", + "\n", + " # \n", + " column_names = ['time', 'mass', 'initial_mass', 'stellar_type']\n", + " value_lines = [column_names]\n", + " \n", + " # Loop over output\n", + " for line in output.splitlines():\n", + " \n", + " # Select the lines starting with the header we chose\n", + " if line.startswith(\"EXAMPLE_MASSLOSS\"):\n", + " \n", + " # Split the output and fetch the data\n", + " split_line = line.split()\n", + " values = [float(el) for el in split_line[1:]]\n", + " value_lines.append(values)\n", + "\n", + " return value_lines\n", + "\n", + "# Catch output\n", + "output = run_system(M_1=1, custom_logging_code=custom_logging_code, parse_function=parse_function)\n", + "print(output[:3])" + ] + }, + { + "cell_type": "markdown", + "id": "a551f07f-2eff-4425-9375-267579a581b3", + "metadata": {}, + "source": [ + "This output can now be turned into e.g. an Numpy array or Pandas dataframe (my favorite: makes querying the data very easy)" + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "id": "654a07ed-2a88-46ff-9da0-b7759580f9f3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 time mass initial_mass stellar_type\n", + "1 0 1 1 1\n", + "2 0 1 1 1\n", + "3 1e-06 1 1 1\n", + "4 2e-06 1 1 1\n", + "5 3e-06 1 1 1\n", + "... ... ... ... ...\n", + "1612 12461.8 0.577754 1 6\n", + "1613 12462 0.522806 1 11\n", + "1614 13462 0.522806 1 11\n", + "1615 14462 0.522806 1 11\n", + "1616 15000 0.522806 1 11\n", + "\n", + "[1616 rows x 4 columns]\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "# Load data into dataframe\n", + "example_df = pd.DataFrame(output)\n", + "\n", + "# Fix column headers\n", + "example_df.columns = example_df.iloc[0]\n", + "example_df = example_df.drop(example_df.index[0])\n", + "\n", + "print(example_df)" + ] + }, + { + "cell_type": "markdown", + "id": "325c2ce6-f9a1-46b7-937f-84040e1252cf", + "metadata": { + "tags": [] + }, + "source": [ + "## Single system via population object\n", + "When setting up your population object (see notebook_population), and configuring all the parameters, it is possible to run a single system using that same configuration. It will use the parse_function if set, and running a single system is a good method to test if everything works accordingly." + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "4a98ffca-1b72-4bb8-8df1-3bf3187d882f", + "metadata": {}, + "outputs": [], + "source": [ + "from binarycpython.utils.grid import Population\n", + "# help(Population) # Uncomment to see the docstring" + ] + }, + { + "cell_type": "markdown", + "id": "7e2c2ef0-3db2-46a6-8c85-9b6cf720eb6a", + "metadata": {}, + "source": [ + "First, let's try this without any custom logging or parsing functionality" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "id": "bff1cc2e-6b32-4ba0-879f-879ffbabd223", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "adding: M_1=10 to BSE_options\n", + "Creating and loading custom logging functionality\n", + "Running binary_c M_1 10\n", + "Cleaning up the custom logging stuff. type: single\n", + "SINGLE_STAR_LIFETIME 10 27.7358\n", + "\n" + ] + } + ], + "source": [ + "# Create the population object\n", + "example_pop = Population()\n", + "\n", + "# Set some parameters\n", + "example_pop.set(\n", + " verbosity=1\n", + ")\n", + "example_pop.set(\n", + " M_1=10\n", + ")\n", + "\n", + "# get output and print\n", + "output = example_pop.evolve_single()\n", + "print(output)" + ] + }, + { + "cell_type": "markdown", + "id": "ae01fa35-f8b1-4a40-bfb2-b9e872cae0e7", + "metadata": {}, + "source": [ + "Now lets add some actual output with the custom logging" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "dd748bab-b57e-4129-8350-9ea11fa179d0", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "adding: C_logging_code=\n", + "Printf(\"EXAMPLE_MASSLOSS %30.12e %g %g %g %d\\n\",\n", + " // \n", + " stardata->model.time, // 1\n", + " stardata->star[0].mass, //2\n", + " stardata->previous_stardata->star[0].mass, //3\n", + " stardata->common.zero_age.mass[0], //4\n", + "\n", + " stardata->star[0].stellar_type //5\n", + ");\n", + " to grid_options\n", + "Creating and loading custom logging functionality\n", + "Creating the code for the shared library for the custom logging\n", + "Removed /tmp/binary_c_python/custom_logging/custom_logging.c\n", + "Writing the custom logging code to /tmp/binary_c_python/custom_logging/custom_logging.c\n", + "File/directory /tmp/binary_c_python/custom_logging/libcustom_logging_b72fad5ce31946a596fdf51470ae62cb.so doesn't exist. Can't remove it.\n", + "Calling the binary_c config code to get the info to build the shared library\n", + "Got options to compile:\n", + "\tcc = cc\n", + "\tccflags = -DALIGNSIZE=8 -std=gnu11 -fstrict-aliasing -Wstrict-aliasing -g -Wpedantic -Wshadow -Wno-variadic-macros -fstack-protector-all -rdynamic -march=native -mtune=native -fno-associative-math -fno-math-errno -ffinite-math-only -fno-rounding-math -fno-signaling-nans -fcx-limited-range -fexcess-precision=fast -fno-unsafe-math-optimizations -fno-finite-math-only -fsignaling-nans -fomit-frame-pointer -fasynchronous-unwind-tables -export-dynamic -O0 -DCPUFREQ=3900 -DBINUTILS_VERSION=2.30 -DOPERATING_SYSTEM=linux -DLINUX -DPOSIX -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__HAVE_LINK_H -D__HAVE_GNU_QSORT_R -D__HAVE_NATIVE_EXP10 -D__HAVE_POSIX_FADVISE -DFPU_CONTROL -DGIT_REVISION=6101:20210807:c5232be5c -DGIT_URL=gitlab@gitlab.eps.surrey.ac.uk:ri0005/binary_c.git -DGIT_BRANCH=branch_david -D__HAVE_LIBC__ -D__HAVE_LIBGSL__ -I/usr/include -D__HAVE_LIBGSLCBLAS__ -D__HAVE_LIBDL__ -D__HAVE_LIBZ__ -D__HAVE_LIBPTHREAD__ -D__HAVE_LIBBACKTRACE__ -D__HAVE_LIBBSD__ -D__HAVE_LIBM__ -D__HAVE_LIBRINTERPOLATE__ -D__HAVE_IEEE754_H__ -D__HAVE_DRAND48__ -D__HAVE_HSEARCH_DATA__ -D__HAVE_MALLOC_H__ -D__HAVE_SETITIMER__ -D__HAVE_HAS_INCLUDE -D__HAVE_PKG_CONFIG__ -D__HAVE_VALGRIND__ -D__SHOW_STARDATA__ -D__DIFF_STARDATA__ -D__HAVE_7Z__ -D__HAVE_BZCAT__ -D__HAVE_ZCAT__ -O0 -shared -D_SEARCH_H\n", + "\tld = ld\n", + "\tlibs = -L/home/david/projects/binary_c_root/binary_c/src -L/usr/lib/x86_64-linux-gnu -L/home/david/.local/lib -L/home/david/projects/binary_c_root/binary_c/src -lc -lgsl -lgslcblas -lm -ldl -lz -lpthread -lbacktrace -lbsd -lrinterpolate -lbinary_c\n", + "\tinc = -I/home/david/projects/binary_c_root/binary_c -I/home/david/projects/binary_c_root/binary_c/src -I/home/david/.local/include -I/home/david/projects/binary_c_root/binary_c/src\n", + "\n", + "\n", + "Building shared library for custom logging with (binary_c.h) on david-Lenovo-IdeaPad-S340-14IWL\n", + "\n", + "Executing following command to compile the shared library:\n", + "cc -fPIC -DALIGNSIZE=8 -std=gnu11 -fstrict-aliasing -Wstrict-aliasing -g -Wpedantic -Wshadow -Wno-variadic-macros -fstack-protector-all -rdynamic -march=native -mtune=native -fno-associative-math -fno-math-errno -ffinite-math-only -fno-rounding-math -fno-signaling-nans -fcx-limited-range -fexcess-precision=fast -fno-unsafe-math-optimizations -fno-finite-math-only -fsignaling-nans -fomit-frame-pointer -fasynchronous-unwind-tables -export-dynamic -O0 -DCPUFREQ=3900 -DBINUTILS_VERSION=2.30 -DOPERATING_SYSTEM=linux -DLINUX -DPOSIX -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__HAVE_LINK_H -D__HAVE_GNU_QSORT_R -D__HAVE_NATIVE_EXP10 -D__HAVE_POSIX_FADVISE -DFPU_CONTROL -DGIT_REVISION=6101:20210807:c5232be5c -DGIT_URL=gitlab@gitlab.eps.surrey.ac.uk:ri0005/binary_c.git -DGIT_BRANCH=branch_david -D__HAVE_LIBC__ -D__HAVE_LIBGSL__ -I/usr/include -D__HAVE_LIBGSLCBLAS__ -D__HAVE_LIBDL__ -D__HAVE_LIBZ__ -D__HAVE_LIBPTHREAD__ -D__HAVE_LIBBACKTRACE__ -D__HAVE_LIBBSD__ -D__HAVE_LIBM__ -D__HAVE_LIBRINTERPOLATE__ -D__HAVE_IEEE754_H__ -D__HAVE_DRAND48__ -D__HAVE_HSEARCH_DATA__ -D__HAVE_MALLOC_H__ -D__HAVE_SETITIMER__ -D__HAVE_HAS_INCLUDE -D__HAVE_PKG_CONFIG__ -D__HAVE_VALGRIND__ -D__SHOW_STARDATA__ -D__DIFF_STARDATA__ -D__HAVE_7Z__ -D__HAVE_BZCAT__ -D__HAVE_ZCAT__ -O0 -shared -D_SEARCH_H -L/home/david/projects/binary_c_root/binary_c/src -L/usr/lib/x86_64-linux-gnu -L/home/david/.local/lib -L/home/david/projects/binary_c_root/binary_c/src -lc -lgsl -lgslcblas -lm -ldl -lz -lpthread -lbacktrace -lbsd -lrinterpolate -lbinary_c -o /tmp/binary_c_python/custom_logging/libcustom_logging_b72fad5ce31946a596fdf51470ae62cb.so /tmp/binary_c_python/custom_logging/custom_logging.c -I/home/david/projects/binary_c_root/binary_c -I/home/david/projects/binary_c_root/binary_c/src -I/home/david/.local/include -I/home/david/projects/binary_c_root/binary_c/src\n", + "loading shared library for custom logging\n", + "loaded shared library for custom logging. custom_output_function is loaded in memory at 140452086985980\n", + "Running binary_c M_1 10\n", + "Cleaning up the custom logging stuff. type: single\n", + "Removed /tmp/binary_c_python/custom_logging/libcustom_logging_b72fad5ce31946a596fdf51470ae62cb.so\n", + "EXAMPLE_MASSLOSS 0.000000000000e+00 10 0 10 1\n", + "EXAMPLE_MASSLOSS 0.000000000000e+00 10 10 10 1\n", + "EXAMPLE_MASSLOSS 1.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 2.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 3.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 4.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 5.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 6.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 7.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 8.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 9.000000000000e-06 10 10 10 1\n", + "EXAMPLE_MASSLOSS 2.428856587715e-01 9.99904 10 10 1\n", + "EXAMPLE_MASSLOSS 4.858043386255e-01 9.99808 9.99904 10 1\n", + "EXAMPLE_MASSLOSS 7.287653970196e-01 9.9971 9.99808 10 1\n", + "EXAMPLE_MASSLOSS 9.717692053867e-01 9.99612 9.9971 10 1\n", + "EXAMPLE_MASSLOSS 1.214816149403e+00 9.99513 9.99612 10 1\n", + "EXAMPLE_MASSLOSS 1.457906629267e+00 9.99413 9.99513 10 1\n", + "EXAMPLE_MASSLOSS 1.701041059992e+00 9.99312 9.99413 10 1\n", + "EXAMPLE_MASSLOSS 1.944219871711e+00 9.9921 9.99312 10 1\n", + "EXAMPLE_MASSLOSS 2.187443509995e+00 9.99107 9.9921 10 1\n", + "EXAMPLE_MASSLOSS 2.430712436181e+00 9.99003 9.99107 10 1\n", + "EXAMPLE_MASSLOSS 2.674027127722e+00 9.98897 9.99003 10 1\n", + "EXAMPLE_MASSLOSS 2.917388078541e+00 9.98791 9.98897 10 1\n", + "EXAMPLE_MASSLOSS 3.160795799407e+00 9.98684 9.98791 10 1\n", + "EXAMPLE_MASSLOSS 3.404250818323e+00 9.98575 9.98684 10 1\n", + "EXAMPLE_MASSLOSS 3.647753680927e+00 9.98465 9.98575 10 1\n", + "EXAMPLE_MASSLOSS 3.891304950918e+00 9.98354 9.98465 10 1\n", + "EXAMPLE_MASSLOSS 4.134905210484e+00 9.98242 9.98354 10 1\n", + "EXAMPLE_MASSLOSS 4.378555060760e+00 9.98128 9.98242 10 1\n", + "EXAMPLE_MASSLOSS 4.622255122292e+00 9.98013 9.98128 10 1\n", + "EXAMPLE_MASSLOSS 4.866006035533e+00 9.97896 9.98013 10 1\n", + "EXAMPLE_MASSLOSS 5.109808461340e+00 9.97778 9.97896 10 1\n", + "EXAMPLE_MASSLOSS 5.353663081505e+00 9.97658 9.97778 10 1\n", + "EXAMPLE_MASSLOSS 5.597570599296e+00 9.97537 9.97658 10 1\n", + "EXAMPLE_MASSLOSS 5.841531740023e+00 9.97414 9.97537 10 1\n", + "EXAMPLE_MASSLOSS 6.085547251623e+00 9.97289 9.97414 10 1\n", + "EXAMPLE_MASSLOSS 6.329617905265e+00 9.97163 9.97289 10 1\n", + "EXAMPLE_MASSLOSS 6.573744495981e+00 9.97034 9.97163 10 1\n", + "EXAMPLE_MASSLOSS 6.817927843318e+00 9.96904 9.97034 10 1\n", + "EXAMPLE_MASSLOSS 7.062168792011e+00 9.96772 9.96904 10 1\n", + "EXAMPLE_MASSLOSS 7.306468212685e+00 9.96638 9.96772 10 1\n", + "EXAMPLE_MASSLOSS 7.550827002578e+00 9.96503 9.96638 10 1\n", + "EXAMPLE_MASSLOSS 7.795246086292e+00 9.96364 9.96503 10 1\n", + "EXAMPLE_MASSLOSS 8.039726416572e+00 9.96224 9.96364 10 1\n", + "EXAMPLE_MASSLOSS 8.284268975108e+00 9.96082 9.96224 10 1\n", + "EXAMPLE_MASSLOSS 8.528874773371e+00 9.95937 9.96082 10 1\n", + "EXAMPLE_MASSLOSS 8.773544853476e+00 9.9579 9.95937 10 1\n", + "EXAMPLE_MASSLOSS 9.018280289073e+00 9.95641 9.9579 10 1\n", + "EXAMPLE_MASSLOSS 9.263082186270e+00 9.95489 9.95641 10 1\n", + "EXAMPLE_MASSLOSS 9.507951684592e+00 9.95334 9.95489 10 1\n", + "EXAMPLE_MASSLOSS 9.752889957969e+00 9.95177 9.95334 10 1\n", + "EXAMPLE_MASSLOSS 9.997898215756e+00 9.95017 9.95177 10 1\n", + "EXAMPLE_MASSLOSS 1.024297770379e+01 9.94855 9.95017 10 1\n", + "EXAMPLE_MASSLOSS 1.048812970548e+01 9.94689 9.94855 10 1\n", + "EXAMPLE_MASSLOSS 1.073335554296e+01 9.94521 9.94689 10 1\n", + "EXAMPLE_MASSLOSS 1.097865657819e+01 9.94349 9.94521 10 1\n", + "EXAMPLE_MASSLOSS 1.122403421425e+01 9.94175 9.94349 10 1\n", + "EXAMPLE_MASSLOSS 1.146948989649e+01 9.93997 9.94175 10 1\n", + "EXAMPLE_MASSLOSS 1.171502511388e+01 9.93816 9.93997 10 1\n", + "EXAMPLE_MASSLOSS 1.196064140027e+01 9.93631 9.93816 10 1\n", + "EXAMPLE_MASSLOSS 1.220634033581e+01 9.93443 9.93631 10 1\n", + "EXAMPLE_MASSLOSS 1.245212354829e+01 9.93251 9.93443 10 1\n", + "EXAMPLE_MASSLOSS 1.269799271459e+01 9.93056 9.93251 10 1\n", + "EXAMPLE_MASSLOSS 1.294394956219e+01 9.92856 9.93056 10 1\n", + "EXAMPLE_MASSLOSS 1.318999587064e+01 9.92653 9.92856 10 1\n", + "EXAMPLE_MASSLOSS 1.343613347310e+01 9.92446 9.92653 10 1\n", + "EXAMPLE_MASSLOSS 1.368236425799e+01 9.92234 9.92446 10 1\n", + "EXAMPLE_MASSLOSS 1.392869017053e+01 9.92018 9.92234 10 1\n", + "EXAMPLE_MASSLOSS 1.417511321446e+01 9.91798 9.92018 10 1\n", + "EXAMPLE_MASSLOSS 1.442163545365e+01 9.91573 9.91798 10 1\n", + "EXAMPLE_MASSLOSS 1.466825901386e+01 9.91344 9.91573 10 1\n", + "EXAMPLE_MASSLOSS 1.491498608445e+01 9.9111 9.91344 10 1\n", + "EXAMPLE_MASSLOSS 1.516181892009e+01 9.9087 9.9111 10 1\n", + "EXAMPLE_MASSLOSS 1.540875984257e+01 9.90626 9.9087 10 1\n", + "EXAMPLE_MASSLOSS 1.565581124247e+01 9.90376 9.90626 10 1\n", + "EXAMPLE_MASSLOSS 1.590297558101e+01 9.90121 9.90376 10 1\n", + "EXAMPLE_MASSLOSS 1.615025539169e+01 9.89861 9.90121 10 1\n", + "EXAMPLE_MASSLOSS 1.639765328203e+01 9.89595 9.89861 10 1\n", + "EXAMPLE_MASSLOSS 1.664517193526e+01 9.89323 9.89595 10 1\n", + "EXAMPLE_MASSLOSS 1.689281411189e+01 9.89045 9.89323 10 1\n", + "EXAMPLE_MASSLOSS 1.714058265126e+01 9.88761 9.89045 10 1\n", + "EXAMPLE_MASSLOSS 1.738848047302e+01 9.8847 9.88761 10 1\n", + "EXAMPLE_MASSLOSS 1.763651057841e+01 9.88173 9.8847 10 1\n", + "EXAMPLE_MASSLOSS 1.788467605150e+01 9.8787 9.88173 10 1\n", + "EXAMPLE_MASSLOSS 1.813298006019e+01 9.87559 9.8787 10 1\n", + "EXAMPLE_MASSLOSS 1.838142585706e+01 9.87242 9.87559 10 1\n", + "EXAMPLE_MASSLOSS 1.863001677997e+01 9.86917 9.87242 10 1\n", + "EXAMPLE_MASSLOSS 1.887875625237e+01 9.86585 9.86917 10 1\n", + "EXAMPLE_MASSLOSS 1.912764778330e+01 9.86246 9.86585 10 1\n", + "EXAMPLE_MASSLOSS 1.937669496705e+01 9.85899 9.86246 10 1\n", + "EXAMPLE_MASSLOSS 1.962590148236e+01 9.85545 9.85899 10 1\n", + "EXAMPLE_MASSLOSS 1.987527109117e+01 9.85182 9.85545 10 1\n", + "EXAMPLE_MASSLOSS 2.012480763676e+01 9.84811 9.85182 10 1\n", + "EXAMPLE_MASSLOSS 2.037451504136e+01 9.84432 9.84811 10 1\n", + "EXAMPLE_MASSLOSS 2.062439730298e+01 9.84045 9.84432 10 1\n", + "EXAMPLE_MASSLOSS 2.087445849148e+01 9.8365 9.84045 10 1\n", + "EXAMPLE_MASSLOSS 2.112470274376e+01 9.83246 9.8365 10 1\n", + "EXAMPLE_MASSLOSS 2.137513425796e+01 9.82833 9.83246 10 1\n", + "EXAMPLE_MASSLOSS 2.162575728655e+01 9.82411 9.82833 10 1\n", + "EXAMPLE_MASSLOSS 2.187657612827e+01 9.81981 9.82411 10 1\n", + "EXAMPLE_MASSLOSS 2.212759511865e+01 9.81542 9.81981 10 1\n", + "EXAMPLE_MASSLOSS 2.237881861913e+01 9.81095 9.81542 10 1\n", + "EXAMPLE_MASSLOSS 2.263025100459e+01 9.80639 9.81095 10 1\n", + "EXAMPLE_MASSLOSS 2.288189664917e+01 9.80174 9.80639 10 1\n", + "EXAMPLE_MASSLOSS 2.313375991011e+01 9.79701 9.80174 10 1\n", + "EXAMPLE_MASSLOSS 2.338584510978e+01 9.79219 9.79701 10 1\n", + "EXAMPLE_MASSLOSS 2.363815651539e+01 9.78729 9.79219 10 1\n", + "EXAMPLE_MASSLOSS 2.389069831654e+01 9.78232 9.78729 10 1\n", + "EXAMPLE_MASSLOSS 2.413846166787e+01 9.77736 9.78232 10 1\n", + "EXAMPLE_MASSLOSS 2.437803439149e+01 9.77251 9.77736 10 1\n", + "EXAMPLE_MASSLOSS 2.460995047758e+01 9.76777 9.77251 10 1\n", + "EXAMPLE_MASSLOSS 2.466054742702e+01 9.76628 9.76777 10 1\n", + "EXAMPLE_MASSLOSS 2.466056145493e+01 9.76628 9.76628 10 1\n", + "EXAMPLE_MASSLOSS 2.466056155493e+01 9.76628 9.76628 10 2\n", + "EXAMPLE_MASSLOSS 2.466718381296e+01 9.76604 9.76628 10 2\n", + "EXAMPLE_MASSLOSS 2.467380607099e+01 9.76586 9.76604 10 2\n", + "EXAMPLE_MASSLOSS 2.468042832902e+01 9.76573 9.76586 10 2\n", + "EXAMPLE_MASSLOSS 2.468705058705e+01 9.76564 9.76573 10 2\n", + "EXAMPLE_MASSLOSS 2.469367284508e+01 9.76557 9.76564 10 2\n", + "EXAMPLE_MASSLOSS 2.470029510311e+01 9.76535 9.76557 10 2\n", + "EXAMPLE_MASSLOSS 2.470691736114e+01 9.76509 9.76535 10 2\n", + "EXAMPLE_MASSLOSS 2.471353961917e+01 9.76478 9.76509 10 2\n", + "EXAMPLE_MASSLOSS 2.472016187720e+01 9.76442 9.76478 10 2\n", + "EXAMPLE_MASSLOSS 2.472678403523e+01 9.76399 9.76442 10 3\n", + "EXAMPLE_MASSLOSS 2.472697273819e+01 9.76397 9.76399 10 3\n", + "EXAMPLE_MASSLOSS 2.472715955412e+01 9.76396 9.76397 10 3\n", + "EXAMPLE_MASSLOSS 2.472734450189e+01 9.76394 9.76396 10 3\n", + "EXAMPLE_MASSLOSS 2.472752760018e+01 9.76393 9.76394 10 3\n", + "EXAMPLE_MASSLOSS 2.472770886749e+01 9.76391 9.76393 10 3\n", + "EXAMPLE_MASSLOSS 2.472788832213e+01 9.7639 9.76391 10 3\n", + "EXAMPLE_MASSLOSS 2.472806598222e+01 9.76388 9.7639 10 3\n", + "EXAMPLE_MASSLOSS 2.472824186571e+01 9.76387 9.76388 10 3\n", + "EXAMPLE_MASSLOSS 2.472841599036e+01 9.76385 9.76387 10 3\n", + "EXAMPLE_MASSLOSS 2.472858837377e+01 9.76383 9.76385 10 3\n", + "EXAMPLE_MASSLOSS 2.472875903335e+01 9.76382 9.76383 10 3\n", + "EXAMPLE_MASSLOSS 2.472892798633e+01 9.7638 9.76382 10 3\n", + "EXAMPLE_MASSLOSS 2.472909524978e+01 9.76378 9.7638 10 3\n", + "EXAMPLE_MASSLOSS 2.472926084059e+01 9.76377 9.76378 10 3\n", + "EXAMPLE_MASSLOSS 2.472942477550e+01 9.76375 9.76377 10 3\n", + "EXAMPLE_MASSLOSS 2.472958707105e+01 9.76373 9.76375 10 3\n", + "EXAMPLE_MASSLOSS 2.472974774365e+01 9.76371 9.76373 10 3\n", + "EXAMPLE_MASSLOSS 2.472990680953e+01 9.7637 9.76371 10 3\n", + "EXAMPLE_MASSLOSS 2.473006428475e+01 9.76368 9.7637 10 3\n", + "EXAMPLE_MASSLOSS 2.473022018521e+01 9.76366 9.76368 10 3\n", + "EXAMPLE_MASSLOSS 2.473037452667e+01 9.76364 9.76366 10 3\n", + "EXAMPLE_MASSLOSS 2.473052732472e+01 9.76362 9.76364 10 3\n", + "EXAMPLE_MASSLOSS 2.473067859478e+01 9.7636 9.76362 10 3\n", + "EXAMPLE_MASSLOSS 2.473082835215e+01 9.76358 9.7636 10 3\n", + "EXAMPLE_MASSLOSS 2.473097661194e+01 9.76356 9.76358 10 3\n", + "EXAMPLE_MASSLOSS 2.473112338913e+01 9.76354 9.76356 10 3\n", + "EXAMPLE_MASSLOSS 2.473126869855e+01 9.76352 9.76354 10 3\n", + "EXAMPLE_MASSLOSS 2.473141255488e+01 9.7635 9.76352 10 3\n", + "EXAMPLE_MASSLOSS 2.473155497264e+01 9.76348 9.7635 10 3\n", + "EXAMPLE_MASSLOSS 2.473169596623e+01 9.76346 9.76348 10 3\n", + "EXAMPLE_MASSLOSS 2.473183554988e+01 9.76344 9.76346 10 3\n", + "EXAMPLE_MASSLOSS 2.473197373769e+01 9.76342 9.76344 10 3\n", + "EXAMPLE_MASSLOSS 2.473211054363e+01 9.76339 9.76342 10 3\n", + "EXAMPLE_MASSLOSS 2.473224598150e+01 9.76337 9.76339 10 3\n", + "EXAMPLE_MASSLOSS 2.473238006500e+01 9.76335 9.76337 10 3\n", + "EXAMPLE_MASSLOSS 2.473251280766e+01 9.76333 9.76335 10 3\n", + "EXAMPLE_MASSLOSS 2.473264422290e+01 9.7633 9.76333 10 3\n", + "EXAMPLE_MASSLOSS 2.473277432398e+01 9.76328 9.7633 10 3\n", + "EXAMPLE_MASSLOSS 2.473290312405e+01 9.76326 9.76328 10 3\n", + "EXAMPLE_MASSLOSS 2.473303063612e+01 9.76323 9.76326 10 3\n", + "EXAMPLE_MASSLOSS 2.473315687307e+01 9.76321 9.76323 10 3\n", + "EXAMPLE_MASSLOSS 2.473328184766e+01 9.76318 9.76321 10 3\n", + "EXAMPLE_MASSLOSS 2.473340557249e+01 9.76316 9.76318 10 3\n", + "EXAMPLE_MASSLOSS 2.473352806008e+01 9.76313 9.76316 10 3\n", + "EXAMPLE_MASSLOSS 2.473364932279e+01 9.76311 9.76313 10 3\n", + "EXAMPLE_MASSLOSS 2.473376937287e+01 9.76308 9.76311 10 3\n", + "EXAMPLE_MASSLOSS 2.473388822246e+01 9.76305 9.76308 10 3\n", + "EXAMPLE_MASSLOSS 2.473400588355e+01 9.76303 9.76305 10 3\n", + "EXAMPLE_MASSLOSS 2.473412236802e+01 9.763 9.76303 10 3\n", + "EXAMPLE_MASSLOSS 2.473423768765e+01 9.76297 9.763 10 3\n", + "EXAMPLE_MASSLOSS 2.473435185409e+01 9.76295 9.76297 10 3\n", + "EXAMPLE_MASSLOSS 2.473446487886e+01 9.76292 9.76295 10 3\n", + "EXAMPLE_MASSLOSS 2.473457677338e+01 9.76289 9.76292 10 3\n", + "EXAMPLE_MASSLOSS 2.473468754896e+01 9.76286 9.76289 10 3\n", + "EXAMPLE_MASSLOSS 2.473479721678e+01 9.76283 9.76286 10 3\n", + "EXAMPLE_MASSLOSS 2.473490578793e+01 9.7628 9.76283 10 3\n", + "EXAMPLE_MASSLOSS 2.473501327336e+01 9.76277 9.7628 10 3\n", + "EXAMPLE_MASSLOSS 2.473511968394e+01 9.76274 9.76277 10 3\n", + "EXAMPLE_MASSLOSS 2.473522503041e+01 9.76271 9.76274 10 3\n", + "EXAMPLE_MASSLOSS 2.473532932342e+01 9.76268 9.76271 10 3\n", + "EXAMPLE_MASSLOSS 2.473543257350e+01 9.76265 9.76268 10 3\n", + "EXAMPLE_MASSLOSS 2.473553479108e+01 9.76262 9.76265 10 3\n", + "EXAMPLE_MASSLOSS 2.473563598648e+01 9.76258 9.76262 10 3\n", + "EXAMPLE_MASSLOSS 2.473573616993e+01 9.76255 9.76258 10 3\n", + "EXAMPLE_MASSLOSS 2.473583535154e+01 9.76252 9.76255 10 3\n", + "EXAMPLE_MASSLOSS 2.473593354134e+01 9.76248 9.76252 10 3\n", + "EXAMPLE_MASSLOSS 2.473603074923e+01 9.76245 9.76248 10 3\n", + "EXAMPLE_MASSLOSS 2.473612698505e+01 9.76242 9.76245 10 3\n", + "EXAMPLE_MASSLOSS 2.473622225852e+01 9.76238 9.76242 10 3\n", + "EXAMPLE_MASSLOSS 2.473631657924e+01 9.76235 9.76238 10 3\n", + "EXAMPLE_MASSLOSS 2.473640995676e+01 9.76231 9.76235 10 3\n", + "EXAMPLE_MASSLOSS 2.473650240051e+01 9.76227 9.76231 10 3\n", + "EXAMPLE_MASSLOSS 2.473659391981e+01 9.76224 9.76227 10 3\n", + "EXAMPLE_MASSLOSS 2.473668452393e+01 9.7622 9.76224 10 3\n", + "EXAMPLE_MASSLOSS 2.473677422200e+01 9.76216 9.7622 10 3\n", + "EXAMPLE_MASSLOSS 2.473686302309e+01 9.76212 9.76216 10 3\n", + "EXAMPLE_MASSLOSS 2.473695093617e+01 9.76208 9.76212 10 3\n", + "EXAMPLE_MASSLOSS 2.473699770532e+01 9.76206 9.76208 10 4\n", + "EXAMPLE_MASSLOSS 2.476587186291e+01 9.74886 9.76206 10 4\n", + "EXAMPLE_MASSLOSS 2.479474602051e+01 9.73665 9.74886 10 4\n", + "EXAMPLE_MASSLOSS 2.482362017810e+01 9.72531 9.73665 10 4\n", + "EXAMPLE_MASSLOSS 2.485249433569e+01 9.71473 9.72531 10 4\n", + "EXAMPLE_MASSLOSS 2.488136849328e+01 9.70484 9.71473 10 4\n", + "EXAMPLE_MASSLOSS 2.491024265087e+01 9.69554 9.70484 10 4\n", + "EXAMPLE_MASSLOSS 2.493911680846e+01 9.68677 9.69554 10 4\n", + "EXAMPLE_MASSLOSS 2.496799096605e+01 9.67847 9.68677 10 4\n", + "EXAMPLE_MASSLOSS 2.499686512364e+01 9.67059 9.67847 10 4\n", + "EXAMPLE_MASSLOSS 2.502573928124e+01 9.66308 9.67059 10 4\n", + "EXAMPLE_MASSLOSS 2.505461343883e+01 9.65591 9.66308 10 4\n", + "EXAMPLE_MASSLOSS 2.508348759642e+01 9.64903 9.65591 10 4\n", + "EXAMPLE_MASSLOSS 2.511236175401e+01 9.64241 9.64903 10 4\n", + "EXAMPLE_MASSLOSS 2.514123591160e+01 9.63603 9.64241 10 4\n", + "EXAMPLE_MASSLOSS 2.517011006919e+01 9.62985 9.63603 10 4\n", + "EXAMPLE_MASSLOSS 2.519898422678e+01 9.62387 9.62985 10 4\n", + "EXAMPLE_MASSLOSS 2.522785838437e+01 9.61805 9.62387 10 4\n", + "EXAMPLE_MASSLOSS 2.525673254197e+01 9.61237 9.61805 10 4\n", + "EXAMPLE_MASSLOSS 2.528560669956e+01 9.60683 9.61237 10 4\n", + "EXAMPLE_MASSLOSS 2.531448085715e+01 9.60141 9.60683 10 4\n", + "EXAMPLE_MASSLOSS 2.534335501474e+01 9.59608 9.60141 10 4\n", + "EXAMPLE_MASSLOSS 2.537222917233e+01 9.59085 9.59608 10 4\n", + "EXAMPLE_MASSLOSS 2.540110332992e+01 9.5857 9.59085 10 4\n", + "EXAMPLE_MASSLOSS 2.542997748751e+01 9.58061 9.5857 10 4\n", + "EXAMPLE_MASSLOSS 2.545885164510e+01 9.57558 9.58061 10 4\n", + "EXAMPLE_MASSLOSS 2.548772580270e+01 9.57061 9.57558 10 4\n", + "EXAMPLE_MASSLOSS 2.551659996029e+01 9.56568 9.57061 10 4\n", + "EXAMPLE_MASSLOSS 2.554547411788e+01 9.56078 9.56568 10 4\n", + "EXAMPLE_MASSLOSS 2.557434827547e+01 9.55591 9.56078 10 4\n", + "EXAMPLE_MASSLOSS 2.560322243306e+01 9.55107 9.55591 10 4\n", + "EXAMPLE_MASSLOSS 2.563209659065e+01 9.54625 9.55107 10 4\n", + "EXAMPLE_MASSLOSS 2.566097074824e+01 9.54144 9.54625 10 4\n", + "EXAMPLE_MASSLOSS 2.568984490583e+01 9.53664 9.54144 10 4\n", + "EXAMPLE_MASSLOSS 2.571871906343e+01 9.53185 9.53664 10 4\n", + "EXAMPLE_MASSLOSS 2.574759322102e+01 9.52707 9.53185 10 4\n", + "EXAMPLE_MASSLOSS 2.577646737861e+01 9.52229 9.52707 10 4\n", + "EXAMPLE_MASSLOSS 2.580534153620e+01 9.51751 9.52229 10 4\n", + "EXAMPLE_MASSLOSS 2.583421569379e+01 9.51273 9.51751 10 4\n", + "EXAMPLE_MASSLOSS 2.586308985138e+01 9.50795 9.51273 10 4\n", + "EXAMPLE_MASSLOSS 2.589196400897e+01 9.50314 9.50795 10 4\n", + "EXAMPLE_MASSLOSS 2.592013279679e+01 9.4988 9.50314 10 4\n", + "EXAMPLE_MASSLOSS 2.593293300489e+01 9.49698 9.4988 10 4\n", + "EXAMPLE_MASSLOSS 2.594576642225e+01 9.49522 9.49698 10 4\n", + "EXAMPLE_MASSLOSS 2.595915686962e+01 9.49345 9.49522 10 4\n", + "EXAMPLE_MASSLOSS 2.597311318173e+01 9.49167 9.49345 10 4\n", + "EXAMPLE_MASSLOSS 2.598767091717e+01 9.48988 9.49167 10 4\n", + "EXAMPLE_MASSLOSS 2.600286458465e+01 9.48808 9.48988 10 4\n", + "EXAMPLE_MASSLOSS 2.601872885459e+01 9.48627 9.48808 10 4\n", + "EXAMPLE_MASSLOSS 2.603529812116e+01 9.48444 9.48627 10 4\n", + "EXAMPLE_MASSLOSS 2.605260600595e+01 9.48261 9.48444 10 4\n", + "EXAMPLE_MASSLOSS 2.607068470969e+01 9.48076 9.48261 10 4\n", + "EXAMPLE_MASSLOSS 2.608956420826e+01 9.4789 9.48076 10 4\n", + "EXAMPLE_MASSLOSS 2.610927128854e+01 9.47703 9.4789 10 4\n", + "EXAMPLE_MASSLOSS 2.612982842803e+01 9.47515 9.47703 10 4\n", + "EXAMPLE_MASSLOSS 2.615125253478e+01 9.47325 9.47515 10 4\n", + "EXAMPLE_MASSLOSS 2.617355358186e+01 9.47133 9.47325 10 4\n", + "EXAMPLE_MASSLOSS 2.619673319203e+01 9.4694 9.47133 10 4\n", + "EXAMPLE_MASSLOSS 2.622078325403e+01 9.46746 9.4694 10 4\n", + "EXAMPLE_MASSLOSS 2.624568467688e+01 9.4655 9.46746 10 4\n", + "EXAMPLE_MASSLOSS 2.627140641122e+01 9.46353 9.4655 10 4\n", + "EXAMPLE_MASSLOSS 2.629790487859e+01 9.46154 9.46353 10 4\n", + "EXAMPLE_MASSLOSS 2.632512394658e+01 9.45953 9.46154 10 4\n", + "EXAMPLE_MASSLOSS 2.635299556242e+01 9.45751 9.45953 10 4\n", + "EXAMPLE_MASSLOSS 2.638144110889e+01 9.45548 9.45751 10 4\n", + "EXAMPLE_MASSLOSS 2.641031526648e+01 9.45344 9.45548 10 4\n", + "EXAMPLE_MASSLOSS 2.643918942407e+01 9.45142 9.45344 10 4\n", + "EXAMPLE_MASSLOSS 2.646806358166e+01 9.44941 9.45142 10 4\n", + "EXAMPLE_MASSLOSS 2.649693773925e+01 9.4474 9.44941 10 4\n", + "EXAMPLE_MASSLOSS 2.652581189684e+01 9.4454 9.4474 10 4\n", + "EXAMPLE_MASSLOSS 2.655468605443e+01 9.44339 9.4454 10 4\n", + "EXAMPLE_MASSLOSS 2.658356021202e+01 9.44137 9.44339 10 4\n", + "EXAMPLE_MASSLOSS 2.661243436962e+01 9.43935 9.44137 10 4\n", + "EXAMPLE_MASSLOSS 2.664130852721e+01 9.43732 9.43935 10 4\n", + "EXAMPLE_MASSLOSS 2.667018268480e+01 9.43527 9.43732 10 4\n", + "EXAMPLE_MASSLOSS 2.669905684239e+01 9.43321 9.43527 10 4\n", + "EXAMPLE_MASSLOSS 2.672793099998e+01 9.43114 9.43321 10 4\n", + "EXAMPLE_MASSLOSS 2.675676320693e+01 9.42906 9.43114 10 4\n", + "EXAMPLE_MASSLOSS 2.678536199230e+01 9.42698 9.42906 10 4\n", + "EXAMPLE_MASSLOSS 2.681372586982e+01 9.4249 9.42698 10 4\n", + "EXAMPLE_MASSLOSS 2.684184297439e+01 9.42282 9.4249 10 4\n", + "EXAMPLE_MASSLOSS 2.686969238764e+01 9.42074 9.42282 10 4\n", + "EXAMPLE_MASSLOSS 2.689724514865e+01 9.41867 9.42074 10 4\n", + "EXAMPLE_MASSLOSS 2.692446538308e+01 9.4166 9.41867 10 4\n", + "EXAMPLE_MASSLOSS 2.695131158738e+01 9.41453 9.4166 10 4\n", + "EXAMPLE_MASSLOSS 2.697773807815e+01 9.41246 9.41453 10 4\n", + "EXAMPLE_MASSLOSS 2.700369658847e+01 9.41039 9.41246 10 4\n", + "EXAMPLE_MASSLOSS 2.702913796560e+01 9.40833 9.41039 10 4\n", + "EXAMPLE_MASSLOSS 2.705401390130e+01 9.40627 9.40833 10 4\n", + "EXAMPLE_MASSLOSS 2.707827860925e+01 9.40422 9.40627 10 4\n", + "EXAMPLE_MASSLOSS 2.710189035853e+01 9.40217 9.40422 10 4\n", + "EXAMPLE_MASSLOSS 2.712481277761e+01 9.40013 9.40217 10 4\n", + "EXAMPLE_MASSLOSS 2.714701586015e+01 9.39809 9.40013 10 4\n", + "EXAMPLE_MASSLOSS 2.716847662976e+01 9.39607 9.39809 10 4\n", + "EXAMPLE_MASSLOSS 2.718917945048e+01 9.39405 9.39607 10 4\n", + "EXAMPLE_MASSLOSS 2.720911599989e+01 9.39205 9.39405 10 4\n", + "EXAMPLE_MASSLOSS 2.722828494653e+01 9.39005 9.39205 10 4\n", + "EXAMPLE_MASSLOSS 2.724669139082e+01 9.38806 9.39005 10 4\n", + "EXAMPLE_MASSLOSS 2.726434613739e+01 9.38609 9.38806 10 4\n", + "EXAMPLE_MASSLOSS 2.728126486685e+01 9.38413 9.38609 10 4\n", + "EXAMPLE_MASSLOSS 2.729746726859e+01 9.38218 9.38413 10 4\n", + "EXAMPLE_MASSLOSS 2.731297618589e+01 9.38024 9.38218 10 4\n", + "EXAMPLE_MASSLOSS 2.732781681156e+01 9.37831 9.38024 10 4\n", + "EXAMPLE_MASSLOSS 2.734201596008e+01 9.3764 9.37831 10 4\n", + "EXAMPLE_MASSLOSS 2.735560143071e+01 9.3745 9.3764 10 4\n", + "EXAMPLE_MASSLOSS 2.736860146705e+01 9.37261 9.3745 10 4\n", + "EXAMPLE_MASSLOSS 2.738104431159e+01 9.37073 9.37261 10 4\n", + "EXAMPLE_MASSLOSS 2.739295784899e+01 9.36887 9.37073 10 4\n", + "EXAMPLE_MASSLOSS 2.740436932931e+01 9.36702 9.36887 10 4\n", + "EXAMPLE_MASSLOSS 2.741530516083e+01 9.36518 9.36702 10 4\n", + "EXAMPLE_MASSLOSS 2.742579076194e+01 9.36335 9.36518 10 4\n", + "EXAMPLE_MASSLOSS 2.743585046199e+01 9.36153 9.36335 10 4\n", + "EXAMPLE_MASSLOSS 2.744550744184e+01 9.35973 9.36153 10 4\n", + "EXAMPLE_MASSLOSS 2.745478370600e+01 9.35793 9.35973 10 4\n", + "EXAMPLE_MASSLOSS 2.746370007930e+01 9.35615 9.35793 10 4\n", + "EXAMPLE_MASSLOSS 2.747227622216e+01 9.35437 9.35615 10 4\n", + "EXAMPLE_MASSLOSS 2.748053065975e+01 9.35261 9.35437 10 4\n", + "EXAMPLE_MASSLOSS 2.748848082085e+01 9.35085 9.35261 10 4\n", + "EXAMPLE_MASSLOSS 2.749614308352e+01 9.34911 9.35085 10 4\n", + "EXAMPLE_MASSLOSS 2.750353282491e+01 9.34737 9.34911 10 4\n", + "EXAMPLE_MASSLOSS 2.751066447336e+01 9.34564 9.34737 10 4\n", + "EXAMPLE_MASSLOSS 2.751755156133e+01 9.34392 9.34564 10 4\n", + "EXAMPLE_MASSLOSS 2.752420677809e+01 9.34221 9.34392 10 4\n", + "EXAMPLE_MASSLOSS 2.753064202123e+01 9.34051 9.34221 10 4\n", + "EXAMPLE_MASSLOSS 2.753686844665e+01 9.33882 9.34051 10 4\n", + "EXAMPLE_MASSLOSS 2.754289651640e+01 9.33713 9.33882 10 4\n", + "EXAMPLE_MASSLOSS 2.754873604429e+01 9.33546 9.33713 10 4\n", + "EXAMPLE_MASSLOSS 2.755439623911e+01 9.33379 9.33546 10 4\n", + "EXAMPLE_MASSLOSS 2.755988574524e+01 9.33212 9.33379 10 4\n", + "EXAMPLE_MASSLOSS 2.756521322337e+01 9.33047 9.33212 10 4\n", + "EXAMPLE_MASSLOSS 2.757041220956e+01 9.32881 9.33047 10 4\n", + "EXAMPLE_MASSLOSS 2.757557219801e+01 9.32712 9.32881 10 4\n", + "EXAMPLE_MASSLOSS 2.758083548446e+01 9.32536 9.32712 10 4\n", + "EXAMPLE_MASSLOSS 2.758640034503e+01 9.32345 9.32536 10 4\n", + "EXAMPLE_MASSLOSS 2.759254335421e+01 9.32127 9.32345 10 4\n", + "EXAMPLE_MASSLOSS 2.759967388758e+01 9.31867 9.32127 10 4\n", + "EXAMPLE_MASSLOSS 2.760845020818e+01 9.31535 9.31867 10 4\n", + "EXAMPLE_MASSLOSS 2.762003432669e+01 9.31077 9.31535 10 4\n", + "EXAMPLE_MASSLOSS 2.763670660601e+01 9.30375 9.31077 10 5\n", + "EXAMPLE_MASSLOSS 2.763861300623e+01 9.3028 9.30375 10 5\n", + "EXAMPLE_MASSLOSS 2.764050034244e+01 9.30184 9.3028 10 5\n", + "EXAMPLE_MASSLOSS 2.764236880530e+01 9.30087 9.30184 10 5\n", + "EXAMPLE_MASSLOSS 2.764421858352e+01 9.29988 9.30087 10 5\n", + "EXAMPLE_MASSLOSS 2.764604986396e+01 9.29889 9.29988 10 5\n", + "EXAMPLE_MASSLOSS 2.764786283160e+01 9.29788 9.29889 10 5\n", + "EXAMPLE_MASSLOSS 2.764965766956e+01 9.29685 9.29788 10 5\n", + "EXAMPLE_MASSLOSS 2.765143455914e+01 9.29582 9.29685 10 5\n", + "EXAMPLE_MASSLOSS 2.765319367983e+01 9.29477 9.29582 10 5\n", + "EXAMPLE_MASSLOSS 2.765493520931e+01 9.2937 9.29477 10 5\n", + "EXAMPLE_MASSLOSS 2.765665932350e+01 9.29263 9.2937 10 5\n", + "EXAMPLE_MASSLOSS 2.765836619654e+01 9.29154 9.29263 10 5\n", + "EXAMPLE_MASSLOSS 2.766005600085e+01 9.29043 9.29154 10 5\n", + "EXAMPLE_MASSLOSS 2.766172890712e+01 9.28931 9.29043 10 5\n", + "EXAMPLE_MASSLOSS 2.766338508433e+01 9.28818 9.28931 10 5\n", + "EXAMPLE_MASSLOSS 2.766502469976e+01 9.28703 9.28818 10 5\n", + "EXAMPLE_MASSLOSS 2.766664791904e+01 9.28587 9.28703 10 5\n", + "EXAMPLE_MASSLOSS 2.766825490613e+01 9.28469 9.28587 10 5\n", + "EXAMPLE_MASSLOSS 2.766984582335e+01 9.28349 9.28469 10 5\n", + "EXAMPLE_MASSLOSS 2.767142083139e+01 9.28229 9.28349 10 5\n", + "EXAMPLE_MASSLOSS 2.767298008935e+01 9.28106 9.28229 10 5\n", + "EXAMPLE_MASSLOSS 2.767452375474e+01 9.27982 9.28106 10 5\n", + "EXAMPLE_MASSLOSS 2.767605198347e+01 9.27856 9.27982 10 5\n", + "EXAMPLE_MASSLOSS 2.767756492991e+01 9.27729 9.27856 10 5\n", + "EXAMPLE_MASSLOSS 2.767906274689e+01 9.276 9.27729 10 5\n", + "EXAMPLE_MASSLOSS 2.768054558570e+01 9.2747 9.276 10 5\n", + "EXAMPLE_MASSLOSS 2.768201359612e+01 9.27337 9.2747 10 5\n", + "EXAMPLE_MASSLOSS 2.768346692644e+01 9.27204 9.27337 10 5\n", + "EXAMPLE_MASSLOSS 2.768490572345e+01 9.27068 9.27204 10 5\n", + "EXAMPLE_MASSLOSS 2.768633013249e+01 9.26931 9.27068 10 5\n", + "EXAMPLE_MASSLOSS 2.768774029745e+01 9.26792 9.26931 10 5\n", + "EXAMPLE_MASSLOSS 2.768913636075e+01 9.26652 9.26792 10 5\n", + "EXAMPLE_MASSLOSS 2.769051846342e+01 9.26509 9.26652 10 5\n", + "EXAMPLE_MASSLOSS 2.769188674506e+01 9.26365 9.26509 10 5\n", + "EXAMPLE_MASSLOSS 2.769324134389e+01 9.26219 9.26365 10 5\n", + "EXAMPLE_MASSLOSS 2.769458239673e+01 9.26072 9.26219 10 5\n", + "EXAMPLE_MASSLOSS 2.769591003904e+01 9.25922 9.26072 10 5\n", + "EXAMPLE_MASSLOSS 2.769722440493e+01 9.25771 9.25922 10 5\n", + "EXAMPLE_MASSLOSS 2.769852562716e+01 9.25618 9.25771 10 5\n", + "EXAMPLE_MASSLOSS 2.769981383716e+01 9.25463 9.25618 10 5\n", + "EXAMPLE_MASSLOSS 2.770108916507e+01 9.25305 9.25463 10 5\n", + "EXAMPLE_MASSLOSS 2.770235173970e+01 9.25146 9.25305 10 5\n", + "EXAMPLE_MASSLOSS 2.770360168858e+01 9.24985 9.25146 10 5\n", + "EXAMPLE_MASSLOSS 2.770483913797e+01 9.24822 9.24985 10 5\n", + "EXAMPLE_MASSLOSS 2.770606421287e+01 9.24657 9.24822 10 5\n", + "EXAMPLE_MASSLOSS 2.770727703702e+01 9.2449 9.24657 10 5\n", + "EXAMPLE_MASSLOSS 2.770847773292e+01 9.24321 9.2449 10 5\n", + "EXAMPLE_MASSLOSS 2.770966642187e+01 9.2415 9.24321 10 5\n", + "EXAMPLE_MASSLOSS 2.771084322393e+01 9.23976 9.2415 10 5\n", + "EXAMPLE_MASSLOSS 2.771200825797e+01 9.23801 9.23976 10 5\n", + "EXAMPLE_MASSLOSS 2.771316164167e+01 9.23623 9.23801 10 5\n", + "EXAMPLE_MASSLOSS 2.771430349153e+01 9.23443 9.23623 10 5\n", + "EXAMPLE_MASSLOSS 2.771543392289e+01 9.23261 9.23443 10 5\n", + "EXAMPLE_MASSLOSS 2.771655304994e+01 9.23076 9.23261 10 5\n", + "EXAMPLE_MASSLOSS 2.771766098572e+01 9.22889 9.23076 10 5\n", + "EXAMPLE_MASSLOSS 2.771875784214e+01 9.227 9.22889 10 5\n", + "EXAMPLE_MASSLOSS 2.771984373000e+01 9.22508 9.227 10 5\n", + "EXAMPLE_MASSLOSS 2.772091875898e+01 9.22314 9.22508 10 5\n", + "EXAMPLE_MASSLOSS 2.772198303766e+01 9.22117 9.22314 10 5\n", + "EXAMPLE_MASSLOSS 2.772303667356e+01 9.21918 9.22117 10 5\n", + "EXAMPLE_MASSLOSS 2.772407977311e+01 9.21716 9.21918 10 5\n", + "EXAMPLE_MASSLOSS 2.772511244165e+01 9.21511 9.21716 10 5\n", + "EXAMPLE_MASSLOSS 2.772613478351e+01 9.21304 9.21511 10 5\n", + "EXAMPLE_MASSLOSS 2.772714690196e+01 9.21094 9.21304 10 5\n", + "EXAMPLE_MASSLOSS 2.772814889922e+01 9.20882 9.21094 10 5\n", + "EXAMPLE_MASSLOSS 2.772914087650e+01 9.20666 9.20882 10 5\n", + "EXAMPLE_MASSLOSS 2.773012293401e+01 9.20448 9.20666 10 5\n", + "EXAMPLE_MASSLOSS 2.773109517095e+01 9.20227 9.20448 10 5\n", + "EXAMPLE_MASSLOSS 2.773205768552e+01 9.20003 9.20227 10 5\n", + "EXAMPLE_MASSLOSS 2.773301057494e+01 9.19777 9.20003 10 5\n", + "EXAMPLE_MASSLOSS 2.773395393547e+01 9.19547 9.19777 10 5\n", + "EXAMPLE_MASSLOSS 2.773488786240e+01 9.19314 9.19547 10 5\n", + "SINGLE_STAR_LIFETIME 10 27.7358\n", + "EXAMPLE_MASSLOSS 2.773581245005e+01 1.33524 9.19314 10 13\n", + "EXAMPLE_MASSLOSS 2.774581245005e+01 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 2.774581503201e+01 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 1.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 2.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 3.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 4.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 5.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 6.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 7.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 8.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 9.027745815032e+03 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 1.002774581503e+04 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 1.102774581503e+04 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 1.202774581503e+04 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 1.302774581503e+04 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 1.402774581503e+04 1.33524 1.33524 10 13\n", + "EXAMPLE_MASSLOSS 1.500000000000e+04 1.33524 1.33524 10 13\n", + "\n" + ] + } + ], + "source": [ + "custom_logging_print_statement = \"\"\"\n", + "Printf(\"EXAMPLE_MASSLOSS %30.12e %g %g %g %d\\\\n\",\n", + " // \n", + " stardata->model.time, // 1\n", + " stardata->star[0].mass, //2\n", + " stardata->previous_stardata->star[0].mass, //3\n", + " stardata->common.zero_age.mass[0], //4\n", + "\n", + " stardata->star[0].stellar_type //5\n", + ");\n", + "\"\"\" \n", + "\n", + "example_pop.set(C_logging_code=custom_logging_print_statement)\n", + "\n", + "# get output and print\n", + "output = example_pop.evolve_single()\n", + "print(output)" + ] + }, + { + "cell_type": "markdown", + "id": "588a7d9e-9d64-4b3b-8907-656b905286e8", + "metadata": {}, + "source": [ + "Lastly we can add a parse_function to handle parsing the output again. \n", + "\n", + "Because the parse_function will now be part of the population object, it can access information of the object. We need to make a new parse function that is fit for an object: we the arguments now need to be (self, output). Returning the data is useful when running evolve_single(), but won't be used in a population evolution." + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "id": "fec39154-cce6-438c-8c2c-509d76b00f34", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import json\n", + "import numpy as np\n", + "\n", + "def object_parse_function(self, output):\n", + " \"\"\"\n", + " Example parse function that can be added to the population object\n", + " \"\"\"\n", + "\n", + " # We can access object instance information now. \n", + " # In this way we can store the results in a file for example. \n", + " output_file = os.path.join(self.custom_options['output_dir'], 'example_output.json')\n", + " \n", + " # \n", + " column_names = ['time', 'mass', 'initial_mass', 'stellar_type']\n", + " value_lines = [column_names]\n", + " \n", + " # Loop over output\n", + " for line in output.splitlines():\n", + " \n", + " # Select the lines starting with the header we chose\n", + " if line.startswith(\"EXAMPLE_MASSLOSS\"):\n", + " \n", + " # Split the output and fetch the data\n", + " split_line = line.split()\n", + " values = [float(el) for el in split_line[1:]]\n", + " value_lines.append(values)\n", + "\n", + " # Turn into an array\n", + " values_array = np.array(value_lines[1:])\n", + " \n", + " # make dict and fill\n", + " output_dict = {}\n", + " for i in range(len(column_names)):\n", + " output_dict[column_names[i]] = list(values_array[:,i])\n", + "\n", + " # Write to file\n", + " with open(output_file, 'w') as f:\n", + " f.write(json.dumps(output_dict, indent=4))\n", + " \n", + " # Return something anyway\n", + " return value_lines" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "id": "57347512-fd4a-434b-b13c-5e6dbd3ac415", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "adding: parse_function=<function object_parse_function at 0x7fbd80b8ba60> to grid_options\n", + "!! Key doesnt match previously known parameter: adding: output_dir=/tmp/ to custom_options\n", + "Creating and loading custom logging functionality\n", + "Creating the code for the shared library for the custom logging\n", + "Removed /tmp/binary_c_python/custom_logging/custom_logging.c\n", + "Writing the custom logging code to /tmp/binary_c_python/custom_logging/custom_logging.c\n", + "File/directory /tmp/binary_c_python/custom_logging/libcustom_logging_b5166563ed644682b56cfd1091b45970.so doesn't exist. Can't remove it.\n", + "Calling the binary_c config code to get the info to build the shared library\n", + "Got options to compile:\n", + "\tcc = cc\n", + "\tccflags = -DALIGNSIZE=8 -std=gnu11 -fstrict-aliasing -Wstrict-aliasing -g -Wpedantic -Wshadow -Wno-variadic-macros -fstack-protector-all -rdynamic -march=native -mtune=native -fno-associative-math -fno-math-errno -ffinite-math-only -fno-rounding-math -fno-signaling-nans -fcx-limited-range -fexcess-precision=fast -fno-unsafe-math-optimizations -fno-finite-math-only -fsignaling-nans -fomit-frame-pointer -fasynchronous-unwind-tables -export-dynamic -O0 -DCPUFREQ=3900 -DBINUTILS_VERSION=2.30 -DOPERATING_SYSTEM=linux -DLINUX -DPOSIX -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__HAVE_LINK_H -D__HAVE_GNU_QSORT_R -D__HAVE_NATIVE_EXP10 -D__HAVE_POSIX_FADVISE -DFPU_CONTROL -DGIT_REVISION=6101:20210807:c5232be5c -DGIT_URL=gitlab@gitlab.eps.surrey.ac.uk:ri0005/binary_c.git -DGIT_BRANCH=branch_david -D__HAVE_LIBC__ -D__HAVE_LIBGSL__ -I/usr/include -D__HAVE_LIBGSLCBLAS__ -D__HAVE_LIBDL__ -D__HAVE_LIBZ__ -D__HAVE_LIBPTHREAD__ -D__HAVE_LIBBACKTRACE__ -D__HAVE_LIBBSD__ -D__HAVE_LIBM__ -D__HAVE_LIBRINTERPOLATE__ -D__HAVE_IEEE754_H__ -D__HAVE_DRAND48__ -D__HAVE_HSEARCH_DATA__ -D__HAVE_MALLOC_H__ -D__HAVE_SETITIMER__ -D__HAVE_HAS_INCLUDE -D__HAVE_PKG_CONFIG__ -D__HAVE_VALGRIND__ -D__SHOW_STARDATA__ -D__DIFF_STARDATA__ -D__HAVE_7Z__ -D__HAVE_BZCAT__ -D__HAVE_ZCAT__ -O0 -shared -D_SEARCH_H\n", + "\tld = ld\n", + "\tlibs = -L/home/david/projects/binary_c_root/binary_c/src -L/usr/lib/x86_64-linux-gnu -L/home/david/.local/lib -L/home/david/projects/binary_c_root/binary_c/src -lc -lgsl -lgslcblas -lm -ldl -lz -lpthread -lbacktrace -lbsd -lrinterpolate -lbinary_c\n", + "\tinc = -I/home/david/projects/binary_c_root/binary_c -I/home/david/projects/binary_c_root/binary_c/src -I/home/david/.local/include -I/home/david/projects/binary_c_root/binary_c/src\n", + "\n", + "\n", + "Building shared library for custom logging with (binary_c.h) on david-Lenovo-IdeaPad-S340-14IWL\n", + "\n", + "Executing following command to compile the shared library:\n", + "cc -fPIC -DALIGNSIZE=8 -std=gnu11 -fstrict-aliasing -Wstrict-aliasing -g -Wpedantic -Wshadow -Wno-variadic-macros -fstack-protector-all -rdynamic -march=native -mtune=native -fno-associative-math -fno-math-errno -ffinite-math-only -fno-rounding-math -fno-signaling-nans -fcx-limited-range -fexcess-precision=fast -fno-unsafe-math-optimizations -fno-finite-math-only -fsignaling-nans -fomit-frame-pointer -fasynchronous-unwind-tables -export-dynamic -O0 -DCPUFREQ=3900 -DBINUTILS_VERSION=2.30 -DOPERATING_SYSTEM=linux -DLINUX -DPOSIX -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__HAVE_LINK_H -D__HAVE_GNU_QSORT_R -D__HAVE_NATIVE_EXP10 -D__HAVE_POSIX_FADVISE -DFPU_CONTROL -DGIT_REVISION=6101:20210807:c5232be5c -DGIT_URL=gitlab@gitlab.eps.surrey.ac.uk:ri0005/binary_c.git -DGIT_BRANCH=branch_david -D__HAVE_LIBC__ -D__HAVE_LIBGSL__ -I/usr/include -D__HAVE_LIBGSLCBLAS__ -D__HAVE_LIBDL__ -D__HAVE_LIBZ__ -D__HAVE_LIBPTHREAD__ -D__HAVE_LIBBACKTRACE__ -D__HAVE_LIBBSD__ -D__HAVE_LIBM__ -D__HAVE_LIBRINTERPOLATE__ -D__HAVE_IEEE754_H__ -D__HAVE_DRAND48__ -D__HAVE_HSEARCH_DATA__ -D__HAVE_MALLOC_H__ -D__HAVE_SETITIMER__ -D__HAVE_HAS_INCLUDE -D__HAVE_PKG_CONFIG__ -D__HAVE_VALGRIND__ -D__SHOW_STARDATA__ -D__DIFF_STARDATA__ -D__HAVE_7Z__ -D__HAVE_BZCAT__ -D__HAVE_ZCAT__ -O0 -shared -D_SEARCH_H -L/home/david/projects/binary_c_root/binary_c/src -L/usr/lib/x86_64-linux-gnu -L/home/david/.local/lib -L/home/david/projects/binary_c_root/binary_c/src -lc -lgsl -lgslcblas -lm -ldl -lz -lpthread -lbacktrace -lbsd -lrinterpolate -lbinary_c -o /tmp/binary_c_python/custom_logging/libcustom_logging_b5166563ed644682b56cfd1091b45970.so /tmp/binary_c_python/custom_logging/custom_logging.c -I/home/david/projects/binary_c_root/binary_c -I/home/david/projects/binary_c_root/binary_c/src -I/home/david/.local/include -I/home/david/projects/binary_c_root/binary_c/src\n", + "loading shared library for custom logging\n", + "loaded shared library for custom logging. custom_output_function is loaded in memory at 140451845629180\n", + "Running binary_c M_1 10\n", + "Cleaning up the custom logging stuff. type: single\n", + "Removed /tmp/binary_c_python/custom_logging/libcustom_logging_b5166563ed644682b56cfd1091b45970.so\n", + "[['time', 'mass', 'initial_mass', 'stellar_type'], [0.0, 10.0, 0.0, 10.0, 1.0], [0.0, 10.0, 10.0, 10.0, 1.0], [1e-06, 10.0, 10.0, 10.0, 1.0]]\n", + "dict_keys(['time', 'mass', 'initial_mass', 'stellar_type'])\n" + ] + } + ], + "source": [ + "example_pop.set(\n", + " parse_function=object_parse_function,\n", + " output_dir='/tmp/'\n", + ")\n", + "output = example_pop.evolve_single()\n", + "print(output[:4])\n", + "\n", + "# Example of loading the data that was written\n", + "with open(os.path.join(example_pop.custom_options['output_dir'], 'example_output.json')) as f:\n", + " written_data = json.loads(f.read())\n", + "\n", + "print(written_data.keys())" + ] + }, + { + "cell_type": "markdown", + "id": "ddc06da3-fc68-4c6f-8067-14ea862b964d", + "metadata": {}, + "source": [ + "## Single system via API functionality\n", + "It is possible to construct your own functionality to run a single system by directly calling the API function to run a system. Under the hood all the other functions and wrappers actually use this API.\n", + "\n", + "There are less failsafes for this method, so this make sure the input is correct and binary_c knows all the arguments you pass in." + ] + }, + { + "cell_type": "markdown", + "id": "56886792-d379-4eac-b0d4-54508edb39c7", + "metadata": {}, + "source": [ + "First we must construct the argument string that we pass to binary_c" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "ec48125c-6bf5-48f4-9357-8261800b5d8b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SINGLE_STAR_LIFETIME 15 14.2383\n", + "\n" + ] + } + ], + "source": [ + "# For a binary system we need to pass in these arguments\n", + "M_1 = 15.0 # Msun\n", + "M_2 = 14.0 # Msun\n", + "separation = 0 # 0 = ignored, use period\n", + "orbital_period = 4530.0 # days\n", + "eccentricity = 0.0\n", + "metallicity = 0.02\n", + "max_evolution_time = 15000 # Myr. You need to include this argument.\n", + "\n", + "# Here we set up the argument string that is passed to the bindings\n", + "argstring = \"\"\"\n", + "binary_c M_1 {M_1} M_2 {M_2} separation {separation} orbital_period {orbital_period} eccentricity {eccentricity} metallicity {metallicity} max_evolution_time {max_evolution_time}\n", + "\"\"\".format(\n", + " M_1=M_1,\n", + " M_2=M_2,\n", + " separation=separation,\n", + " orbital_period=orbital_period,\n", + " eccentricity=eccentricity,\n", + " metallicity=metallicity,\n", + " max_evolution_time=max_evolution_time,\n", + ").strip()\n", + "\n", + "from binarycpython import _binary_c_bindings\n", + "\n", + "output = _binary_c_bindings.run_system(argstring)\n", + "print(output)" + ] + }, + { + "cell_type": "markdown", + "id": "55c8ea24-0fc0-452c-8121-1e7667433479", + "metadata": {}, + "source": [ + "As we can see above, the output is rather empty. But if SINGLE_STAR_LIFETIME is printed we know we caught the output correctly. To get actual output we should have timesteps printed in the `log_every_timestep.c` in binary_c, or add some custom_logging (see notebook_custom_logging) " + ] + }, + { + "cell_type": "markdown", + "id": "cb305354-6033-4270-bba7-e07555ce1e95", + "metadata": {}, + "source": [ + "# Example of handling the data" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "d663bc6e-a15f-4274-8617-61afb0f69fde", + "metadata": {}, + "outputs": [], + "source": [ + "def run_example_binary_with_run_system():\n", + " \"\"\"\n", + " This function serves as an example on the function run_system and parse_output.\n", + " There is more functionality with this method and several tasks are done behind the scene.\n", + "\n", + " Requires pandas, numpy to run.\n", + "\n", + " run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background\n", + " parse_output: Takes the raw output of binary_c and selects those lines that start with the given header.\n", + " Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header\n", + "\n", + " The parsing of the output only works correctly if either all of the values are described inline like `mass=<number>' or none of them are.\n", + " \"\"\"\n", + "\n", + " import pandas as pd\n", + " import numpy as np\n", + "\n", + " # Run system. all arguments can be given as optional arguments.\n", + " output = run_system(M_1=10, M_2=20, separation=0, orbital_period=100000000000)\n", + "\n", + " # print(output)\n", + "\n", + " # Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", + " result_example_header_1 = example_parse_output(\n", + " output, selected_header=\"example_header_1\"\n", + " )\n", + " result_example_header_2 = example_parse_output(\n", + " output, selected_header=\"example_header_2\"\n", + " )\n", + "\n", + " # print(result_example_header_1)\n", + "\n", + " #### Now do whatever you want with it:\n", + " # Put it in numpy arrays\n", + " # t_res = np.asarray(result_example_header['t'], dtype=np.float64, order='C')\n", + " # m_res = np.asarray(result_example_header['mass'], dtype=np.float64, order='C')\n", + "\n", + " # Or put them into a pandas array\n", + "\n", + " # Cast the data into a dataframe.\n", + " # This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..'\n", + " print(result_example_header_1)\n", + " df = pd.DataFrame.from_dict(result_example_header_1, dtype=np.float64)\n", + " print(df)\n", + "\n", + " # This example has column headers which are numbered, but we can override that with custom headers.\n", + " df2 = pd.DataFrame.from_dict(result_example_header_2, dtype=np.float64)\n", + " df2.columns = [\"time\", \"mass_1\", \"mass_2\", \"st1\", \"st2\", \"sep\", \"ecc\"]\n", + " print(df2)\n", + "\n", + " # print(df)\n", + " # sliced_df = df[df.t < 1000] # Cut off late parts of evolution\n", + " # print(sliced_df[[\"t\",\"m1\"]])\n", + "\n", + " # Some routine to plot.\n", + "\n", + "\n", + "# run_example_binary_with_run_system()\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "ec3ebc81-daf5-4052-8e71-3034ea8d764b", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "afbe134c-e124-486c-9bcf-98187b35fe4a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebook_population.ipynb b/examples/notebook_population.ipynb index 8d2bdbf98..b121d0f55 100644 --- a/examples/notebook_population.ipynb +++ b/examples/notebook_population.ipynb @@ -5,7 +5,8 @@ "id": "bbbaafbb-fd7d-4b73-a970-93506ba35d71", "metadata": {}, "source": [ - "# Title page\n" + "# Setting up populations\n", + "This notebook will show you how to evolve a population of stars\n" ] }, { @@ -23,7 +24,7 @@ " create_hdf5,\n", " output_lines,\n", ")\n", - "from binarycpython.utils.custom_logging_functions import temp_dir\n" + "from binarycpython.utils.custom_logging_functions import temp_dir" ] }, { @@ -323,7 +324,7 @@ } ], "source": [ - "create_hdf5(data_dir=example_pop.custom_options[\"data_dir\"], name=\"example_pop.hdf5\")\n" + "create_hdf5(data_dir=example_pop.custom_options[\"data_dir\"], name=\"example_pop.hdf5\")" ] }, { @@ -332,7 +333,210 @@ "id": "34da69bc-fe60-4a9d-b07a-f6cd2f216964", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "\n", + "\n", + "import os\n", + "from binarycpython.utils.grid import Population\n", + "from binarycpython.utils.functions import (\n", + " get_help_all,\n", + " get_help,\n", + " create_hdf5,\n", + " output_lines,\n", + ")\n", + "from binarycpython.utils.custom_logging_functions import temp_dir\n", + "\n", + "#########################################################\n", + "# This file serves as an example for running a population.\n", + "# The use of help(<function>) is a good way to inspect what parameters are there to use\n", + "#########################################################\n", + "\n", + "\n", + "def parse_function(self, output):\n", + " # EXAMPLE PARSE_FUNCTION\n", + "\n", + " # extract info from the population instance\n", + "\n", + " # Get some information from the\n", + " data_dir = self.custom_options[\"data_dir\"]\n", + " base_filename = self.custom_options[\"base_filename\"]\n", + "\n", + " # Check directory, make if necessary\n", + " os.makedirs(data_dir, exist_ok=True)\n", + "\n", + " seperator = \" \"\n", + "\n", + " # Create filename\n", + " outfilename = os.path.join(data_dir, base_filename)\n", + "\n", + " parameters = [\"time\", \"mass\", \"zams_mass\", \"probability\", \"radius\", \"stellar_type\"]\n", + "\n", + " # Go over the output.\n", + " for el in output_lines(output):\n", + " headerline = el.split()[0]\n", + "\n", + " # CHeck the header and act accordingly\n", + " if headerline == \"MY_STELLAR_DATA\":\n", + " values = el.split()[1:]\n", + " print(values)\n", + "\n", + " if not len(parameters) == len(values):\n", + " print(\"Amount of column names isnt equal to amount of columns\")\n", + " raise ValueError\n", + "\n", + " if not os.path.exists(outfilename):\n", + " with open(outfilename, \"w\") as f:\n", + " f.write(seperator.join(parameters) + \"\\n\")\n", + "\n", + " with open(outfilename, \"a\") as f:\n", + " f.write(seperator.join(values) + \"\\n\")\n", + "\n", + "\n", + "# Create population object\n", + "example_pop = Population()\n", + "\n", + "# If you want verbosity, set this before other things\n", + "example_pop.set(verbose=1)\n", + "\n", + "# Setting values can be done via .set(<parameter_name>=<value>)\n", + "# Values that are known to be binary_c_parameters are loaded into bse_options.\n", + "# Those that are present in the default grid_options are set in grid_options\n", + "# All other values that you set are put in a custom_options dict\n", + "example_pop.set(\n", + " # binary_c physics options\n", + " M_1=10, # bse_options\n", + " separation=0, # bse_options\n", + " orbital_period=45000000080, # bse_options\n", + " max_evolution_time=15000, # bse_options\n", + " eccentricity=0.02, # bse_options\n", + " # Set companion to low mass\n", + " M_2=0.08, # Since in the example we run a single system, we should set the companion mass here. If we donm't do this, the code will complain.\n", + " # grid_options\n", + " amt_cores=2, # grid_options\n", + " verbose=1, # verbosity. Not fully configured correctly yet but having it value of 1 prints alot of stuff\n", + " # Custom options # TODO: need to be set in grid_options probably\n", + " data_dir=os.path.join(\n", + " temp_dir(), \"example_python_population_result\"\n", + " ), # custom_options\n", + " base_filename=\"example_pop.dat\", # custom_options\n", + ")\n", + "\n", + "# Creating a parsing function\n", + "example_pop.set(\n", + " parse_function=parse_function, # Setting the parse function thats used in the evolve_population\n", + ")\n", + "\n", + "### Custom logging\n", + "\n", + "## Below example requires changing the parse function\n", + "## very simple example of custom logging. Will work but need to change the parse function to handle that nicely.\n", + "# example_pop.set(\n", + "# C_auto_logging={\n", + "# \"MY_HEADER_LINE\": [\"star[0].mass\", \"star[1].mass\", \"model.probability\"]\n", + "# }\n", + "# )\n", + "\n", + "\n", + "# Log the moment when the star turns into neutron\n", + "example_pop.set(\n", + " C_logging_code=\"\"\"\n", + "if(stardata->star[0].stellar_type >= 13) \n", + "{\n", + " if (stardata->model.time < stardata->model.max_evolution_time)\n", + " {\n", + " Printf(\"MY_STELLAR_DATA %30.12e %g %g %g %g %d\\\\n\",\n", + " // \n", + " stardata->model.time, // 1\n", + " stardata->star[0].mass, // 2\n", + " stardata->common.zero_age.mass[0], // 4\n", + " stardata->model.probability, // 5\n", + " stardata->star[0].radius, // 6\n", + " stardata->star[0].stellar_type // 7\n", + " );\n", + " };\n", + " /* Kill the simulation to save time */\n", + " stardata->model.max_evolution_time = stardata->model.time - stardata->model.dtm;\n", + "};\n", + "\"\"\"\n", + ")\n", + "\n", + "# Add grid variables\n", + "resolution = {\"M_1\": 20, \"q\": 20, \"per\": 40}\n", + "\n", + "# Mass\n", + "example_pop.add_grid_variable(\n", + " name=\"lnm1\",\n", + " longname=\"Primary mass\",\n", + " valuerange=[2, 150],\n", + " resolution=\"{}\".format(resolution[\"M_1\"]),\n", + " spacingfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n", + " precode=\"M_1=math.exp(lnm1)\",\n", + " probdist=\"three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1\",\n", + " dphasevol=\"dlnm1\",\n", + " parameter_name=\"M_1\",\n", + " condition=\"\", # Impose a condition on this grid variable. Mostly for a check for yourself\n", + ")\n", + "\n", + "# # Mass ratio\n", + "# test_pop.add_grid_variable(\n", + "# name=\"q\",\n", + "# longname=\"Mass ratio\",\n", + "# valuerange=[\"0.1/M_1\", 1],\n", + "# resolution=\"{}\".format(resolution['q']),\n", + "# spacingfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n", + "# probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n", + "# dphasevol=\"dq\",\n", + "# precode=\"M_2 = q * M_1\",\n", + "# parameter_name=\"M_2\",\n", + "# condition=\"\", # Impose a condition on this grid variable. Mostly for a check for yourself\n", + "# )\n", + "\n", + "# #\n", + "# test_pop.add_grid_variable(\n", + "# name=\"log10per\", # in days\n", + "# longname=\"log10(Orbital_Period)\",\n", + "# valuerange=[0.15, 5.5],\n", + "# resolution=\"{}\".format(resolution[\"per\"]),\n", + "# spacingfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n", + "# precode=\"\"\"orbital_period = 10** log10per\n", + "# sep = calc_sep_from_period(M_1, M_2, orbital_period)\n", + "# sep_min = calc_sep_from_period(M_1, M_2, 10**0.15)\n", + "# sep_max = calc_sep_from_period(M_1, M_2, 10**5.5)\"\"\",\n", + "# probdist=\"sana12(M_1, M_2, sep, orbital_period, sep_min, sep_max, math.log10(10**0.15), math.log10(10**5.5), -0.55)\",\n", + "# parameter_name=\"orbital_period\",\n", + "# dphasevol=\"dlog10per\",\n", + "# )\n", + "\n", + "\n", + "# Exporting of all the settings can be done with .export_all_info()\n", + "# on default it exports everything, but can be supressed by turning it off:\n", + "# population settings (bse_options, grid_options, custom_options), turn off with include_population\n", + "# settings=False\n", + "# binary_c_defaults (all the commandline arguments that binary c accepts, and their defaults).\n", + "# turn off with include_binary_c_defaults=False\n", + "# include_binary_c_version_info (all the compilation info, and information about the compiled\n", + "# parameters), turn off with include_binary_c_version_info=False\n", + "# include_binary_c_help_all (all the help information for all the binary_c parameters),\n", + "# turn off with include_binary_c_help_all=Fase\n", + "# On default it will write this to the custom_options['data_dir'], but that can be overriden by\n", + "# setting use_datadir=False and providing an outfile=<>\n", + "example_pop.export_all_info()\n", + "\n", + "## Executing a single system\n", + "## This uses the M_1 orbital period etc set with the set function\n", + "# output = example_pop.evolve_single()\n", + "# print(output)\n", + "\n", + "## Executing a population\n", + "## This uses the values generated by the grid_variables\n", + "example_pop.evolve() # TODO: update this function call\n", + "\n", + "# Wrapping up the results to an hdf5 file can be done by using the create_hdf5\n", + "# (<directory containing data and settings>) This function takes the settings file\n", + "# (ending in _settings.json) and the data files (ending in .dat) from the data_dir\n", + "# and packing them into an hdf5 file, which is then written into the same data_dir directory\n", + "create_hdf5(data_dir=example_pop.custom_options[\"data_dir\"], name=\"example_pop.hdf5\")\n" + ] } ], "metadata": { diff --git a/examples/notebooks/.ipynb_checkpoints/workshop_example_notebook-checkpoint.ipynb b/examples/notebooks/.ipynb_checkpoints/workshop_example_notebook-checkpoint.ipynb deleted file mode 100644 index 163d9c5fc..000000000 --- a/examples/notebooks/.ipynb_checkpoints/workshop_example_notebook-checkpoint.ipynb +++ /dev/null @@ -1,641 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "# Binary_c and python example notebook\n", - "The following notebook servers as an example of how the binary_c python wrapper works and how it could be used.\n", - "\n", - "By: David Hendriks 30 nov 2019" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "Collapsed": "false" - }, - "outputs": [], - "source": [ - "import binarycpython\n", - "import binary_c_python_api" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "## Core api wrapper functions:" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "### run_binary()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "Collapsed": "false" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "Binary_c output:\n", - "\n", - "\n", - "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 0 15 14 1 1 3540.3 0\n", - "INITIAL_GRID 15 14 4530 0.02 1 0\n", - "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 0 15 14 1 1 3540.3 0\n", - "INITIAL_GRID 15 14 4530 0.02 1 0\n", - "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 1e-07 15 14 1 1 3540.3 0\n", - "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 2e-07 15 14 1 1 3540.3 0\n" - ] - } - ], - "source": [ - "m1 = 15.0 # Msun\n", - "m2 = 14.0 # Msun\n", - "separation = 0 # 0 = ignored, use period\n", - "orbital_period = 4530.0 # days\n", - "eccentricity = 0.0\n", - "metallicity = 0.02\n", - "max_evolution_time = 15000 # You need to set this!\n", - "\n", - "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", - " m1,\n", - " m2,\n", - " separation,\n", - " orbital_period,\n", - " eccentricity,\n", - " metallicity,\n", - " max_evolution_time,\n", - ")\n", - "\n", - "output = binary_c_python_api.run_binary(argstring)\n", - "\n", - "print(\"\\n\\nBinary_c output:\\n\\n\")\n", - "print('\\n'.join(output.split('\\n')[:10]))" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "### run_binary_with_log" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "Collapsed": "false" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True\n", - " TIME M1 M2 K1 K2 SEP ECC R1/ROL1 R2/ROL2 TYPE RANDOM_SEED=7106 RANDOM_COUNT=0\n", - " 0.0000 15.000 14.000 1 1 2.786e+08 0.00 0.000 0.000 INITIAL \n", - " 12.7509 14.645 13.776 2 1 2.8427e+08 0.00 0.000 0.000 TYPE_CHNGE\n", - " 12.7773 14.639 13.775 4 1 2.8435e+08 0.00 0.000 0.000 TYPE_CHNGE\n", - " 13.1380 13.748 13.758 4 1 2.9373e+08 0.00 0.000 0.000 q-inv\n", - " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 OFF_MS\n", - " 14.0900 10.830 13.705 4 2 3.2934e+08 0.00 0.000 0.000 TYPE_CHNGE\n", - " 14.1204 10.726 13.700 4 4 3.3081e+08 0.00 0.000 0.000 TYPE_CHNGE\n", - " 14.2118 10.410 13.566 5 4 3.3702e+08 0.00 0.000 0.000 TYPE_CHNGE\n", - " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 Randbuf=34421 - d48r(0)=0.0570946 - d48r(1)=0.458272 - d48r(2)=0.13108 - d48r(3)=0.562029 - d48r(4)=0.924056 \n", - " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.89211 Mc=4.78817 type=5) -> kick 1(190) vk=302.148 vr=0.113492 omega=5.80602 phi=0.124379 -> vn=302.048 ; final sep -31.2365 ecc -1 (random count 0) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", - " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", - " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 DISRUPT \n", - " 14.2646 1.472 13.462 13 4 -31.236 -1.00 0.000 0.000 SN\n", - " 15.7087 1.472 10.210 13 5 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", - " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 d48r(5)=0.608402 - d48r(6)=0.696003 - d48r(7)=0.796455 - d48r(8)=0.0834973 \n", - " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN kick II (SN type 12 12, pre-explosion M=9.85661 Mc=4.3914 type=5) -> kick 1(190) vk=392.156 vr=0 omega=0.524629 phi=0.634667 -> vn=392.156 ; final sep -31.2365 ecc -1 (random count 5) - Runaway v=(0,0,0) |v|=0 : companion v=(0,0,0), |v|=0 ; \n", - " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 TYPE_CHNGE\n", - " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 q-inv\n", - " 15.7695 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 SN\n", - " 15000.0000 1.472 1.444 13 13 -31.236 -1.00 0.000 0.000 MAX_TIME\n", - "Probability : 1\n", - "\n" - ] - } - ], - "source": [ - "import tempfile\n", - "import os\n", - "\n", - "m1 = 15.0 # Msun\n", - "m2 = 14.0 # Msun\n", - "separation = 0 # 0 = ignored, use period\n", - "orbital_period = 4530.0 # days\n", - "eccentricity = 0.0\n", - "metallicity = 0.02\n", - "max_evolution_time = 15000 # You need to set this!\n", - "log_filename=tempfile.gettempdir() + \"/test_log.txt\"\n", - "\n", - "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} log_filename {7} \".format(\n", - " m1,\n", - " m2,\n", - " separation,\n", - " orbital_period,\n", - " eccentricity,\n", - " metallicity,\n", - " max_evolution_time,\n", - " log_filename,\n", - ")\n", - "\n", - "output = binary_c_python_api.run_binary(argstring)\n", - "\n", - "print(os.path.exists(log_filename))\n", - "\n", - "with open(log_filename, 'r') as f:\n", - " print(f.read())\n", - "\n", - "\n", - "# print(\"\\n\\nBinary_c output:\\n\\n\")\n", - "# print(output)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "### run binary with custom logging line" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "Collapsed": "false" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 0 15 14 1 1 3540.3 0\n", - "INITIAL_GRID 15 14 4530 0.02 1 0\n", - "MY_STELLAR_DATA time=0 mass=15\n", - "example_header_1 time=0 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 0 15 14 1 1 3540.3 0\n", - "INITIAL_GRID 15 14 4530 0.02 1 0\n", - "MY_STELLAR_DATA time=0 mass=15\n", - "example_header_1 time=1e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 1e-07 15 14 1 1 3540.3 0\n", - "MY_STELLAR_DATA time=1e-07 mass=15\n", - "example_header_1 time=2e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 2e-07 15 14 1 1 3540.3 0\n", - "MY_STELLAR_DATA time=2e-07 mass=15\n", - "example_header_1 time=3e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 3e-07 15 14 1 1 3540.3 0\n", - "MY_STELLAR_DATA time=3e-07 mass=15\n", - "example_header_1 time=4e-07 mass_1=15 mass_2=14 st1=1 st2=1 sep=3540.3 ecc=0\n", - "example_header_2 4e-07 15 14 1 1 3540.3 0\n", - "MY_STELLAR_DATA time=4e-07 mass=15\n" - ] - } - ], - "source": [ - "from binarycpython.utils import custom_logging_functions\n", - "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", - "# this generates working print statements\n", - "logging_line = custom_logging_functions.autogen_C_logging_code(\n", - " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", - ")\n", - "# OR\n", - "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", - "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", - "\n", - "# Generate entire shared lib code around logging lines\n", - "custom_logging_code = custom_logging_functions.binary_c_log_code(logging_line)\n", - "# print(custom_logging_code)\n", - "\n", - "# Make this code into a shared library and the function into memory\n", - "func_memaddr = custom_logging_functions.create_and_load_logging_function(custom_logging_code)\n", - "\n", - "# Run system with custom logging code\n", - "m1 = 15.0 # Msun\n", - "m2 = 14.0 # Msun\n", - "separation = 0 # 0 = ignored, use period\n", - "orbital_period = 4530.0 # days\n", - "eccentricity = 0.0\n", - "metallicity = 0.02\n", - "max_evolution_time = 15000 # You need to set this!\n", - "\n", - "argstring = \"binary_c M_1 {0:g} M_2 {1:g} separation {2:g} orbital_period {3:g} eccentricity {4:g} metallicity {5:g} max_evolution_time {6:g} \".format(\n", - " m1,\n", - " m2,\n", - " separation,\n", - " orbital_period,\n", - " eccentricity,\n", - " metallicity,\n", - " max_evolution_time,\n", - ")\n", - "\n", - "output = binary_c_python_api.run_binary_custom_logging(argstring, func_memaddr)\n", - "print('\\n'.join(output.split('\\n')[:20]))" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "## Using utils functions\n", - "In the utils.functions there are some functions that make it easier to interact with the core api functions. " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "### run_system()\n", - "This function serves as an example on the function run_system and parse_output. \n", - "There is more functionality with this method and several tasks are done behind the scene.\n", - "\n", - "Requires pandas, numpy to run.\n", - "\n", - "run_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background\n", - "parse_output: Takes the raw output of binary_c and selects those lines that start with the given header. \n", - "Note, if you dont use the custom_logging functionality binary_c should be configured to have output that starts with that given header\n", - "\n", - "The parsing of the output only works correctly if either all of the values are described inline like `mass=<number>' or none of them are. " - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "Collapsed": "false" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", - "example_header_2 0 10 20 1 1 2.81762e+08 0\n", - "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", - "example_header_1 time=0 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", - "example_header_2 0 10 20 1 1 2.81762e+08 0\n", - "INITIAL_GRID 10 20 1e+11 0.02 1 0\n", - "example_header_1 time=1e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", - "example_header_2 1e-07 10 20 1 1 2.81762e+08 0\n", - "example_header_1 time=2e-07 mass_1=10 mass_2=20 st1=1 st2=1 sep=2.81762e+08 ecc=0\n", - "example_header_2 2e-07 10 20 1 1 2.81762e+08 0\n", - "\n", - "\n", - "\n", - " time mass_1 mass_2 st1 st2 sep ecc\n", - "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "... ... ... ... ... ... ... ...\n", - "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "\n", - "[3932 rows x 7 columns]\n", - " time mass_1 mass_2 st1 st2 sep ecc\n", - "0 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "1 0.000000e+00 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "2 1.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "3 2.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "4 3.000000e-07 10.00000 20.00000 1.0 1.0 2.817620e+08 0.0\n", - "... ... ... ... ... ... ... ...\n", - "3927 1.102750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "3928 1.202750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "3929 1.302750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "3930 1.402750e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "3931 1.500000e+04 1.33817 1.62124 13.0 13.0 -4.896110e+01 -1.0\n", - "\n", - "[3932 rows x 7 columns]\n" - ] - } - ], - "source": [ - "from binarycpython.utils.functions import run_system, parse_output\n", - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "# Run system. all arguments can be given as optional arguments.\n", - "output = run_system(M_1=10, M_2=20, separation=0, orbital_period=100000000000)\n", - "\n", - "print('\\n'.join(output.split('\\n')[:10]))\n", - "\n", - "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", - "result_example_header_1 = parse_output(output, selected_header=\"example_header_1\")\n", - "result_example_header_2 = parse_output(output, selected_header=\"example_header_2\")\n", - "\n", - "# print(result_example_header_1)\n", - "\n", - "#### Now do whatever you want with it:\n", - "# Or put them into a pandas array\n", - "\n", - "# Cast the data into a dataframe.\n", - "# This example automatically catches the column names because the binary_c output line is constructed as 'example_header_1 time=<number>..'\n", - "print('\\n\\n')\n", - "\n", - "df = pd.DataFrame.from_dict(result_example_header_1, dtype=np.float64)\n", - "print(df)\n", - "\n", - "# This example has column headers which are numbered, but we can override that with custom headers.\n", - "df2 = pd.DataFrame.from_dict(result_example_header_2, dtype=np.float64)\n", - "df2.columns=['time', 'mass_1', 'mass_2', 'st1', 'st2', 'sep', 'ecc']\n", - "print(df2)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "### run_system() and custom logging\n", - "Function that will use a automatically generated piece of logging code. Compile it, load it \n", - "into memory and run a binary system. See run_system on how several things are done in the background here.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "Collapsed": "false" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " time mass\n", - "0 0.000000e+00 1.000000\n", - "1 0.000000e+00 1.000000\n", - "2 1.000000e-07 1.000000\n", - "3 2.000000e-07 1.000000\n", - "4 3.000000e-07 1.000000\n", - "... ... ...\n", - "3630 1.131680e+04 0.627748\n", - "3631 1.231680e+04 0.627748\n", - "3632 1.331680e+04 0.627748\n", - "3633 1.431680e+04 0.627748\n", - "3634 1.500000e+04 0.627748\n", - "\n", - "[3635 rows x 2 columns]\n" - ] - } - ], - "source": [ - "from binarycpython.utils.custom_logging_functions import (\n", - " autogen_C_logging_code,\n", - " binary_c_log_code,\n", - ")\n", - "\n", - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "# generate logging lines. Here you can choose whatever you want to have logged, and with what header\n", - "# this generates working print statements\n", - "logging_line = autogen_C_logging_code(\n", - " {\"MY_STELLAR_DATA\": [\"model.time\", \"star[0].mass\"],}\n", - ")\n", - "# OR\n", - "# You can also decide to `write` your own logging_line, which allows you to write a more complex logging statement with conditionals.\n", - "logging_line = 'Printf(\"MY_STELLAR_DATA time=%g mass=%g\\\\n\", stardata->model.time, stardata->star[0].mass)'\n", - "\n", - "# Generate entire shared lib code around logging lines\n", - "custom_logging_code = binary_c_log_code(logging_line)\n", - "\n", - "# Run system. all arguments can be given as optional arguments. the custom_logging_code is one of them and will be processed automatically.\n", - "output = run_system(\n", - " M_1=1,\n", - " metallicity=0.002,\n", - " M_2=0.1,\n", - " separation=0,\n", - " orbital_period=100000000000,\n", - " custom_logging_code=custom_logging_code,\n", - ")\n", - "\n", - "# Catch results that start with a given header. (Mind that binary_c has to be configured to print them if your not using a custom logging function)\n", - "# DOESNT WORK YET if you have the line autogenerated.\n", - "result_example_header = parse_output(output, \"MY_STELLAR_DATA\")\n", - "\n", - "# Cast the data into a dataframe.\n", - "df = pd.DataFrame.from_dict(result_example_header, dtype=np.float64)\n", - "\n", - "# Do whatever you like with the dataframe.\n", - "print(df)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "Collapsed": "false" - }, - "source": [ - "## Other example\n", - "Checking how much mass stars lose on the main sequence." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "Collapsed": "false" - }, - "outputs": [], - "source": [ - "def run_and_calc_mass(**kwargs):\n", - " \"\"\"\n", - " Function to run a given system and look at the mass lost in the main sequence of the star\n", - " \"\"\"\n", - " # start = time.time()\n", - " output = run_system(**kwargs)\n", - " result = parse_output(output, 'example_header_1')\n", - " # stop = time.time()\n", - " # print(\"Took {:.2f}s to run single system\".format(stop-start))\n", - " # print(\"The following keys are present in the results:\\n{}\".format(result.keys()))\n", - " # print(len(result))\n", - "\n", - " #### Now do whatever you want with it: \n", - "\n", - " # Cast the data into a dataframe. \n", - " df = pd.DataFrame.from_dict(result, dtype=np.float64)\n", - "\n", - " # Get last change moment\n", - " last_st = df['st1'].unique()[-1]\n", - " last_stellar_type_change_time_1 = df[df.st1==last_st]['time'].iloc[0]\n", - "\n", - " # slice to get that last time\n", - " sliced_df = df[df.time < last_stellar_type_change_time_1] # Cut off late parts of evolution\n", - "\n", - " main_sequence = sliced_df[sliced_df.st1==1]\n", - " \n", - " initial_mass = main_sequence.iloc[0].mass_1\n", - " final_mass = main_sequence.iloc[-1].mass_1\n", - " \n", - " initial_time = main_sequence.iloc[0].time\n", - " final_time = main_sequence.iloc[-1].time\n", - " \n", - " mass_lost = initial_mass - final_mass\n", - " fraction = mass_lost/initial_mass\n", - "\n", - " # Return the mass fraction (wrt initial mass)\n", - " return fraction\n" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "Collapsed": "false" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Took 14.214274644851685s\n" - ] - } - ], - "source": [ - "import time\n", - "\n", - "metallicity_002 = 0.02\n", - "metallicity_001 = 0.01\n", - "metallicity_0002 = 0.002\n", - "\n", - "mass_range = np.arange(1, 25, .5)\n", - "\n", - "start = time.time()\n", - "fractions_z002 = [run_and_calc_mass(M_1=mass, \n", - " M_2=10, \n", - " separation=0, \n", - " orbital_period=100000000000, \n", - " metallicity=metallicity_002, \n", - " effective_metallicity=metallicity_002) \n", - " for mass in mass_range]\n", - "\n", - "fractions_z001 = [run_and_calc_mass(M_1=mass, \n", - " M_2=10, \n", - " separation=0, \n", - " orbital_period=100000000000, \n", - " metallicity=metallicity_001, \n", - " effective_metallicity=metallicity_001) \n", - " for mass in mass_range]\n", - "\n", - "fractions_z0002 = [run_and_calc_mass(M_1=mass, \n", - " M_2=10, \n", - " separation=0, \n", - " orbital_period=100000000000, \n", - " metallicity=metallicity_0002, \n", - " effective_metallicity=metallicity_0002) \n", - " for mass in mass_range]\n", - "stop = time.time()\n", - "print(\"Took {}s\".format(stop-start))" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "Collapsed": "false" - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 864x576 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12,8))\n", - "\n", - "ax.plot(mass_range, fractions_z002, '--', label='Z=0.02')\n", - "ax.plot(mass_range, fractions_z001, '-.', label='Z=0.01')\n", - "ax.plot(mass_range, fractions_z0002, '-', label='Z=0.002')\n", - "\n", - "ax.set_xlabel(r'Initial Mass ($M_{\\odot}$)', fontsize=18)\n", - "ax.set_ylabel(r'Fraction of total initial mass lost on main sequence', fontsize=18)\n", - "ax.set_title('Fraction of total initial mass lost during main sequence for different metallicities', fontsize=18)\n", - "ax.legend()\n", - "ax.set_yscale('log')\n", - "#save_loop(name='plots/mass_loss_MS.{format}', formats=['pdf', 'png', 'eps'], bbox_inches='tight')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "Collapsed": "false" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.4" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/examples/notebooks/workshop_example_notebook.pdf b/examples/notebooks/workshop_example_notebook.pdf deleted file mode 100644 index 3e24ccc14b6e6ad9875420da4498337ad928d5ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103581 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%0AQI1MCC{sM3M~@CV3&NTC}( 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%0D1Fa;P|_BE`}ZN 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�<y>nsc5KK) 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 diff --git a/examples/notebooks/workshop_example_notebook.ipynb b/examples/workshop_example_notebook.ipynb similarity index 99% rename from examples/notebooks/workshop_example_notebook.ipynb rename to examples/workshop_example_notebook.ipynb index 163d9c5fc..4eca58797 100644 --- a/examples/notebooks/workshop_example_notebook.ipynb +++ b/examples/workshop_example_notebook.ipynb @@ -3,7 +3,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "tags": [] }, "source": [ "# Binary_c and python example notebook\n", @@ -16,7 +16,7 @@ "cell_type": "code", "execution_count": 16, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [], "source": [ @@ -27,7 +27,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "source": [ "## Core api wrapper functions:" @@ -36,7 +36,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "source": [ "### run_binary()\n" @@ -46,7 +46,7 @@ "cell_type": "code", "execution_count": 17, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [ { @@ -99,7 +99,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "source": [ "### run_binary_with_log" @@ -109,7 +109,7 @@ "cell_type": "code", "execution_count": 18, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [ { @@ -182,7 +182,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "source": [ "### run binary with custom logging line" @@ -192,7 +192,7 @@ "cell_type": "code", "execution_count": 19, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [ { @@ -266,7 +266,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "source": [ "## Using utils functions\n", @@ -276,7 +276,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "source": [ "### run_system()\n", @@ -296,7 +296,7 @@ "cell_type": "code", "execution_count": 20, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [ { @@ -382,7 +382,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "source": [ "### run_system() and custom logging\n", @@ -394,7 +394,7 @@ "cell_type": "code", "execution_count": 21, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [ { @@ -463,7 +463,7 @@ { "cell_type": "markdown", "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "source": [ "## Other example\n", @@ -474,7 +474,7 @@ "cell_type": "code", "execution_count": 12, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [], "source": [ @@ -521,7 +521,7 @@ "cell_type": "code", "execution_count": 13, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [ { @@ -573,7 +573,7 @@ "cell_type": "code", "execution_count": 22, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [ { @@ -611,7 +611,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "Collapsed": "false" + "heading_collapsed": "false" }, "outputs": [], "source": [] -- GitLab