From d7673a575c17419ef6debafaea6f63b610e1f65e Mon Sep 17 00:00:00 2001
From: dh00601 <dh00601@surrey.ac.uk>
Date: Sun, 6 Mar 2022 10:41:35 +0000
Subject: [PATCH] rebuilt the reports and the docs

---
 badges/docstring_coverage.svg                 |  20 +
 badges/test_coverage.svg                      |   4 +-
 .../doctrees/binary_c_parameters.doctree      | Bin 973859 -> 973827 bytes
 docs/build/doctrees/dicts.doctree             | Bin 104988 -> 105216 bytes
 docs/build/doctrees/environment.pickle        | Bin 893094 -> 899153 bytes
 .../notebook_api_functionality.doctree        | Bin 415930 -> 47518 bytes
 .../examples/notebook_custom_logging.doctree  | Bin 46032 -> 46503 bytes
 .../examples/notebook_ensembles.doctree       | Bin 0 -> 3016 bytes
 .../examples/notebook_extra_features.doctree  | Bin 21694 -> 21190 bytes
 .../notebook_individual_systems.doctree       | Bin 57907 -> 57289 bytes
 .../examples/notebook_population.doctree      | Bin 142821 -> 138736 bytes
 docs/build/doctrees/functions.doctree         | Bin 166538 -> 170333 bytes
 docs/build/doctrees/grid.doctree              | Bin 79342 -> 79368 bytes
 .../grid_options_descriptions.doctree         | Bin 107292 -> 107691 bytes
 .../examples/notebook_api_functionality.ipynb | 593 +-----------------
 .../examples/notebook_custom_logging.ipynb    |  14 +-
 .../examples/notebook_ensembles.ipynb         |  33 +
 .../examples/notebook_extra_features.ipynb    |  31 +-
 .../notebook_individual_systems.ipynb         |  49 +-
 .../examples/notebook_population.ipynb        | 373 +++++------
 .../population_extensions/HPC.doctree         | Bin 71759 -> 72786 bytes
 .../population_extensions/condor.doctree      | Bin 35257 -> 35327 bytes
 .../population_extensions/slurm.doctree       | Bin 34948 -> 34966 bytes
 docs/build/html/_images/test_coverage.svg     |   4 +-
 .../utils/custom_logging_functions.html       |   4 +-
 .../_modules/binarycpython/utils/dicts.html   |  38 +-
 .../binarycpython/utils/ensemble.html         |  14 +-
 .../binarycpython/utils/functions.html        |  17 +-
 .../_modules/binarycpython/utils/grid.html    |  75 ++-
 .../binarycpython/utils/plot_functions.html   |   4 +-
 .../utils/population_extensions/HPC.html      |  27 +-
 .../Moe_di_Stefano_2017.html                  |   4 +-
 .../population_extensions/analytics.html      |   5 +-
 .../utils/population_extensions/cache.html    |   4 +-
 .../utils/population_extensions/condor.html   |  24 +-
 .../utils/population_extensions/dataIO.html   |  18 +-
 .../distribution_functions.html               |   4 +-
 .../population_extensions/grid_logging.html   |   4 +-
 .../grid_options_defaults.html                |  11 +-
 .../utils/population_extensions/gridcode.html |   4 +-
 .../utils/population_extensions/metadata.html |   4 +-
 .../utils/population_extensions/slurm.html    |  33 +-
 .../spacing_functions.html                    |  14 +-
 .../population_extensions/version_info.html   |   4 +-
 .../utils/run_system_wrapper.html             |   4 +-
 .../binarycpython/utils/useful_funcs.html     |   4 +-
 docs/build/html/_modules/index.html           |   4 +-
 .../html/_sources/binary_c_parameters.rst.txt |   2 +-
 .../notebook_api_functionality.ipynb.txt      | 593 +-----------------
 .../notebook_custom_logging.ipynb.txt         |  14 +-
 .../examples/notebook_ensembles.ipynb.txt     |  33 +
 .../notebook_extra_features.ipynb.txt         |  31 +-
 .../notebook_individual_systems.ipynb.txt     |  49 +-
 .../examples/notebook_population.ipynb.txt    | 373 +++++------
 .../grid_options_descriptions.rst.txt         |   4 +-
 docs/build/html/binary_c_parameters.html      |   6 +-
 docs/build/html/custom_logging_functions.html |   4 +-
 docs/build/html/dicts.html                    |   5 +-
 docs/build/html/ensemble.html                 |   4 +-
 docs/build/html/example_notebooks.html        |   5 +-
 docs/build/html/examples/notebook_BHBH.html   |   4 +-
 docs/build/html/examples/notebook_HRD.html    |   4 +-
 .../examples/notebook_api_functionality.html  | 589 +----------------
 .../examples/notebook_api_functionality.ipynb | 593 +-----------------
 .../notebook_common_envelope_evolution.html   |   4 +-
 .../examples/notebook_custom_logging.html     |  15 +-
 .../examples/notebook_custom_logging.ipynb    |  14 +-
 .../html/examples/notebook_ensembles.html     | 390 ++++++++++++
 .../html/examples/notebook_ensembles.ipynb    |  33 +
 .../examples/notebook_extra_features.html     |  29 +-
 .../examples/notebook_extra_features.ipynb    |  31 +-
 .../examples/notebook_individual_systems.html |  47 +-
 .../notebook_individual_systems.ipynb         |  49 +-
 ...notebook_luminosity_function_binaries.html |   4 +-
 .../notebook_luminosity_function_single.html  |   4 +-
 .../examples/notebook_massive_remnants.html   |   4 +-
 .../html/examples/notebook_population.html    | 378 +++++------
 .../html/examples/notebook_population.ipynb   | 373 +++++------
 .../html/examples/notebook_solar_system.html  |   4 +-
 .../html/examples/old/basic_example.html      |   4 +-
 .../old/workshop_example_notebook.html        |   4 +-
 docs/build/html/functions.html                |  16 +-
 docs/build/html/genindex.html                 |  21 +-
 docs/build/html/grid.html                     |   6 +-
 .../build/html/grid_options_descriptions.html |   9 +-
 docs/build/html/index.html                    |   4 +-
 docs/build/html/modules.html                  |   4 +-
 docs/build/html/objects.inv                   | Bin 11410 -> 11532 bytes
 docs/build/html/plot_functions.html           |   4 +-
 .../build/html/population_extensions/HPC.html |  12 +-
 .../Moe_di_Stefano_2017.html                  |   4 +-
 .../html/population_extensions/analytics.html |   4 +-
 .../html/population_extensions/cache.html     |   4 +-
 .../html/population_extensions/condor.html    |   6 +-
 .../html/population_extensions/dataIO.html    |   4 +-
 .../distribution_functions.html               |   4 +-
 .../population_extensions/grid_logging.html   |   4 +-
 .../grid_options_defaults.html                |   4 +-
 .../html/population_extensions/gridcode.html  |   4 +-
 .../html/population_extensions/metadata.html  |   4 +-
 .../html/population_extensions/slurm.html     |   8 +-
 .../spacing_functions.html                    |   4 +-
 .../population_extensions/version_info.html   |   4 +-
 docs/build/html/py-modindex.html              |   4 +-
 docs/build/html/readme_link.html              |   4 +-
 docs/build/html/run_system_wrapper.html       |   4 +-
 docs/build/html/search.html                   |   4 +-
 docs/build/html/searchindex.js                |   2 +-
 docs/build/html/stellar_types.html            |   4 +-
 docs/build/html/useful_funcs.html             |   4 +-
 docs/source/_templates/footer.html            |   4 +-
 docs/source/badges/test_coverage.svg          |   4 +-
 docs/source/binary_c_parameters.rst           |   2 +-
 .../examples/notebook_api_functionality.ipynb | 593 +-----------------
 .../examples/notebook_custom_logging.ipynb    |  14 +-
 docs/source/examples/notebook_ensembles.ipynb |  33 +
 .../examples/notebook_extra_features.ipynb    |  31 +-
 .../notebook_individual_systems.ipynb         |  49 +-
 .../source/examples/notebook_population.ipynb | 373 +++++------
 docs/source/grid_options_descriptions.rst     |   4 +-
 120 files changed, 2092 insertions(+), 4320 deletions(-)
 create mode 100644 badges/docstring_coverage.svg
 create mode 100644 docs/build/doctrees/examples/notebook_ensembles.doctree
 create mode 100644 docs/build/doctrees/nbsphinx/examples/notebook_ensembles.ipynb
 create mode 100644 docs/build/html/_sources/examples/notebook_ensembles.ipynb.txt
 create mode 100644 docs/build/html/examples/notebook_ensembles.html
 create mode 100644 docs/build/html/examples/notebook_ensembles.ipynb
 create mode 100644 docs/source/examples/notebook_ensembles.ipynb

diff --git a/badges/docstring_coverage.svg b/badges/docstring_coverage.svg
new file mode 100644
index 000000000..ede195758
--- /dev/null
+++ b/badges/docstring_coverage.svg
@@ -0,0 +1,20 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="142" height="20">
+    <linearGradient id="s" x2="0" y2="100%">
+        <stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
+        <stop offset="1" stop-opacity=".1"/>
+    </linearGradient>
+    <clipPath id="r">
+        <rect width="142" height="20" rx="3" fill="#fff"/>
+    </clipPath>
+    <g clip-path="url(#r)">
+        <rect width="99" height="20" fill="#555"/>
+        <rect x="99" width="43" height="20" fill="#4c1"/>
+        <rect width="142" height="20" fill="url(#s)"/>
+    </g>
+    <g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="110">
+        <text x="505" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="890">docstr-coverage</text>
+        <text x="505" y="140" transform="scale(.1)" textLength="890">docstr-coverage</text>
+        <text x="1195" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)">100%</text>
+        <text x="1195" y="140" transform="scale(.1)">100%</text>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/badges/test_coverage.svg b/badges/test_coverage.svg
index f5af1dbee..ffd257bde 100644
--- a/badges/test_coverage.svg
+++ b/badges/test_coverage.svg
@@ -15,7 +15,7 @@
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
         <text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
         <text x="31.5" y="14">coverage</text>
-        <text x="80" y="15" fill="#010101" fill-opacity=".3">72%</text>
-        <text x="80" y="14">72%</text>
+        <text x="80" y="15" fill="#010101" fill-opacity=".3">71%</text>
+        <text x="80" y="14">71%</text>
     </g>
 </svg>
diff --git a/docs/build/doctrees/binary_c_parameters.doctree b/docs/build/doctrees/binary_c_parameters.doctree
index 574058fe9080841b85fc44748668a79e1a90fbb2..be439b3c9d6fef207164cfce0c03cbdd28c00f48 100644
GIT binary patch
delta 414
zcmZ3y!@7BgHA@5Q)Q*iTi7bq}CwH^jO<uwx#qQzi=%S#YFnK<^q@$IBsfDSrm63rF
z2$@=?BpFy*SXv~R0Tlp&mX=d#W=@Ghex8<=m4aJpl7f+`0!XETp{13Pp_Q@WW_4Ck
zM#ieiwrrBrHF)xVwka~4RtiwpPHCOeIHh)qMh0sSRB&=V`vM0%Zb#A~kJFoz<2l;R
zu=xu~w-|PxH_LFg%WyIRF%u9o12GE_vjQ<25VHd@2M~kQZ~-wl5c2>r?{*nZKK9E1
D8yaSz

delta 476
zcmZqPVZC^VHA@5Q)D;_95?L4zPqtyTo4kZYia)6+F)ukIJ|(d%Geto`VRAjYq@$IB
zsfCHDm63swk%6IsIgnv!W@M0*Vh&UQ1X@~7rI|S;3i)|jT2=~PiFpbN<_aLi3Wi2j
zhNf1AMw{hXMHw}lw6u~k^Ad|H<C7KAGfNa8R)O@;#L~&@*{0|SVi-Q9bxPxu+9?_t
ztUYLwljGSJIN<Rol1_P?K{DB%qum-?7$E5u!yZagGGsF1r+-Xh)N0n|Y}e*w1Y#y2
lW(HywAZ7((HXvpPVh$h%so?@*ZXo6XV&3iAoP0Mf0RWY4fbjqT

diff --git a/docs/build/doctrees/dicts.doctree b/docs/build/doctrees/dicts.doctree
index 41e35e9209ff0f2dc4d323d43ff86d9e5fc61c29..4d6459dd2526baacdee1140e28a21d43935ff88b 100644
GIT binary patch
delta 4363
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

delta 4238
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

diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
index c4186de6bf66a80ffdba2b27d7fc64781718c1c5..7a3f4915b1438ce61cb50f0f835a84f5956a66b7 100644
GIT binary patch
delta 102763
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
GJ^u?}y>`d|

delta 98338
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

diff --git a/docs/build/doctrees/examples/notebook_api_functionality.doctree b/docs/build/doctrees/examples/notebook_api_functionality.doctree
index 89d3468a7d48104544a2ddd73bd6163d583890d5..0a03aa1e07fbe62b9e9666b3f33204bba4126c38 100644
GIT binary patch
delta 1041
zcmdnBQF7jACe{YlsgrkZWM$@KJhz#X&xKbbC9y0sMPIL=GBvMEzbv(=I5R)5SU)K<
zFR`dHxuCKnBR|hr&r;8Fa+Gu~8G6zt*K3xs<nu8wOm-~L*{rIygd{7qCo@`vP@sKt
zqFa<4w|QE!VVXg*aax+e<YOr*XneiNC-eCx7p87T5!X-aLE~FbUgyTQnLj;&k1=Mt
zoDrMW<O!u*hI+*XIhiFnnR%(j8k*5oh6b^knp_1%nRz7|N*aktMVTq-sVSODno}~^
zW2a=;^&qsW6RCCcxl&0+#`%*E<i<^QD^FwAU}f06zFdM;24OsxjebE<svXph2$%{k
zgo?=r^Tnq7dol+wE}g!>lUai094jPBw!iRXZe~SNIsM~q7SYLkh3u>m_|;5G=bv7y
z$L7Mml`%s;>jTU53Fd4f(*=Ckq^Ez^V>`-poN@a;eKt)-#xs)zvV#~e0X?8PJ;9J|
zFJm+)_}pdj1rtPxFcu}-w-~Vj!{ZJpJf`cIu%$6ZPJd;><{^dfENXD{K;)6VXlTlo
zCiMv9?B&2<C{4<eWMp8_Y@AX%MI(c?XVUbIrfkK?>Y+ix!H8W76cX3X*j$+2Fiw{>
zXZy+YgK@ir1zRB_<6n^1nV6X-AIw#m{2_*CJD(NXL{=tArtJ&u*;X+!$un*Db!3ZT
zWLIYbIwp<{DGcvA0mIM`q4SC}TO})#2S^}x`x;L+Sw=QLkfwjr10C6fw?Fb?6J}%&
c1&bhzdB7BhFhR+eZ6703I@9(?erz{50VT3rSO5S3

literal 415930
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
II_snV55*!f+yDRo

diff --git a/docs/build/doctrees/examples/notebook_custom_logging.doctree b/docs/build/doctrees/examples/notebook_custom_logging.doctree
index d22e13968ec7b15b3540b8fe01c1d884e1c689ca..a1fda936235c00e7a5fd551fde673f3ae71680da 100644
GIT binary patch
delta 326
zcmcccoN4)MCe{YlsdKh&WbI^SRNdUqD#keZ0UO8U9c)5K+|6IuWfx8snWCql5NkCh
zgFSXihFuR!G>FqWrEyB_6pakl47LpUtVxp%7l};vZdPaN=a?*5p*;COz5r7X$7Ba}
zxyhLxB9rfz8!)W^$>=am;h5}bECP}|s3**nv2yZ;VDZUM7KJjFZ{}P1fSHMtbMuEa
zcbFL;O+LHfDEloA28JH#)XA$?N>ARhQJnG8<TD%X>mLC{{jyH7fync$Ao3uX4N?tc
zvxCS>Aa-en0ML<H-kb~!875giKq^a!2}t;YSf5#dgdd1?31~)^KZtb(XiioDi1h`;
d3Iwr^0L?4y;Z4iWFUiX<NsTYs+_lM#5deygXygC@

delta 227
zcmZ4fn(4xGCe{YlsYf?&WbI^SG}wHAO^i`Zue2mHr&uq&C^JPNGq)hWs6-(kzo0ZH
zu_QA;Z%PJx?34_<2#8v4B(<Bbv8yiJ{9@HzW~LJyn~$%%!_2sF@{&zQ8D~z;+HAo%
zaq{BL_E`%#7#RGrPO^c>^Q<89AecQ9EPjw3Br*}iF3k|AouZM&#mT^sVUooSq_TvV
mfCLYS^_c}o@Pb&EfM#UzfmmmN=4A1MSYJRafz3W!q8R~9?ngcV

diff --git a/docs/build/doctrees/examples/notebook_ensembles.doctree b/docs/build/doctrees/examples/notebook_ensembles.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..5bf02920ff77ada51444b22dc62c2fcaf1482d36
GIT binary patch
literal 3016
zcmai0TW=gS6i(ahEy->!y$FdGN};GcBwL^oPyqt<jYxSwhzB6DJTu<4iN_vnPqO<^
z0S}cL<hPn1!H?j_@FRGJ&oi@=-IPnDRmR81$LI2$@A#+AufK1uReyfl7F?*=0nIX{
zGiHPDXF4r&rd)Ut-uXE^4G;Xl&@-z`ld|B~ppkMRGs9Fk4iEU6A969}5<e%YnzqMy
zhj)4JIQR|foDoUsU_P3=CNhhozL!dBErj^)D4N$_{j4l5770yH44YIs>y>%GuC#(9
zor#VPo%?Mm6jR!9!z|Y_3%~ULs{ej0eb3Qpv=;clcMA%qUEtUJfV5F!)m;Q<#$4xY
zoY7N}jSHi{XQ{K}L?~+JBqc^`*R0ZF?zmPYW2f!@ek~irv>n$b$81LPLNYssgDlbd
zgfL}Uo<MXUin&UHUyuHW!z*RtN6{-Mq&;Yg(Mxr{Qj0}W`3RZhJI8_V;dcYSTll?#
zOb%wbd~6FEi`6fX6J}0XDEVvrK7XBG<9G3UgWuzC9(K!wzvTz1R*u32^HSwvao4qy
z^OtsTZYYIghDwr1ot`Xd`1Nn^9zPDT^iW&>ip?UF8tJo8L8=Plb^d9Y(3MC~Bct=e
z1-cSbKUTh^Q-oAkpFia9#*jWnNFT*;E*n}ozRqTa!BOsVS!Ln_9D9U(_f=BkKlrUD
zfdA))(Ifm{il)Xe|D<k(e@wsM5UMC00lMhFJKjgRBV^tW%g%rIzs@f*!aoB}UB-+F
z=P~qe>KNEc{vP<A0$kxu@LiRlzg%F;xris<TgAZ<VDR>TgtvTr;reAL4a;QJk>x{e
zfAM?%#v<cHs8p62BdN9Fd35WFAEl*<9ZH&hJn~x$N!24qzHgaxLQTO_yKS#b3=qsz
zhLFFevILE^%++ziNfwU$V9J1S>a>ZAjDm|CIunb{`Z9tWPO#i)mZgzc4V_L&<e<2V
zOFQt+%!A*XfC^$uFKr%P@k0y3P-RYLAg3HX?MD{WSCFQSElj>zOPFM_u`M|hj*|rw
z;>PAcLybs*VTCr1NOsC(IK1jNIF;?P<9FFiAY+cY(k_%bzLT+}oZ`CC88r$Sg9hN4
zLo#p%<Pd`j&;6)|E>o$_pauFU-DLm6eJk*Ndv%ild)g3ARVKj}5spTrK-#u0U2K30
zE1k+p@OLilTr$Cb^P}46%SUgoZd^L)cVYk*Spw}BvSPd8f+dh{^sv8*3FWUFmTHrM
zs0%;@*9hR_$aled6U2ygh>U<HCt?<O*N<rFG`SG@s{*(hW@TQG7JJBQB@lp}QB+2Q
z+m!^VRW{cCLR45*W}1MNp|t}h(v|`I7bh!-q>h{lD{6dhlT28O8G%3=FMErgKo4yp
z7>h2TPG|+A!$yrv1jb67rnll3E&=yP9TX;7%TVu4jPiB~eD21^0&LV2D3l@>E_|`}
z$DbWPDp)~~7KVmQtCVd;NkZX$><xdHJ6G7p<MG+q*+ETh2ii=>aUw#~j)T7$PgJhp
z1aS<L5RDhd5-axaKYWDDj?4seb>*5Uxwz)`;u@zl=AvM3Qe6|d99Ik+P0&J_<KeLH
z?*NcFX?wG^OX_)e?sx1Q!)`{}7fT$!I^urI<`iA_Ly4vaA^Gdox?U1YINGH4PRc3z
z2j#1q4Oy;Ih|?!!f#*n^;T7vNBybM&=v1f)FtA{Sy~q=`Ojh-_@Gf8(5jh5(g{7T(
zZQUGqbH*HGH&dx89uYYelHk#X`5s?T&;4#R8Eb8soYZ7??yoU*8o=+qUy}&B78n#N
z6X*&@95qwsD#Yx<8(_-e^-;ZQ@Zx$3np=_9uQG^XZPG5fSi}b%<h>|tz6bH!%?mj9
zH1Hkl4wvgv=?_x@+KLy#MlFf$x6rE{Tb9&%$061+Pqb`HU8&x<By6<@D;5WfTdPBR
zEA~O7#zo$~dD&L8vxZ@xq2J2bz`<{(TFN@{m=3)sjr;{-eipt2yz%5j!{BLatD?g7
hy_O?Z#G9?SD$?d+JW4%{9leo78f!W}zTwK`;BRvrsqp{+

literal 0
HcmV?d00001

diff --git a/docs/build/doctrees/examples/notebook_extra_features.doctree b/docs/build/doctrees/examples/notebook_extra_features.doctree
index 2177b0affba5e37d9aeaddd01f502ef9d04500e1..d20e86f08397188ce6752f0850119f269ae13e15 100644
GIT binary patch
delta 1019
zcmdnDlJVG5M%D(_sk?(Vvc_?0?@cSp&s9ju%u6h)OfIM_$;i)B$jmLsFDg+8$S)|(
zNi50C&*K6sn!J%!cCsgz)8w^WrjzBl*vZkmc`esXwfYDrMg|7Y5{2Z%JcXoGh0@~G
zw9*`fl6-}<)RN>3g_4X^h0MIP{Gwd2?F!|YB^e6k8JSS2<kF&|)VvafvecqtpyL$s
z)1dB;PgclCEC!mGnx~MQpO==IURsoz0@kjl5S|LQE+t=~#3duK1ZYW7erY<yGK5bR
z@{_VslS_0Ik}849b8<5C(xJ{NE=kNwPF2WF1qM-yLPEmivt}|(KuW+Uzkbia`32;a
zddmDVrFBZ<l-em88LU0zc?4)bFmNf274jp69U3c>J&iXorU7FleR7rw7nqf?`I$)$
zqig~+t;B<pm4Yo&($>(_1IDC{u3mO(WwC~)=9CQf*eMxyJp^@Z<}-iH$Qr>5Ov#gf
zSngvg&6~X3%5U-qOEz@DBaCk+_si={o?%@MQpI5tfG*&<+0OO@*JgL`M@)<}Hf#Ca
zWo9g#%n@{7sI-SOFA<pJDhpDJK~a=dIGHzC#-KDq0K~b)%D|9el64zIz0A4;q_So(
X1BtsJRt*b~xCdgrW!an=9Lfj)IeBsj

delta 959
zcmX@MlyTomM%D(_shdMKvc_>T?wah+l``4iNM`a{E^Ceq_Sh*Ic0F*x&1<>tt0nZj
z3(n6?Ey>JHEmkN`RVYu)D^V!PSIExGFIOnfEXhzP&&W*9P$*6<Dap)BFIGs(%u6h)
zj89g`NCa|HQ}Yy(N;7jx^c2EV6_OM46iSOz6-qKv71B!cl1no4^CmZ#C~_*K<re`(
zGm9q+nx@x-9HIeqNjz<BR+!Q{rEy9v&?;6GtAc6a%LJ1RT=~e}EJWp|Z+>N(%P1OK
zmReK{43+rIytMrIl+5H31zQDh3{5as&;kqSWv5maYiMdtfyNhJEv#TIn<XtCGcxu3
znapUlZ}J5zR|M03vW86=<CDqrZ5B^<v~!x=Ys(JdZFaOX;-2i}AY;no4vAWYjMSV0
zn5C$K@Nmp3WMyE;kk87W{Locb#2m=V0SPE%FlQ)cC}k*nf19l6VlIFt_-FD)8I{Qk
zoV1yGSSO!#vSR9FogAoT%+$s@+0HqMX%UF0Jh@Mwlc|q&vVo=uNMgOdHY?ch$$PjR
zUC^xYWo0Z)O3mN{#jQZ>lpdICb-`Xp%n$-5bP<qvI+E8WD>}$Ae%oB=`Gkq__vSF4
zyUdJNCYuD@ug^LI^aETi#EjA&&b&lmwx}#fEe0i_tSdk@epyqQL1ZNhh<pVmGr{5@
z6Z}du1VAcn*?=Kpl4S>?US`<?sjL}5ZCMT=Rt->7mLrJu7Q}J_vY3IM+gunJ$_M~7
C<w|4#

diff --git a/docs/build/doctrees/examples/notebook_individual_systems.doctree b/docs/build/doctrees/examples/notebook_individual_systems.doctree
index 77ffa8d59620bf2b44b7a69e7e1a2c17de177f5c..024f940ca81f8237d9bc0e2804d6a63038b712de 100644
GIT binary patch
delta 3150
zcmdT_ZA?>V6y|+Pds}4kEki(Br~=xR+xFgm7$}G{Ix{-JNSF@R(vNkODLN6vA=@$+
zw#g!%f=2w@54TK=G1o;U8O$%7*<wZAWN|7kS+YzwbzA&l;@tb*OPQkRk2w?XkK3Db
z&ikC_ocBDZ!cp0YKAHS&c}MT1z4DJzkOA6LIP&gK`G&j=Y&z_jSR#HU!=&c%LT0Lg
zksFPynHMTE+we118_%oB!|E*-4m5c)pl*sB)@8-RkXAm1_mj!V(VUHyj+rf1P;>tt
zOP>;pM@;a9QVHs5xo9|-L+8G~tm5@~iT71Ae{>ZtiFq+(vtK<{G>zE%zqsP;iAJ6@
z&S2!s20d#w7<rr6dxMp?!HrjwHEOe-jUr}4ILJUcZL-oJ(rMOc27@~-)yNx(-$X&i
z@SBLAdx)Q-w?`fW&$6tZP`V30RS~t2P~Zed)o%1O5e7%qMBzE-^Z2PEy~URUi^~<l
ze)q|zs@uXAUsQ}rh9V;J>y~-#P`IKo(&Jk3I-u5t@OP5}(i?Ig?#_gZjSaXMK^d!u
zq7_9@-DH;_b~J4s!`?xpRF1xYrOmg|Ay~5dB<cryOF8;hXm2?qM?XV*OE%ouRRAZ}
zEJ2Mz-v>ufnAI@7)vZ}-6X!DVY>m}t;N6^uXvpJr)mW`&lhMXm-8LH>YQ6oRPTz!r
zwrX?*Hn%;C`($E))d!Wr)wZ5tIy;)G;FZ<{(Dg)1{B-N4Jd&1B7*rxUEV9bS3c3I>
zGVIR?^eABIygUeXe2vm!W9QY>Olr-LM@0D5ep!8ue{SwO!RBC&UtaklY};@;-s#MF
z(_8D)sh89*ud834>vTfP#yVAw-@Z0f>~*`qu_zh7+^{b;xF$G!@?M7`ND`<R`18o*
z=?_2)`kAUA0ULjBnt##!3UWRX$~NiZ1Mv*uNzo!A2vz&qMTAQ&6mC*s@$-#HG1Is~
z4r?(Kwv?f%uzjZ$;=9y1p8;3JOl)J|M!yZ48Ms`b6$ZPyRd_xF?FBF3at3C^>muz0
z8wQ$_XvoreiLfUr9qufyKve{(62B{<v`8p#Nhn)C)yi;}gtAdWc`uAYLKeO}jUwP>
z7+f#8@i7JlIx@gHX97M<Qq-GKD|C0y8E5gC_!={7^4dIbr@JdW(%Eowua-!sA#Av7
z#>x8kc{#Vo<8#?K8)vR@yL=v==WPbB&tx&N!ZslZDWwKi{-0U05WdL3rIeDil14gD
z=fw*O+#;J}WSmxoHBxv_sh=HOCsnqiDHnV_DWkW<12pugvZ3(6HT*=={X+l!@ilt0
zYH&1XGHawRP_5xXYPQqMj_Z6M1z}b1Emf{k9OP^zsAuaEEu>{yY9SKzYy6r1tddPa
zZ{L2TvPf~f5=u94ip>;ND;zkKhg7p9&rHd)RrJ8rBgd1<Mt~gtEJuA!Ac4+e%+YeZ
zfM%N(9aa$y1a(Xr6xBsD+eH8+#MKtWj-s*?CLG(PS}Emg5c4s+#tz>rO76pcH7QjS
zN`$_C7PZ6m{^|H*r6{`6<EI$3oA~D9&y}L)Iw=#XITAtCf&*H(9GVq3ipO`Ne$Y8`
zG671vv+!9Zkq-~bf#v8rHLhQouQ*SM{RXE8{=i5zaveX3RuVoh5B(~hFKQkS&NGuJ
zMqH;clBR-;w4%7t_i#mE&K|}IdR6##Mw$vgeqV|$D%#SK#YDrz#WWj!KRXA6a}`Jr
zQG+~lee8bSBm<#=eS_7|)Egsceh6XICfqoGL56$~x>SoakUumPRl{pT)AM}<-w{Y7
s+u9M(5Xz1~HMP|HW68=6geXZaaEkua1qR5ExYz@y>6ccxFjRs50fywOW&i*H

delta 3474
zcmdT_ZBSHY6y|+#xp$!u1VmVnyR5=GAl$p${Zhc7H5FwOHMCKJWp`=WL0N_M1GOO<
zQ`1!TkdqpXIgQr1ip*^WO;o<DtU+;dC?_fHm(AEXHD%>!(|hm2B5UZ6w9)(Hew=ge
z^FHT!&pGe8Gr>Ynu&iG8j{3(|*|s>OfyOwV+&_!^irhIi5nAF4rMFm^*B34%D>zD~
z({Or?uq63y{H)Pv$YRLFX6QK`C^PfGl_G;(s&R02l57<3fyuGY=rnrYZ#rHJ3_tu^
zVoC(|o8W(1N?_8apux4w>DK$x%J*bO-<Qoxfmv95%=00Y?RcbUN=f_Q`218w7O!O(
zPQ&ZC4A#Kvb)x!`_?#Y!mL(9sZphCOk+XQwt>byEHVZhb=qJK+B#O%z#cv>f{sDfY
zxN+p-v@FYJup{slA)!kNxKS{d96?VBS1^~v3scKX_-WzWT%iVLCnX%W_C75d3(Xaw
zV<Q0t1!cQd*>giJHe2P2SEoVikqIaV#=aRNtE{WDtb*2KY0CVCGfS&owUyN?YKG#N
z!cs1WW0~4&hIqldrQRQ(3h%e_uz7XnV?|fP={0Nc6$C|W25jF(L+jdjl;b%O>*o;-
znI~eP{`eRbVYux61eT4+pmEoh5r57B)4Cat8Q&ld5%{*wgxVl+{athx6dTT?FQL%2
z0QEuS8>vvgH&SqK+$Tdnk<YJDolv>C8~J&PN*4`&l^#_wHcN$t)7muUoL$G;Iipdp
zu~=EV(O#~#8ZBBa+}wJLc2Ffvj@%{x5lXnZbrDkBM2;lqry)T>?sDgCQc6=^Z`#<T
zcF2}=28;V5Y~R*3%vRhF#~|D0#uU}V*k;sJgVLjg`8&SBj~1^_()}-w2~m&>caajZ
zn{G@@!6ca^Sx}IJaRj@|9R>buW|P$5z1<hW)iw62igc#hUF&k!PJyyL%R_x?jvi4J
zwW(=P6=xVlz>}PE3d*{9tj1t=72ymFAI#!m$6ggqp}<o7JXTSVH%<j*v&UnGf@{T-
zgvI;3ay)~A#+*4gTlA)5H3eL6EMh=;G6q^=5<Q2DvBd|q=%5N$`JgI?p(=b(iH9Zy
z<4r!O1|QT4A5;Z_ih|`Y$B9s@F<4%-j%gu`0Zq)pUJ6#ab?6S9X_+0y@kXo0Zs6=z
z4qo%_^Vj2C>H$+E_}}KlJ=LpXby-HcUBhavdK<4dXv%pDIW6^u3a!mxWXo-0J@n3B
z>S;OsWYB1Xxk5Ppf`T973KI%9h}CnJ$Q9TMe@Lw$ji}p#euQ?}pX~B$H#Du{{2Crx
zs~BaVNm2$5tb1CEd6<-N?ZkEQz`{=`xm)-$1=U&xHuNQjyd^11ij&1%qBR$JrJ}!T
zB1Inted`P0qyDj=ZoeUqqNN6lq=A{09<3)k5-wUuKRc9;WQVG7zff|j4be(pToROa
zYeNo*_~F9hGnt6a^f{(Vjt?aVoa^`;Pp4ttyOZH)=N$Zk2%aW)ntY+tVQN<zbx;bW
zA+jnbB49}`c)JeMc3-qr1g2Vtqay>N+k7pY*rP)Akk@0v8|k58K&F3Z&+io4L+sHI
z(V)Y-MPE8<0Je7muA^aRLplzpp}y7>2>YGX&Zrx>^E%W4ojntv{=5fWAy83pbxn52
zHIdR~a9sEm{Y-)wSl_3ju1iK5RxZp${gTzi(9o-h#T}wC8psyNB#9v@;kn2_v40Vo
zFLvRmc=^y4m>nuJX^)vSthzKGtK=hujE6rj9m4T)xVVR>ZVf9GsOKGsZ&yM=|0`&}
z@NxeDM(c#lmj{B;0<aHM;V>Hh9vBbP+s9#N0o)y!mc4*1Z+0e-xo&obkzFu53q*_C
h5kZbB=Sh(q?`#(zF6Sxokd6T7Y4I&wsQJDa{R8RXGjjj{

diff --git a/docs/build/doctrees/examples/notebook_population.doctree b/docs/build/doctrees/examples/notebook_population.doctree
index 14c9b35f4e77b5c108af1ba71d035128f82e8895..2e908a8d3a6ae820a93ec8a26bc5f130c6bf3f64 100644
GIT binary patch
delta 22800
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

literal 142821
zcmeIb3y@sbc^(Lg07x_+5*g8w%a(c75IHl{OrzhA0S8_X1SN_b5Jf@~v>3Q?r~A%y
z54!s{``!jHWML)QtBPc|<)k!9{4Cp9$F8`%mBf{}vg`Fao0Yw5?`GGr_u)!qQ(nc+
zCVpt0-FOpKT-JX7e;)VT+qZkV2M>beogz4M?>&$Iob#Xmobx}v^SL8mJ#^^4L-aFx
zuh(z2dp9z6v)OZ-j<+{@u<162U8m>oePwUy^Lsb<7DvYh_I1x44jRth=nzsgTJ27A
z;Pmz`?=7|tjUH*Ww_6?j^E-BLTW4z>X&r4naCvW(vVDKh-W>WUo{GD_-Sm)k^gyFy
zdmdim?;}0CEB<=0IqU}yn|9;sz}ez7hq?IC;hx(AAxE}cBIrw__jcMnr|0^uf#bE@
zPIK@3AN-d1`Rs7?fNyV8X?v|>qoaKrMEiTK`$xy>x|Mi3sv75=Xt`bIMAN?3Zl355
z+#RRkdnY#AJ$tZQZ`22_>&vG`f7frhy?WERroXR<cPCJ^cS00-!nt90`yIzS0Ro*(
z*S%WryZvFu_S<eR)9&x~Hupw{sR4U0-8bAEJxXNx?T(j`qwzq)?S=+J^=j);bY<&(
zm-kwa<KO%7@7wV2gXqd*H@clwuW!?6J=jO5ID>1>-mvvut*2T~w(f6P`1j#fx^?`e
zqr=VCM@A2LXeG!Q8@NS$JmR<gj$?cp<u43<chI&wtJbT-Ua#HTwt^;k*7dgEvQ&@B
z9@!%{Kw*b3I5&u`4phb$_Lv#b{*!1%O*G?N>-f3hraiGUsMQrDFB+{r#;raEX0W#h
zcE4pd?z=Cv+McDx3XSP>EHKq|Yu6oG^xJnW=bGEO=2*7TY|GuUJl`I8qNS%sw_Hxp
z+I5is((J8$QI73Hs?})iC&WB%9l7`(O#Ag=qeTS!EyrqL&Rgvs|1AbhGPVW&xoU6Y
zBZhR)_I(G5rneo14BX*%iwirix!iI$X&NnC0~<9C@YU{F1IanI<$-}Zj^*uozSGTE
zFFXF%KldY^we5zA+Zy(mN9|7A-xb7zFi|pk-sxMLyW+RqYg(S;Tf@HPVJ=&80vdzm
zW#lL&y@6Se-UxW@5}4*Q^YhvxalAHq;k3`Ju<81~+tq`nCl_%8rV;+}Kta$!Q2N1$
zd5uB4@9QabyNU~1+XmTSR}zP_$PqQO-fOh>X*ILNQa4c!wX&_8lE9`cdP2yehTHRP
zECK^V7KsvReLd{<I=f?EAWt8`Y;Xp4r@q;78&{1Kqr;bSmsgcA5)VPUkD>wJAC;O|
z9S0Zzf6oprCJ)k@JA@#>GR5nzYRMN-$QMY~L<<UKKkVG-50JIxcRRcUeIK%Y4h!9b
zy-l(6*c&~3214lcz_HKax6ugMrC(BAJo;9<+jj@P<$9^q7KoM0jFeazv2Heo9=NUE
zaksZ2S?Wq~c$UlzDbuev+k?p^Y!BK^l{ye(snmt_^Y!OneAQaBR2hqD#mruM+0qZj
z5}#g5rH)%Ir_)~yidwRcTc7O7g`K3T=Quo5`oqmmyI}=1vy|3?PL1cgz8}J@{I{YU
zI7+p9{h?onXt5`=^MlxZ(H5?-XR`Fq?#t3@p0q~TH~LLyFxdMNP3@l%ob7~Uz~bnE
z9@bS*vo|{0+r)m?-*e0vLOK5v<TQi=HZ-kUl`Bu9jDngtN|IF7i;?x3<NLI8!zxMJ
zfPgpUnyOfB|AfI<{4SdDzs)XAX<PO?A~|nHm(7jJ=%+8xwBTi&R&)r+t@id1YXy<p
zk8Uok>yFiPoF+}Cu6-4&N>6PL+C6N{dJRYIc&=Ot8hho6-keY+I0Na5c!O?TYujAm
zl`9z#v$%u|YI2HA#A55z=;ECsHCUMMU>z8R-!})14g_*pF=X-R(Qv;h{zwI#8Bhy;
zd$RR^n}tr_p#KTcfYCoST9|P>g1TnUGS<*<=;@FO##c4$s2K2|B5KqQZJ!U)u9U$x
zdcus%w^8cCVk9at)K(;eY&?g|xpVRU_Z&KOL2s_;T#Svr?K|5zwmH}}Z&_}i4tySX
z+ZKDYU>McBX<!P0=U1&2>$%s?svN5{9Xw1XSpXl9HXUo|Ve;WX&a*|G{!nSB<1J${
zVs2sT4xEO&-D|&rq}Z*~e$O6|5TYq<54Kt90GeDJt*-Xm>piQ}_ORM-S@t!%-LW@u
zObC+UwW=rckA8}$pkrNcwdrgliK9Ao)@5F0<x$tVa^;H3jg!s*3Ic4TJWOwS7E;;)
zAqJjp`F`J9J#k{t&StZvOdtCpFXIgd17|m5H!{PkV>$p;dOavTLz|#eSL*eQ^%<Nd
zse|oC!|`Yss87}L>B^NrzGXH&r!L!bY2jHs$<|q<)Ht<p86?|Vpq&n=sg{j%DM?Kf
z*wq5+;*;Ro3kg3k4^H5RV4f$vwg2qdgDCuth$w6Y;`D=)W|tDK?~j{&!4R;h{Ya$z
zeU}iXh*yyhOqj(%4Wo%k;#&3*C_tSp99FT7FxSLS+&;0OdggW(sTUgV&)UrWIXa5g
z4hQYMos-Ce4eCyX@`@qn4n97E6f-(|rsQ!QAF$MkIfbI?&yUU_N&||y!`5f+Fxtao
z4-+upw@;SIdQe7F62<hzZ2N(%u^;%z=%LMF2O5<+Eu#kCqIFQml5+PLeW^o-&^10^
z{2UtoF**awb!Y0DkJUQ7H{W!y3bkP@P#f;CtwqK<z-n!j!sl~VTuK6O<FZX<tMwMT
zeW8M4Em^R5V=2Y%1*<pqJz@dJhK5cGAs#hL!phA=3wq<0ZY#WWrv(27dfU$?W5PSu
zw{T2&Na(!x<&WJ{lOqsY_Z(%AW3NY~sIg7>Ft!QPr?ryeADWsj=m3`6Z$xU`f8#(j
z-j0n!w5>Z;6s!-K=jY!om@;IX^HuNM{(|))#U1*CGk0jPbNC_Z(qQMHd-zGQbC@VX
zgRva#n{+yN<>r>gsy|nZJ%c#{@lrgXm^<sIXYMSuYtVgTYzQLDK~RUeYltR_>5tiV
z4F%-v(tu4jr0!g$wmrGi(oH129ki7@9lX(e{u^gl13zi^K!<W@%}r&1?O6`2#yG^X
zz8kCRrhCo7ft_rCSZkG%0gC+rmRfm4mx_M52M}6@eOKjhCXA?fF?Og<(T`vVy$FxK
z_D*OSH;R_AAG*g{V=(zWM;f^PYntnYt<YG=N+D4*D~l;{lQYE4Y<Yv8Vv+NYBb4pG
z;89zK*r-o(AtBMERE#CG{U37rspU=-4wGvc9Tn%3z0rLuWE<SsqJ{|16o@3P*gS|W
z#563N#M=H@C7#e@eE9iK!!KHamGSVUylFb6hwys%7jeDu)k$X4){h$IrJesEn>bC>
zj)c*)^*3l3U@zVI_grD?Z%!il;;F-j4js47z}yA%dB9Fmm79_-5M-8w@$$Sjo-DF)
z^2IH7Zn<vveCwJs*mOO(Sdg}q)QGS>ZaUEGLhZ-`8gF{ro>?O6$#uT99GCf;G%sDV
zJ40xkrC4slZ;KB~oab4s8LhJ}bM0A9eQF5?(@%+fte&O?L#Tss*2Ix3MzhMAy^d=)
zd3B&<fz~vG;x4pY)~`a@O{K9<6k4lvz0Q_B?D&?s)^j@Q0;DnDqp;I(2@;(lTgOzA
ze-NeT@`s$yw!+idYPK8xSl6X2{2bS<vihxEuib!_UZ~;t^LjnEmdh@4x}atJ$sKIA
zeRu%$ok81et`$pAP}5H}K6%%^Q78W;*vjF&=C`}fT8^^BmhC`0-Gk>|0}Qd2&1Caq
zsZx^qP!~~ydc$tL0k-kh^2?mY7gqN*X+&REIm3$(I^x1B&%d&&jd>XFm{Gt8x|^^E
z>~hgf+qcQ0zvg<-%=@j(j@#}n@+Tri)o7*lJP@vX!9=NpP;fw+^DJ>I!$Zd(Hf{9%
zR=eX6yRHSLx%~`CfCB)ik7VP?@M*HX^vFa)+Zi>m_?x|@QhnG!{6$S0N;7-&(t@5_
z3zwH-5{GNNv=E{)K8rCsE-iq!kV-B_i6o)<n@EyGk|dJkppqoKS^5BM(PNvPzc*>K
zG>Ub~*?B(-nb|LA=MYklx#q}CRAe{$Yav2tzeT<{#^&*$zBon^FEwY`e?~T_p{@C1
z>#L(9a9i_tV||BqPRI4J=@A~?P@dupV;jl{4P+s>AD;iFZQ!3G=d;*9ol3!323x^Z
zOYBX^Y7aL7r8?JNCvQ(C<(RZXnUsEPlQJoxu_d7-<|3=fRlAfE_(PlY>%vcLrTxYm
z_MoX9`D0!B$4Y*><DWGDS)aBC<TJl&y#&oh)5Y$Xv>{#FhvNb|mP{vJXIJic^%i-R
zb~0l>Y7F!a=)iQVI0e~O!-G-oji_Pat%mjVHkxMqOPTGYzwby}L;IUGbK8Von1#w*
zXbX-^sa!VoETTP}Q)(BKaCySz^8EEq<nr(eeK}_J7#-6gT@eS`qfiDwSSgoosoU7O
zghHh1W(OLJi(KZ;27W1}#l>&pVPn&QSN5C2^ZQd!Ho(8Cd-D>xLc>X{(Lw~x+Q!Dl
zn;SPTYni;h!KYuE+E`&WCM_`=F-PEud9cWA1n1xl;~+dS%cON?oFFVT8|v^&#nDPL
zo(e0>2A^6DnT>2{2A@tRuQo`bH8|tNKZ~C`B6n$xxpjioI-{CtHfCdNsnNY=ox)G*
zj<t=}l#SqMFBcW2jgI!z%VO<|5Tut9os`y+4X4+Pvbb7Vl1V_$6nbtalYk-+-ZhgT
zyzumRk(g{%80od<2;ya(8!Ar2Tx{OZi%s}sw>Wyp9r`*5q;)hd=wj!S`%)ldqFP7C
z50v5%6|EL=O`_tx*00CasScOYh;*yAjS<e4+CX`cg1S$$H?Z=_Qts8klCf+d5L+qr
zRTw7eCGCbkv^$3RVA*Q>9@Lh2ivx*`kW3fG*QSGz2n2%O;7}~exCJjW?F1$qrWf12
zMrTL|L^3IOnDbDiZ@FaORqA`;6^@)#gg)nZOH{aRk(!nL#F}ISrWjQAF^7wlx#Jf^
z)IndJil_Jt?e#qR=kM&E2#iwi_?BXh{{&{L8F*n>U*Sfy4^Jpd>xZVM3p$josy`d4
zak88uwGp|05{>Lebe|DYJHkT@{b8{&DZJyaDrJ;8%SSK1(zBY<X2o+uOanMkV6I{F
zh*`I6Id%}_ErT8cJ6zkNV2Y*=5WS5hY7xKl-%tlWx$~=Y^`o*ne<f)7&Nif)Iz>qH
zZP??aA4oT{7ExfEXDu35j^&WHXE~zCfWgNf4iGT5wI$FCgz$3AeYPrg?FGBz0ZfAM
z47A+c`E6<=y*f3z`?Lf-&SX5f^S>OZ$G?iP`Yq%fQ`Q=aL^9G}B@6bGJO5Z$66*x?
z{YuQkZH=v~7!ZhQ7WVSAN1zulm+G(|3PlpRtOonlBKBK&^<af)4;0ILOPLA7HCAQ(
zVEyZ0u<j))gJEO>pWOK)-NW+)r~fsK&Hr`VhVe($RM34ZmvdfkLqpm}gccc<d7&5M
zMr$%D3+OFey0Gn_wVvX>u(~(RMSs!^jIB0)SP$K==it3ebui3KFhUB6?zu4t{yK*F
zFK*i~f8W?JQ^Y#$tAZh>H$1j#L@C-&O=&ewbB(F01LNsAW6pNp`_|K>_6_#}DFNSn
z2Qkc(JKugFzWHI~d;&QSD&;5dTXy~g3&YMg@IP853|B5JEZUVzFPWpiZfs)OzHsp*
zoEh?wz;+*p0G1U3%t7j6FMa)UKTK*UQkwxJ=CU}-u=|blFoN6Y0NOTS)eszvigAbA
z24y1`5njIe=z)_RK%VG?0^bbCCOUDfJ*!Lr_bz<_Ba{Rq6b{4)KWdE1tsX*uY8C^h
z>0nnd9qi~qH;T93=i?Z3MhClf>W$e@NdgDEPjH1}_RxUjeNGN?@3&8?a3kAsjhxpo
zzBNm06=22At4KYr#}JK=OzgX27zc32{*IXuqjc0TzVivJf^mwLov*}ou(6pPbF=&_
zoMDU$A_OdktQw=Q3TybMA-YJGsB;1dFhj8q?702Z`o?KPDaj`qV}k^4zpkpx?09Z3
zY{<M<sSD49Ux*o~TQNZW9jtMGi^~iT)jyfX`n1o0&TXktLk3+h+jru0zD61s#-Z@Q
zPO&PC-hnL(v&gT+u!yNNnMGCnOPVdhvTkwb^K{aR*AV~gz7<c=5DS44u5IV9pt5OR
zN4H5a{42A_)?k4<d}*IG`A_3IV#YQ3Pmp)+HTe&@!a1e!4+v@e^zlON<Xa(rx#EZn
zzNcskPpgL!HxNAu+=}G=8m8DWE;B57e{~+oyI>65T^F+p)2z3nw|zUp!~da};h$Hk
z{-z%Cu$-GJRgdmlv6QMi{|}_V_?A`3hG>N(S?`L`?YGU?DUGGJGVHJ5%(`-3duOZ&
zd{TJONQmB%+8-+1HA8W&(@Gd$vMS_pNHc)pULuIJDX4BwoMxX)R(4z0fUQJYevO|w
z;j3neolj#_Fq)sFUo$JDfa13Es?NbcZodmE^+Erl2aUi5sQtRYx3v1hL7zf#WSnQv
zRSI=V9Q}b1+XUDXX#k8K@^*W8;~|NMBR-X(%$GosMd%G)Fa|H|hN?cmI<;W5#AaOE
z5fNxA)yxt%61qx&Lox^x;xs@UBN(4|1|6A>{C8jrWu*iKanN(ny<8jKiogN4kH{S;
zAuON+BUaVff|9!l<l7#QbU~kp7+MBS6+@rOIF>ep+Nvm5Kw`JIDVNlN2xMHuVSzSa
zatN&621PWXKRFIY<ZlAYgHg80!$O!rTc?ule~Y?5m{yLMRt-H#=27SWQ)7CW(`xkl
zpOkiaX&9FQ)H%#E0E&fJblD<Jtp(;_13V>I7Ri9fjCTajCc?+8#n%88x9M~MbWQ4A
zw(LuzDdWbGzE{j$&w(9AL^drGFgDp9F_Suo*(Ml8Ccq=;b2=4MSx#mfIBljE9f)uc
zx(38k#&kyXH>UT%P$4TOewQ>hU>Q%a%<BhYnSVBkW&X*FK=dO>Y?5*ic|J@r!w#_c
z0J&^?ZFD^(4hd3#g2Dp>W7csIG0OT?ye0_=6P<R|V7_65KNi#y6<xt&q9AYt{7ERr
z5d0>FA9Al3M4O^ItWxA!0$Hh{cC5v~<peUVF#t5*vNh~ocj$%zOlM7jidq}J16vj_
z!{-GveD*-h@XseP!;RAvcfgp6Uf*c|&foHP`@BengojueG45j8TkEc4J&j0K>op&S
z-JWaZv$={z>UH9rMM5$Lb{J3OCP6sL7+Zytyrk#!TSq|9wLc`f_6HBtwZAv1Yg-qD
z41~v&xl>T<xv`^>`1P^AO^~8>%3oI-IiOr|_x5myg4J+39l`zt<xn|bje*|%;6<Pp
zek{^|lbv&78l{YEA?5j4x`0x)5d2J}#{Hdhh(;`+r$+A^>qX5EG2dcZ7e02F=Ox;*
zD+iXZhq>bbCYI>7`d@+ks4luS4aT5oT3P5pH<bJEf8-vC^xTXZo!_ATpV!Lr>tYBd
z!WfK>Gfukcq&3C|TIA1^Hr(Jph->h?7MHKj(sFHa`Ja$_{P-$5BEm<p7MBPQ955O&
zQp!vJW)@D0u-fc)m-ikSS1OsaWX$gJFlU%g(|7R?9#w&eA1B8I9E;>xZ;WMV3F^Ad
zAr6$nO(A?=0Lj?Z6nUhF#qA<R`LE(ciEXXkaWGPaeA#h(e6x^z<f9!Q^i~1xk2BaM
z0#^i%hChIznzzEvfObc!OdQ?l$R;0~{T5bGATy}kTrrRVkeNuN#hH@=!GpDo49(y)
z`EMA)QFEi!2k-$3#Q%^Am=5ACK_#wQuP~m3-MK^r;qy6waiC>{$vow=>-p2Z`)+^Q
zXL0k#v=s1DZo+cr_TmX#vQ{X<kcm|TjE%^oam*MB1%><0&<!uh>tkpQ#z==3X6<dj
z%dPY^$OwQ6(j+)H9J-SUEGG9rl+N0Aa9xM+ZBi$91>kH0z5;jB2taJwLuZ(XvxZA1
z7ok>mx-<y~t8Hwcu-hdJ7aQJg4$fqH7jBS)6desGF81V-7HsOV@gnSvO*mZ#g&Ozw
z5NSBu!Pi0U%oIEZlSoHF6anOI38umqZlERf!66n0bxqNnP3Jo4Jor%178o+<a|icx
z@F4@>nf_piOM3uG-ETVrfS*`_+{y)QbnxK5<qCGM+q<IVPm($XJ5FpL2W{`FYP;=S
z^;Vfo3WQyeNFgt@Z-549XUMOt<J{0)BeR_zY#X_FQtL9P9C||otLM1DGMD>S9;fqc
zu|ow-M-WK)=;s2}i~n@bkSYnM83icL-A2eT3jYHwmrMeWlMop+a5x0%eYQGB2{shf
zS=L#3n^@2d>I*kRiiS?Fn-i7@U4<q|NHG1Lva22-5_CFZ4>8T^jW7+|XwK7xcMf_5
zDCk}v^Oz@>B|A&;wwf~#fZ$C0Pr$(_vISr}y3od@V&p2=u)s^23Z~XtTjQK^KvmXr
zxKItUZY=eOMe1cfXEKR&GO<HV7G-D}(N^?V@uZZ7{5L60#7ijy#ajpvq1D4UN17T_
z109de6DzkT=uW+agtESjg+&jF?usB65kHv`RGDg>I6r82>5xroA2gwMQr9IGEB#2t
zz8Y3k@{tACX=JSDRiHWvDF*u|G1LK06mgBQy3ust@4g!<netImiJ3&#_srTNrW4J%
z1pa7caIw!~x87~{;I?hPux~6~)-@Ugg{O*M2%uGf&o{e&$!i7%BslxfMhpfvUoj>M
zfwq~h(t`->L)!|l9!S8B6jan@^rPVXr4o*m#5QKLA*ZDd4kD4N95|%#0Jf4?KOlXe
zZ&6DW@l1r(Cy%z#P%+@elUPzcf6?rkxV~Dp-n_ZQES-U-2dNi9k;H|%#C!r^2mTGz
zA>FTPyP#iC>(Acs2WYN~3z<l1Bro%VtQ7K*#AYDx)f$2~klI3-&1xpGwuTDk#<BiT
z_03{CgJNyLMPhM;tRtS23URxGZg1`yBnt|~C5&NSpf9pPYO)ZR1@|06Di%qME}aa|
z8CWmGhA2en8ERs%lyL+WOH)HVPc+({23`HAR!~8J+y;gU)NI<Mdnv%|)C<uPdF92t
zg7A!*47j<5rYso2{klU?qx$0|KvebZd^Vd~MAs}mqj*9S8*E$kD{hrd*K~<12DJne
z6A8`0+D>ipp?^ZW*`z*V4#`;O$!*-VR&t>V<c5Pm>+lr@6T+yodw|qX8)@C$WDnt$
znAQO;gQ(DOnUiN(P^MgAo52!G&844UCmSMEzZUJrCZ8(C&IiX8T4UV-ZjfS5Cd#5a
zOC&`B@GKiTp;9N48q_CA^_<RD7*UKlTCDA2g0HQ~?Sg2D6&yH1m97h88ur0_5vCI6
z(z*ry7Q(2RvCar^bSVzG5~sQC@E=gW;JQX6#&wzOG6w(-RWJRfZh-v(okCd@6Y;Vk
zYFd&jbM2&g1PYZgUWHlYN3Cq8WIY24KnHH4Su&)pI?#lQ<LQlK11$oQgAiziam2Y(
z@HpSUXB1-`d}b-hyde>%RJzO$g@rLmk^?Vc5he#-TpKJdIwV<<9C%4wBnMu;8&}Go
z<iJbIh~9N12VUw9@sk{Qx1I1AAUW_R2VSV^d1tB)H_3t5P!c5vUgizGi`PfNupGg1
zlN@+?kqHi<e9%u0yvc!g{OCOOz#F#OFUFXYZzV?I-@!5CDK0Y<qj2$8U{IbXOkv#Y
zyuk+K4ehW)>YbSk&(VyrrsoZ@krf7MrR2Z+w&w+@bXic=<#(dZ`P5xBIBQ5jd3?Ko
z1MNHB;=ECR{>4{?B``5LL)FO^GieQZyP2F9NEf~kSQzxlTS_dwb)xOTKDK7Wdj$ni
z`nzdt7WB?+ZI;OoW^PVP!&91+*=e=OPLplm7R<|nq@V}&G7%bs+h$*0Fm1~Vx{kN8
zU3p{7u#7i}WqHj?V_P4xDo^UEWsA_8m(np-<pn}=rW<KAr@VvB$=ukeEjgGYYQ~38
zk?%x1@`7nY1_Qu|Ol+We;N5qiUSR8S&;$C!9A*an`Yo^=FKDZ=-k#!Ssdf*JL<^T;
zE)IyN-3t4r>H(!?`=F-c1+w`r+@2G&KB<H#duN!2r+|SZ2ie)2s5N^e2ie<WNY;`f
zImn8OC==glxXHhbe5aFxEc<8A=Qo`kWc_>5L3+~h>|O67og8Foe=dI}yO9Qd(aAxU
zqV(Vpog8F|YxHrQdL%i>PV#w94zf{i>3EZG>_Ikc0ItOtfJ5=b`(G2Z{_1_&>KhKb
zo(fZz-nV86Qx<nUkceuI);1ZV%m~sxI0U3o2tjeJ|Lyxs(4dP)fW>uM-ojwQMd{!p
ziSYtJ3Kg+PA)cO(;0j#*BcgS#T!{<6HH)jOSSAmc6|iqaa-3lQ<rDEaGW}i3)U&qR
ze#UxH#FZla2R8)5|C^%&2ql2R2YiQL3AiE^Wk~=eBB)Rk!O&dxH5(Tc01pkYC)dTr
zCxo1F`j)#RKvlRMg@H}Cz;!16nt`T~iS(rO1ds2@D_0b>#xt`ISkM~Ah;SpcM9?A(
zG-blRpi6LwddAr}Od}r@Hxkd&+n0;9Z+}ivO<V~zald>4S=`F+J$NhaJI|_G8jkKl
zWijIu7Gb93HSkW>{~k$L1q28NxOKpj_5YHDR|JM)aVp|T$wWM%2i<o(&Ogt*8R6j>
z5l?=Ocw}D0lb;cjVKU;$)^V%NYNA+3gZO!!I&LveN{Hj9N&*d<a<{4rcl&=E*X{G-
zuKdGU`d{O&`~p&s<F1I|2=nt|>(}BjLp3wgsJD*a9_W?zUkfeBqhBU(9}Vclv3`Kb
zq-aI>0C5l}MVP^VPQ`!5q5IK&emYbZi!>snIoey`V9J#f>o+@=s1N|uft6iW!q|Qk
zNyEhpR6t##bkI={f$F^m@_JjhL38TP9}|N;x$}qgYi9IQiT1Sqo3~&3{np&luWU*`
zdeDty>G#0V7+jtirQc!Xom=|d#}$s@`e@MciyuIO<JRdhJeE`tijGs}n`t=ar&j?q
zcQXaqw~k=v&<*aG9TDUnHu#Y)b1hB2NonC|rkr8c(x%&r{K)a8?6|UaDZgyxO4-XI
zmxyU);GVUp?kI0U5FiU45mX=N`oK-Nyd;X0x|KD08SxO1)KE+`3IDY;&_WzsL<jG3
z+z)}E*p7XjBC(ed!pi?Efz}L=eo*@|Vx%(#{6DY$&+*!_NPTW!OY^B+)uf<G*t?WT
zl3%p>c`cn@wyfjUi&&@_*g$^~V6+JQ4M~;^FakXvH--`zfQ`U>r*W14#uj}*cI6a2
zK#rq88cBro0$B%-KCn;d3XDw5a2{uMl^D?1L7sRH#xp2Le>BH4jlMcTJcMq-sEXV%
z<0_LO)x>dJcpd&Ls)%5ewh+{>E?HcBec8J7<^p2&7glMMsODvB0bWFS=CNA9b#_3q
zq{o|=mo&-d2nDS)m?e+N@H*m_xhb+4+SyKzUtSle$LaQu;BiZg;Vc6uC!)KZ%L35|
zgMd8`F0izBJ<*0>9I<favWu?_HroIOr~`qy?KXA)m?MgA1>=`8B{iJ!qbbr%9LzM4
zqlZ&>bUN)y3h*5ipx1NRXP%*Dm0JL+J*SVi1m}QDI{I}2Gm*E?i^;iOhYSgqvLv#R
zf7$+7sXl6>&Sc-1EfczADUJCmdNyEC&+gf|yg?kuj#3DaGPDKs$v^BH0l*4|Mbk9)
zmMVqVK~Oy^S5-&kO1LvrDwE|^_wqNjV@;NbWQj<Y2sK>-<vSMfWQj<Yh<EoA5kB5n
zamSl^wG1Dc<(#9n49Ac<&@zl3bGm(hcZKdX_Eu~Hf!cfNKGKo>49=C}Fcj83wC*0}
z>-ypM%%V(-XxnB7eSIme_YL*%=r9nq27AGkiy!9<V~4{C0pZK`F4C2`;)W+28lxJG
zRqIVY_#s}mc#<}q{Ku*Q@soH>#gpO)#-GA_XEQZ+*!*ZDR=ZR)nR$+krVqBOGRGzD
zhME_}(xC>&HhwJ+o1E0x%bJy8H*Y%N$DBR$Spn!~P%SsLW;tkE<j~1q%}gfX;VRHo
zIvw+?Je!(j-ufvuN`u}Rn$;-Ot<WgyQ;wN3TAcDyHq!*?QK9k-Bwd+0YqUN<)RiA2
zy(96X;y(tcQ1Rc1N*z5~7pOLhhSbdn9#k?HG{j*t7c3#=-gR>!yai~+EJC*sD!!h2
z4;F5l3k}DLU&l>j^TdkBu2vgjxk}Sg1@)$>s!Z#pNksI~XNsD^L4a0`v|5bly}1af
z@4@1O6tgTmX=Bl$LT6fRRBdvRQA9>o7oAG3Do7T{On8q9O($jMRRs5<LfJ{TqbhAD
z+C8(n)953;f>6<>%99!=FvsbOB2TRl^iHk}>XWe|;Hz8>(!olAmqv@^3J`u7NdEA9
zsx<%%z+f|UH`S8bxH;`A!ixzD!XQBECY}%p3*Jo@3`^Z%jMO!~1ZKFKcl{%QqzxaD
zrut`n&%QN7yx>f>7w4ZP4j|Fm?y`T@e}q$6K*C5~(YQilVMSYNjr${?fOUjS!IXgR
z&XPAg+N~*<M$&bRQ!b5Mc+K${hZPFgZ7Q4Wy?g<qvN;2)zCT1KK5%&t9#b=?*Icsm
zw=qswN&j>DHM41zE|&axorAsEUZ68<aI@q;gE!kNuq5Cfs$mB=Z3u^mdP9Is<HjjV
zP)@MGgf+cwEjl+EPTyy1)Ym`v!>_$~?qe^XwO+e$`c>=Y7hgDg;l=f{U;o^X;9|QM
zfz1mXb6kGr0-HfZ<qIHY@-71ith(}{4?J(ebCy@(SrYP=Z<|E2&0Tcmpa}?U)tQ_j
z@Lt390X@{A{GRF!b<0!JZ4Al1O(2A;rh&9qa36``pGQ{v25|TRzO4pOIlkF^tt9*h
zLY^Y>`XhknZ@TVP)U2-Ns*7UkvY1S}zuViqas{e=4bs1512Z>tO&oY-;JiL;!(t1^
zI{ZzyFu>7HU6-K<$LPRIfiQw`0Uh^XmjIhP?QWYc%79U%4IJwb<-);$ob>*?cgQFQ
z2KjeRlQ2tvS<h1GxcZHy&+pybTWlQ}J!~?zk{}N%rU?3j9TdJ6DJSBnWoVO>vmw<C
zk#K6%6I^|_CQU&2U9Wk1e}8!2>8u9fLsO@H&_EuU|NY=2^Tt~!KlBPTdMl}j8L?o=
zS2shO3%GJB`Z#Th)Dmc}e52n#%~uTIAhXrp9`cnEajOz96g>y>6-!JPVQS_z6L^J_
z792Wg1rZA+IgCL>lj}DC>YKPAiWV@S=JWo5(s2&$-W`DKD&O$&yAAouLcSJOF`T*N
zv~d!<)@}}A?w8jb>t!bp|G)CKZf!7?MsM?mfE)ibA_xrM^rsBbGkI8*`1!EnhWezm
zLBFvG`evl&{TBzKl^2Ki;L_1R6wp&lOJ<vrpO`o$n=i_Xx#=np5t4vi8gCQn+6inW
zp#x~~WD9TCaA`6&QG96>CZpN`(Tvr%pkpH$-h<zr%5<OYy#E2-z&}pEX5PRnG4^t#
z&ko`luB4#w#a(}OCS#U%G#nkiR55)c=|MM+x$6X4Hr$Nx)QrB7%hW6LdWJ7?g=6L~
zP4dO#Fm)Zb&fqp1Tn88CnBeq4SN(ydSZ0HH6vJT$PdCg9hNOEoEV}DR9yQ>Rhb_9@
z08ef1I1QYeGy<PE;ZTJn>*+E=zV<GY3ZD$>LF^5Hq0;G8dkd&4IOgCI;FVMK*QM;`
z3{DE2jy<UJt-`0^LseKx35_T2ZZXmWA=Bw(=$2^fS!$UqM!bgCTwT*qr$kGv@DT-(
z>Idr2p1-x2K6~->`uUg7*3Z1Me*W~C3-wo?`^4EZ7p$iW@T1B*)>GT+zvjk9PpXY5
zKmD9I!G($kYm5l0b{UBx*Tn?1swR{7G$+hYD35%xaeu=b&cLnP+fIfupszSjVL~3!
z5u_)zH`{cg<J83osTC=q-UsO=nSSXc|8Z0NI`NG465TvV!|k=ZbT<)Qa|qev*|@fk
z2jv;jIYDbDjSM{0qKUYGm9f`Nzk4zT5{P#~uDp<xi%j1cbqcNH=<KXb;=h#k6HBHG
z&7x$woJyw4)aepl_C6lB?9J;lb9R>XPy5W|kUH?0QQk3PIgISV;=N<STY-ay<%COF
ze|@G6MZ`H}cJG)$Tt6H7j4|&RmotoQ4<ZCaykmY0R!QL<BecY;Rz!@37HYazH+Hq4
z4-=Pb`Y5It%l4-`xSUr@{ov!wf{5K4=2*LXoIzN9)OtN>`3}h0Zw056sxS6i#3}6o
z*71Ot8JBXCraQNq2V{*8nYo|`>7r|T@I@`_w0|H2MO|K{9C2Jp*pwMJX4WKZI%(4x
zFxj1F)9@1c12LleR(wjX(`opNTxi&*<ZE;KlxP{hq4vrE&!)|CNXkc#V;iCKm~=sz
z??AQ@oXAj`K9b3@h_@qWvJG`8+fb*n4RtKrz_~2=*WB=(8~&!<xaxImul455d*PtA
zad%E?a$v@fY8$uZtTr}irf`>==BQ+suUV`!6;iHipvS2WDhWS7mGCoZO(Lp?w;ex+
z*MlFASr6v*cKLF!28541Q@vfjuy4&%yj{eBB3j!NZ<pYJbPH%iK_TqF@pB>njgfaj
zS(E~`cNeY<gwO*cl;3E<KLD{5P)|VvPWvVDyMPk?>!17a_#?yDKlc+toq2r#w*rxm
zil7}SZdh-39A$raOX}8~wDUh;EU^#x4f-{=Lj4zRze4>NXFC6C?KBkXRa2o(54v%z
zQ2&>4%sQh&{a;Y8%&SoUJ+5%<#H>la_{WD29fGS+#Dod+WM>PJu<YWrBmme+ElJxL
ziH<1Eq{=eGpICEAX^vaCfE`-+E!UzbVAiA>Mo?gR_;#-$F7GD&c)i&k(9%nna!akI
zJSAO9tM6$6(z$7SPMvs`9E2z32_-^CrVe%k4!TEOQ1H70sEpbAi+x_tX*iw-7<W$S
zdQcf&b&$?mRJAVy6a>%%b@%Gpg~1T|c20@VU<aZ4i0FsP--6m!G+x>#6qTaTp|75i
z7*+Ibzm?f>+dZR>5Z$s4?ey#+-=#EdM-VNZrUN<se#7p1xQs(Q7>8*3W*(4(Uig@6
zx!1^F335hSxS2u%CSb7u>xq2t^`Tm4X|pJ~fEw6xfaE;jq-&fb!|4{6ptKKeu|Ri!
zoG=ck8j(Yo^k8DK8x36W4&Sei=x{0&qhOYc{)`u9>F{*`?9)v>L*!^Wa;pKND;3V}
zWs8(Vb}GH39~ygj#DSX@gMMD3%WmkEDBNhd$fU|kpJTsd!lG%wDAeuoJw7lfd4Obt
z`<D$9f(sAS?k0L$C-Tz5Sfk3K-vhf1L)EA3&d@nK7`TI=7wM}cQt=EkqPK`4QVbPC
zA+HE-AB`~5fhDe|mn<7DW#L|=TIgph!%GCFzvOGdpk~*6)Jnrr6zRrEwb>JEn^2SN
zaZA@CfKZ5s$jO4-1+~PHC_N01p-m)|3i1Kacx1C#3qLLgmXSp6F<T{a4@{rPy{-cz
zx0lGhcd*<GZ$!Tpw-KG!#P#R1>`1kV>t7-DxQR<_P{Sv%2?5~YW7BOias9zeTl|QH
zX?7FW(t|M`G}BC6PjiN`4SR%uu!(Ergza15MQ@F)QEEYq?DH+0AhS1erF_+HRPwcK
zGfOJv>6VJSRa=;0pNr|pTTwXw5uFyln+pvooJW6co(M*zZRQ@|2(}&1hWk7CGTz~*
zRBz9uKfGtj3y;=oF{3rFI_Td7BNP@7Q`JGw?pyN|b&!~RsO_tx`w>NhAM)3K9|C+H
zzr44&bC>l(--KuiTCO9ER%9f~3LMl{R7BDWcE~H@&}PI%;l8rjf|#a7O09Ez(UefB
z$Iikf?wX3^Arq%kC&hfxe6sU{7%9xbAD~||D|;yX>5DoCtIxhg5?qHrjehbR)MTt0
zqi`VU3JzayTRL=gfh0;&5OFm)lJUX9?JE~A<@+ZiiQo>1LmV*s21DUB80auQY(0;o
z`!))In;`}8_&CD>z7Cto>u}avg*&%-J|S<tYtG`5M4zVcoxgmK5E`hc?j4da%0Hq<
zc`SV9gH!t!UHksHt`FMDs<^)qDL>-nYOK*JtcEBuXXLaXh5PO|7}ey@iywes;dlb!
z1kLJOim0O#?!YBA6tNXpQ!%WH08p`X;Awy0cB~foyo(q<Fgb;p5pFHtmmI_<cob7G
z?85$u1Xr$PtmndE3s<f{4YcWc@SY@a`3bW@Xo*{3ZfG(1e69lRNXKU*z79UKTb3xw
zVWr;y7!>3&X>UR#anmq?M64Sfwn&k!oN~zvyp1$2Kp|Od(9~$(wGIlH;%-(7-uR^m
z`xzkvkAy}|$<kwbBm<h6k$*K((*BH0b#n;7V`D54ls$_1xG&uXKWV!4yP#~Q`?n8H
z_xIfk%&J$i(LF&<%-95*hiRhf{z;;0^rsgv<q;i)e=KNB?<LG?oE<18ssn8>&EIBw
zYYWMt`oylqzSah;tr{lntFB&9Ng3-rvO?{Ns9>b0D69^J-lAB)1xQ^ip_I&$h5#gM
zc-FHm-|u^?Cr%97*=)81CHl7GWxU~F;Ou7XMrL^RgbJfv=_9<^?VT{Gt~VX8F=+Qm
zI(eCv-|d{bQm;#2|G};nK%ae!TOLf6(OXUm80(KBQ+20`MNCJtw(izADUtHn7+)Cu
z74s1-__vW3Ocs)(!(>?68^x3}Iy!K+5LdW2I)A&_a1Wb|oeFwY_BM;>V*z6Z!p3+R
zGcvPH`6H1je~{Rt$S(Y$`$2M4OEL9UikfLEr3c+cULHPtEJkxOqp9?}kauoV>3492
zW11IjDjog$aiDhFy=_PCb+Bz33)9ex-C7nVlH<o=Ep-|Q7s8efv26OFL0@=}gB=?g
z@=+w&egGNn^vIxy^9r_c^q!@chO|flu(-49w;>7F)GY;U|4`=(GQD1S<@r}u5n2b+
zB^mp1IMLb&U^92rEPAIjC(JghacncMVzV*}|7gYLaiktsYzlUY%*S}&{qR&esA4l*
z%KEp@G$A81c6P;PGp?VFL(`b=zRelNrdNc3uwwJ#??PuB)@>RSOexN^L$x@OHwW^(
z?lKfP9qq}}1=#8AEYom@*rHHypJ6OdeN4<dny0+DkjrT5W3>Hf!CERpPMd&M;vziZ
zZ)3|+jdEyzlg(s{#bP#JOFc8wPwE-#LWDXxB=N*0y#wYi>U{>uESb=(5MOnLNPuKB
z{iNbs9B*<b%dq|_W^#pEzE;R(bERt8`Diu=`2KvYn6Fq>d@AS5L{K)L%@@lRgg2&U
zC^Mg_qQ9!;Vy&Dj<z$(KLb+B0#(XAQLqSv~^whO{amF%pnOYgt<SJ#*QB!5sDkT(<
z&!D8DC^J_oWoIuF%`9hg#eA+-Ey*&Al}fP$$kI%ySS@gw*=i+U%;McljmPB&HSkL<
zUqY^mEVNW9RnW0D>RHkFY`Ije6=p26mdRCfwMwo6GK)lL7K2o-R*F?CU&z#o1u;n3
zVy#lHp`Muttz>H1QlS9C%IH^FXr+>`R;+w2Q_1D4qV<JJsg|wITxhYB%hmFgVi992
z3$5mgwUSjRXV8(N%zPD0H|sD}G6gVFp-`;kD+L;QYJD}ItyZmKDN`wxbF$DJCMsBL
z#@3_IGMZM*m5ZwN)qE~ruuA1jrJAjYLUUzw{Opt#vqcmKQp?$VKq(5SWHUu{vn({9
zFBE2{6wLzT=fSJBtSU5z*<e*GnPQ<<vA|cwY{6NXnMsikL!YZuF;NSe&|C>+=CajH
z3FBSP)GD?7yoF|~`6?P;tP<z*IOR%ZV)J6ATte4o@|9ds7dn${i%mr0^Ss`Ft(3A`
zo8@w&Q7+XQ#d4#%x!K6qww!FES}x@p`7L-w_S#;{X?|ErUM2r<FpLrVrWDSoq%4gs
z0?qRITr2Zoi6~?WS%%Ld`A&<<E<ClmP)OrRs`G@r4~i0ht)Z98$ci$~oc|<8A{*7o
z)MHuK?Hh<<?pj?3=u*3+CA5l#LMB_uTI<h+s+e{8i0k51N*tO2P)WB*S`IlfVeg6c
zR$h{cUP6O2k-(>9jZfD2WQ`YcK3U^uUpbRCK3U_#>rk@B-*anxSUGbuMrm*>PCQSN
z9`g+@G~~o{k=(8h;>Q!CT?pKA67|AuQZI~0zM7lRgDM!NmwHeY!}L-Qs$|%&)B~y+
z_AB;aiiYW>9$3{dz1RaQ8}=*qVCshbN<H9aWQJl7qH@@;*aIpZ_AT~6YKMJGJ(%KQ
z|6&u>!@E!Qu;KKYZ+d;ep5OQse4pT^)V(PUV#%f<*iGMqHi_x;IoUMiGRdYP*)&)d
z8$XgwL$YZQXR5?r5v*$Azh<{r#BLhGnvE~VXg1~zcsUzrGs12oQv+VE?^`q61t#70
zBb+j#wM~h037kxB0skZ@gabIb<f#$_aQu$IwI}B%>Ha{-%pF9i;s$nHlVbT!qt$D}
zl?nH%^j)Bz5H@d+df*VOGhIIOBD^)=`VQ|@@>NCH$CWGEe~R4UPs5P|F(U9`^&E*#
zzAXGMnr#jr2OtEwUv%1hM*uJ@eB64YDi!YX+O;)febR$>V28troy>OTAN^F**&Ooa
zL4jxce|+Z}7x>SO?qn^{xcxF%&J5WJ`>q>ZtX$2G>30E<?Bw^gNJ*33GF1=;)y>Y4
zox3`IdbW@5ZoM(R9iFYGkfA<O@bZJ(@8Wr5CXcefU-HPMTsH9Wlux=NdHnx4PI%4e
z<oU0Ocjm>z`Imxy{-$zX1{HLFS3vap1XPG-SOuj$8vhV(%8^uzzv{e>hwnil`?g6t
z9)1Ij8FxGsO^k5KU35JB{7h^T@%x+I@$f`kKTmT!T;>dOIv#$H1`U1_(7Lsgf$MHv
z-l1JP$#-biPVVPQ!ugl!CfeFby;?BdB)^iSkk_G^a?1w9Q4^tC@K%)Rva%5QiM#;g
zzesnII(uL+`lTlmUIM5-|0$d^>U8m&gDb=3=NE7z4OUq*1-oy=d}fEry5Wf^(<o=e
zYPDJ{RI{aG4%d|OH<80^P+ql&LChF56MuF4vM6{gmEaZy@4rkT54CNvs7UKICnkp5
zR5=f~wpt-nEdeCev7L}bm#f80z67tk0({wOm8vRvtX1{v4n=ihBqAkbGx;i<l;BO3
zFT?ApTrHJkg?x<xbqrkyG4Sf%)pozHyEq%YusY#1$%_f6-6>8BFH|3o5umqXg#F93
z(>Tk8hK;b#%n9AQ@#aDxX2lK93#-<`e)4r;*;>$YRp7-^HWH}xNk~fq0fr>S2gn@#
zj%I1(m6V+Th9&nkfgS824N1-g!KwHr#U|cMk*Pm17aQ+cqTt@<;Gz<$P`ZeRgye!u
zst6_NxWJN8;0d#6MCLfLxB#_wd@55Osv1a?ZICoXX)%&eB{OK=&~k8t1)<6vD+L!w
z0*WSY2pNc9LI_gZ_qoA2;TjBk!ZlbqXX2W$Z2L@%Y%@<tvs}9TgMmB?Z=$EFVV>K!
zW=y9^Y8bIajn;OT)i7VhzC9peq_H~~T7;yj0W9(u$D0ZK3lXD+kCQK3UT2JsDG(wb
zJco;SuS1v9+SS2od{3{^AWTl68DQrt7y>Lsf0cgC1t{`morCpJKNi+U{oU6{=>!D!
z0kCp$@7R#g7FeT1fzkFgY}D<|4(_NUpwnw@L<K<?6)a@(J~4`-UbR*%##gMX809(z
z<au@9Wkge~CK9(0uHqsk7siQ1mDk;22eE;KhUj_X21`{I<q4ztz6~i4M)Rk|X#S)g
z8=-KVt|3y|kDs79tcDfpqJspus_b+gZyjI%&t^K-28smeJ8~iI2R-TLvG(J?LfZ~{
zz21L8{W7oi<CnO?v7>N6bf)EW`nV1php>*rfu+;<RqICP%@*#4|23`~=GC11_ALFO
zH7EZyQjcp+ME3+TkWmxjH78-_IB3XbxRmu@n2E&>tU38sTt83KocuXw7-N?R0g;f+
zZyZq}n;!=+k!~K~k}bD6Rq~N?9``2=Ax4EbYY6a$3__<nUWQhm)l_O4FA~gcf9MmC
z^s4m=13cKBOF(71j7aHoxU*NGS!?X*Ny*y1MrYV`02Q%i4?DiMiYrP1x3ea;`b*Xd
zL*!ABs%41AnM8Fah&e(Vv4vNt*MX!b+XR3w`iSa*`zZ^2YA@n|aAhjRsdBSLlz0#x
z4g@Q}6cB1>Aonv2<NTtqh9HKtOL0Pcu_fR;ngZLI))Ij({7MhNR)_^6n+0Esx$6!U
z5Qhpl7s0TIfECB0x~$(FWUTcw7B5CZr9z+|VucbViYiWbJXeBj1ENDFz)*8+t8;^m
zH&`uc8Rf4SecNj{2%bwej$6d`mu_ykn_mV%CkAq`xdMD*Kyo)4%Vrp_<@k+^YMmtq
zP}Ig~OWc#xU$jIMvNyP8nQ(A{KqOF=Mdk~(chw6Jl2>F%z3%{pKNL{U<dLCOC1F5u
z*;d8N^+sKAvz5t6U~LB7=g?x?8ur?+4-qki7Rz26Y#WuEe7z{JQ0&gKZk%B5C7`cJ
zP;(kf>P&M3K{(NP1B)1ts&SQo+f^~smslaDK+gH$GMT*k*yI4ph0I}mVJdi(7@m6(
zBaK0Bq74HtbWbWeHK0~^jeMoBs#mQktx$;+PK?OQbQ4Us1dCEs5HEucP+dH!c0poC
zmGN(o*0d<@^P~Y9pVd>yKo=5QQYXrMf@7paAnH_oB)N#27$hBkp`(bGiPL<i2Ye+5
zaB!0InRS?W^e#jT<;9fW#q>wqIhP<1KfsP%QU=ka+6083AZ3Rxfe2<zK!TD~EG@1&
z4x@>6sdO7%Mw1B<@YJ<(ZoJACQiI1-x36+42G-}6T*u7kp$>7A+>W}bNFZM#`FqBC
zl}P?X@+Xp?wq${HnIdvkqD1n)og{zwAoszC#?Q02Vp;e_I>kT1g@!E)PaT~vyesY`
zvLTf)Q1RnGQo}%j4z)EgA}yUW9!I7XBhMro`yWa~wY2c=b1Feula3{)_?YvqJCkh0
z9!eIH1BrkEi#w1o%ir>mM6&f1nLg*4L`Pa)TA%|7m%nfuP9t1U<TzqZxG60-(5jRc
zXM;en&}l^6on@Rv%$Yoef|-vZsO~L4ix3S;KHc@hNUWDGdv~3>m@F7EdaPu@Ftk|7
zf+3Y$$%5f03&!12Ufp{OM)*Xt6mz1P*Pr0Gf>TV`v^3S9;PHKHp5jj+3^&o*ruY*C
zhNxQz>j(;AgXy2nWX%d}k1&|#Lk3fN3J=FdT&K+FF8&$ho!emgDXwtL0u~VcHPco~
zmk<UBBDtj$A1k%~BLdkw)ta@G5`O665&$V2+_V_}1gD|Ff_b&0$iJ}BTM&0RZe<1l
zYF}IucVx1%85ef07B4SpGwwU1F=3V&#<9%2#^u2*yrYfF--FcS#$~}u;W;_sqO<Ts
zx=qIAznEz{Mr^yYyXF66Tt81UF8?@Z7@JxV0wTuczoU)I@qoQ?D88@ZE&>zQm#jKu
zU{xlt)Td#q8B1}(@Amao0@8lB(thI&-0gD$rYHwC;j5nhi(Dn-9YR4Su4F&&)l7fa
zx&+8#a>rCQ=F6$qcDtCNxPmx9BPOzM6HzM!iR}6L)XOd`prO9eNa5_wberm{&(H}1
zY?*D|9Z=;o^{{A58w<Q!>jo{Y`DzGb)at?_7YrU(MhEv>Mu9$fCmw`a-COJRoR!Z2
z1GZKwl`55Ntw5N%u$aTFJ7_lmUQcewdED%AqpsbjIjjO$#<*L9tn6)oX4he9Z^M0~
zNH6K9nzi}>#il$cArBO2VE1NA<x07l0|au&9*-JwS)c}ItA%nAxVyDdv5<<82=LcR
zrBDI1FyNmnmC7Bbu^c54Krn@JxlpZ?5M%-v>M(@`K<1+N%K2&y7|pd(?v4{!sEkoq
z&gXMLs?O(tJ`7T7r7(>Y&4N&wYB3K$+e)^27e;!#7mMXu6=5(rutW~Mm5Z2%6WM(`
z7L-JG3&nLJyA#>Xn7N7Uo`02|U3P~LQ~w}llYc7)-ouAs;QjktXxPB}opTy^Z~Zi&
zjZb>t88~5vciwE*5khG4fdJu8(GvmZqe3@k*$?xffWxfjIThS8Z3kIiZn@H#I%K~C
z0;r(-UOMa#YwWq_r%rCWF@$_dFozNY!k&BboWNz@k(0t*q*_}mt@VxB&kP8H!~p>A
z*=|n+9)?d1=(Ia?Y@lJ5bk25gxV?mqOV0T9N0T|@>EZTLImZD)6FTb=;`UNH-k)Qq
zh-r4+WSvOX3G><(Xw#B)VoW<}u3#q)yt*ap#2k9Cak-YP6Ct(YoEwDk{+w-{2%lem
zBj)@vuQ~Sv!I>p&%$aJ={l$H2o?^}wrjlrFciEh~d^i*yZUkhnD5HUh*tXSW)1wcP
zp(Hk{dup&a$6rqg7C-*Nu+veupYmN;!CA`^*E@SEZhWS+nn`x<f0#qa@1tLHg^>RR
z##iKE+jkzFWk4F1pL066^B!?k2+$_tVJRN=87a`b6_$M8J=kO5fXvWAsu2gx9<=K*
z(XRK-)h-oGT_lcI4Lo2lwaPAosaL6gqNctnw*|vDpb+v6peNlt4yIm4+YTB`y+r*o
zZ!q=KT;Z4jQ~L&7{GT5^bO_#%6wT;4bu~#AJ*Ts!f>D=5kYPG4+(XZbz-!Jyb~%-Y
zomVLl|8ZP^5i}@%Y|9n60~CU0%mN*1Dl>e{LGT>G7*LKu7qI7u%ViTEGIAOf0tjsb
z5txaD38vNe^kq(tI88JOuJRl#HX%<a5i&|*&a|Ay)gWL|h6y1Gv*$D%&jaWtCv?3G
z`J%yz*jrS!Bjoc&+w<%0)wK(Qp#y&i@~Az||3{=7U7d`pQ`fAtrTgj(+#Y238;4j@
z280zFw4<WF?YD%RL{L+RdQ}r{ZFZ~{94Qcz*TDI=+w)*S^BVw^-$wLb+hbCK_*Kwy
zDGiW$C%tT?33rEnzhQShhS8x117(LE2e8NvITfx1>~!n_BgF-s_c1pJ6PD4DTqRu@
z>vYHiSibf8owhICJc3YGK{~w#Wll#pgTN0YD@TXB(>n8U8X@8-*;EQ2w!v_Aqu~z7
zWZV&BM9DF5W~u1>_0QB_yKwg9mruW1fBy7^)9IjkN-uA^4ppC9HR_jzQotwpYcc4|
zC2MVsUx^~*<e}v1M>xHt&kehq7$AsKF-9C*>p}kF=3nRaA&_IC((6SMdFdtYNmUm8
z9@uSMmiQ^UoBJ%`K?#0SDTrl3q~aeDK}<m(in(Ga4E%SDbQt&RY14T})u4WFW!PH?
zvP1H?U{<qhK5C^mdT2tZ4U=lKC)PHhCfVbbt|fKck~7N?JMQL=)9}qp(ZOZswIXy8
z)E%c7WQsJuZeuXCw-lg#A)+`ycGCebBa#^G$G0H&wmq}NOxVkcuUWTVLy#=ZK*?JK
z>5I_WCWR~$A`9nvR`(V|IG$R2mQ$Zv8Y`W<@OThk+i&e6Djhowh7}M~9Om`491yy2
z-})v*q4`OM+(N{z#U}_`*4GTndTe>)7Wy^bO2;NP4g70l;2%pRTNiSHAwI)=07x42
zn``-HP6H1Zid<T|uztS&{EM$HYx&I)<f=DTSx%7H3`9En{*(9+vPef2bFoUouBmym
z<F<Q?{E5g=wOQ%?+#kf6xx@_&FIQYxNPe#crMdkKNPw)x&_%K_e==JWGhu6nm7D(3
z>#!yXg%BTdMU*O7-`B#AT#aH+>Jt8}OGM|{z6`R4?4|?^t;FCf(xWIvWF5zR6aC(C
z8B-cF>1CJJ9KcXuWyfS<5C?ju&7(yi*bsR=l620{AGp1EK0i~J1u{_R8tpRLTZ>c#
z4b;jh`U}fL#$1l9Q){@PcPaHIw;y8ANRPNVtShwSS<f;hq8RadoRx*l6$R1opC5qa
zt;OgXVm(#JW^#GQdTQJFuekw{CzzG;($9$#nv>`;Xh%TTG7?$23CUD*X|3jj`3VUD
zO5SyQ8AkiGw;k+NJP-ZEd5RPA2pWtPpHr76q*kPeEdeJj?~^n%NN8n6re6|32sg#A
z6VF&LwQ&kzUct@4a0jFPAUMUduK}xo#_k!>kJ0`cA3#X>Xd*6PW$bm+@19J71Y$9s
zX{VdgzfHl7cqxb<X;nbEZ>Aw-)2p~4`6ewK>*(PS58KUVoyC~SFXkg{^VZUxUN<Ls
zgWwg!OK?}0K;6Yoj5~)Hfq~uIcGfOISVFR1798a<2-1M&{#v@>0=#7rJH1v0(`7La
zsiPl|1&?puTuNue=6W$`#U*aS<t0%hP&LTIZH->8aelx#EE1(ll2qc2CU&@MX}>ja
zAO-A!4^txURPNZ<7m;llMsNNf;AU}iJQKWZt>iMmyIskv|1Uj5Jtrz{DsQc|bkpb*
zlq@h-cr|2_WCpag36DrDUunGIkvhv*EhGvFQAV+jSadx`&{xYX?>I67rJ|0Mbvkii
z;Ws7c_*abX0GCq}^Fe+I8yl}0VQ>~m8ntM&J=$a~sz+W!=2$wg<1#6t1z}0<)=;FN
z<@OeyA{IUio0)86ux$$W4X5CplHu!pJDWM?DJ~c3HA}gOOW$*`pA=hakw$rnCr8`R
z<{~(qB}d!jXzPVf*2&Q}Ioc*i+iLttczipV9Bm01EIHaHN899RJ6Zpb9Bt)UEjik9
zAX0L)b$ik^m5fNq(RNGNoaQ;&hRw-m<IKtP#tlC=i(OgA4QG&gJZ@N+nZwQ>6XJ%$
zM)rfo4Tnov|JqEZ`iL!m_PAj;uAisH4R<)hnAtr-KqPMX<bw*7`st2;()?$A+8*?v
z*jlw-a&}=c0=7Td^w_3LD7e?!?$85J^3|Suy+_J>p)^}1<?`4M6p~yNsl3^AV)&tJ
zEXc`017^&Cp28C%RY_YLwq96-OKtv3neC*%??_uinvgY3wy?6yLgn)?|7=?bf#&Nz
zsabZXK{{!IEJgq->yi0V95yQ%+VfO=*av}UBS01ZdQHLyrd#gmCN7{C`z=^?M5#tO
zq|{Vb^3+n{TVf|Y-Agy5Poi=E_h^M-pIyn8oKkMn&LIl6P~0q3Hto$~bt~80EM_+=
zg+c);*<RagIn57S&rnwVa{*f0@ot5`lkV1xPAjs$2x~7w==E@52;eGT=I9Lyg{MK=
zg*l@Ovn!rp$cI)qQmZO*%_?VV1@;6xbN-WTzc8wkslo)~<+^<XwvR3V6T2>$4>-qG
zu~5OyOciVWIaM_OM%DxW%zn#oD#dmaGEG?8LnIUkEDS+l=D;x|HRr|mnF=n)t2!8I
z81Pd0Of{QFz%v4`5wq)jG@FA>p-?E-YE}*-hj45TvCEb6wR{nuLYZ@!8igX~5Qb5%
z)KunLrG%9E46+nOW`r$gV=~WoTYa?ZYz;Bz2*(CR6<KwuQmTOdS_U->y0hg{wN{AI
zUCZRExmqPxsZ~qG5;A9zqKqK+s+BKfYQ;jC>CWO3!E%i{B-HA8ub7YK#yy6)S{@Pe
z=uugB71OO`70Q`vB`>PZS8=W2SfBCD?zuvtSjkrk)Zs*UHJ`0k5uBf?AiQ4Y#!ZPu
zj9|3tLajW<z3|c8#cZ)$#EpjtGtUQgSBe&H7%PGeMBTZ3zEFs%8x(<4fJRWRWmRs9
zWVfmngxA+97KRPCF$%^Ut9q`>+{bexzP}2(i&bJ3?zCK~48AB7Gv!jjDrNGOTrsxp
zNC<nfjYzf;$u?qqEljo%$u=U{MkL#aOr@Hw$&CQOey}+h+l0KUw-I3#(-&h@AGd<0
z@S7B;@dYk4jHd81v>zLr&UU-^rq_q3`i)OHgH8B+b#GoGFE$*L8!eoV*ETjb-rTr(
zIrS`l?uf2{^dbzdx@IUw?ntOR4wq6rqJbT(Q~0@aZ6iHMfGVyOAsl*1{-zTNO4J{8
zs-Nj66|eA_DQ|3|WZ!b{?pwq~(^K>xfSuUwJBb1$QGg^05a>TEwS24!1Ns%fFCJI{
zG7Wtr*;l|x+DrBoiCHDGyGZsG$-W{ntR#k&QaRCxOfam(?kmFjkspcCkIakK@@Iig
zB<w;n6|Loa_pKS;1KqyA*E%}xup=B)qP0yyYY7}~ZsGEcpb!QiNgpu*NG^WYeTNQx
z+TlPg8+USZur&ZkLf|8O<F5#M^AP*o?optew81Z1o4c0qZV})U0+(LJ-FbA+u|hcM
zDQFgs6_a=;jX}Fl@!e2_z`9R3C<0E(1g#*DfdRBsuy2#I23<Ujm|}Oh2|N_&srm#!
zAR^2ONrgh~oMwgr8Ds=2y#@jV#f_`<RHoN*hn*$`gd^|_FW?g5yM20w;h*oa1}2Nd
zT1k3p|DMvbbmzavJb}*f*Xh^Ha5)NAX5q+fhm~0&u8(?xO^1~!hG1prNjHySW&TB+
zD46lenct&+nHN^(|KJM8{M!Opna@9wz{&*JGw<HmI~m$-SrT6+cqSJj3jZ~bX2c_Z
z$cI1RG017U7Ktq60$Cq_9eTqhjwcM2+;!l}*Wr67sD8uyPQ<!sbfC8bz|Gl<r`ONF
ze764lnO72U8^cv@65LD@0hmMp-a8S11pG3Fev^RR5HJmSV!zA4ZV*aF#|Ofi0+wDI
z=Y{P7ZVdAo69wMq*9j5@%hk5iYXe-)+aDe0)Y`e%tf!wg@J|@YB^Sofp;UJiLC096
zG<r^Y9Qr10BI@w>{7M*+CjC^?(*JRa@=8tb8A$w#G8l}9E6A?oa$z8{IEWZVw3(QW
z`wX~4v}d7|2f*Pegoq4CP{W~$o&?tu3-Oa<h@aA=<|(qx4HA(*3Asmwm|%}J4RMKz
zP+&e{!HuMka2KVoPH6t5Dr1VMg`0`F!VpGa?cvtegyLnd85=$#CYPO%d<+wb5(nr^
z3b}}LPXjL6y3@c#^Wzo)k|+H-@Qdg-aQo=51jy*E0y3gi|HW?KMVN;T^^k-(qTmun
z9i$Bb-~$J38|o(93+{S8qP_@K6R8=nl>P>AA+X*$TLKknokBIBaB90D2%o92RIiT(
z?gpjEPbMN&8fZ@^7|Y3m;NeLSgG(h70Ssy)4%Ncz3jqq1!kF4Zl$8g>MlxeAzP@Z-
zdUK)M?k%jsg^z0mR1gpv@XSb43oWO;-SX-2=4Ay~Wui-|wn4xsn5#U%P+qs5u>v?M
z9YUvZr_?!74+`N<-TvX4VT>eln7f_J(tKS8%K((GY40-TV-RbN4MQ%w_=>zB@jTyj
zB0Iz!JoF+^x=NXn7`ga?6DcN+8w(COa=KsB=`e&OIyskp<{8?^Fy$#gP~sg0($(>2
zosfRzg)9O?Y`qSsvv3(pl&Oy4-#;VOMQxK=>>IOXK}ReB`;EDn&i?}E%(HuTE^m+p
zGNQB*Iw;d7|FCZa@M{<dP0!d{suH+p*-Qyli;7hQr)0lyCx|pAPpdA)mjnq-pw8YZ
z%-TB%2rW^@nn2)*GB#1hE*hZMCNB6LLmM~Fxrs71QO2^~CP5k(DCObZ&Ao^;o+xAK
z@Fn(^3G#TNj5XlR6J@N4-<~LA6J;#jEFe(i6J=~J9q9A4y6x?PDu4U6dwe@UqKpOZ
z72O{KJj6s9E3cZ8cRM7?Sh_rd6~Ck}O_Z_8wG?#c#XCY78+O_K^Ej8?d7(SMIg9VE
zhVJ|Wq#ln15U#x8NPxQu-TC`7xkE?%rDuokeEN}?8#kvxcOK^qW3J5+0wU0zM^XuN
z=erlWvoafWXTDf1SBt4g80LgWL}y-z0E?1spWOfmdJ<72`HF;^6bTJ)W%^3j>T!k8
zw%#k)71hl~&at-~JJ$eoXBNPR#YV22tCkD3X0=hM90<Bow9>%RBoNIQ<j!0<lgkFs
zofxzkp*z>CLOzp6R=|JWI&^0lFp6(AbZ0#mfOq0=axtstjaT^)d?!+nH&(>KKAa>U
zlOzw+QteM~Vq~OpnS8E>*wbt|moJoocSs19<!m-vv2p;A%mer{YvlnKkj++sfM@{+
zl>Z~17RXJ&2L)0h3aS-KwR{$Ej@7Cv2+*2<$qWjrW-7UCp0GsuzY>62#|p~h-o8Sm
z28>bQUREVVg)E5F1?4iOYAIK>BE=DPL2>zNrB<${3Yk)+maPGtGnX$b*wIqHm;>09
zY#=a9v*lubpW^b_Y_5!EmMg_<xsa_EiUk6;r2axPOJ;xNiUgv73Z^s@Z9umb0ku#r
z<y3zWUFaQ6SFu#2fe05DX{Ms9QmFw#tAIjt8k#kq4|*TaT7VKQkC#>*?=<vCxdJ#;
zV44>4s+DE1MZu~R0C`(rq^=t3BJ5UzRaI>*ShBbZI;sRl0CX%mty0P7%C$niR45UI
zDs>t_Rncidam8|}g8qsYCx;YWP$+^FDlQM+LrZ|TS}4}kkOJ5gfTlrlKtv_b+6l!K
zGKFfT%D}d%S|$q^(qb8dS|}NipZS_DE=zE$fQv<Qse#56Fq;YJjB*~sP%2b`*otNf
zz}0-Iqzj^EgJ!ch!6dTROuFDiRX`hSHBbi(UfF9|OtMgM*>ZVeab~a8fc;uP?kxBu
zCva@@=u|L8sJL>qW|gxU%wdcvhMBoIW=siP7Ra*sB4&NAAR9|F&7@8|>*BcYG>4eP
zQEBCTwOYxdUTUl8x?I_$4J;Ip7B0)|HwD7_)n}hM#6PVEF7LHYT}*a{?`AaCWM?>G
zdrNyX6VyG~8A7HfJHupWNZW^GXQ;OMayy;u46Ag#f!>xRJ3~Hkg}1@?`pz({|NZV5
zz2vRn>i!`CRXoduhH-U20@Y-KtNX6Sze{$Y$qsb<MxqJV3f&7k&<&}a6wtc#MC!>6
zsh?DDwT4mv>{2q)QEn(DW$;?YxT+UIQ8|__(N!k8%0yR5ibkpWG<92vt}@W@R&(zF
zU1cn;p;TBV`^9%PUUITuO!kY(e$gHz`$aY*C${axwk<91iESHNY14fC?y+sh?ia)Q
z%=0n&%z1IJKX6p*FvI?+Q*p3s`_>H4xJfwJ!rL=i+g--Ne&OhFGazAf{Donsvm!4k
z_g37kmA>1jyT-9GUGW&C+S{{RkHfzJj;y2O0EX@;IBRxN3zAzw@^3@(4_@9Iw!W*C
zZ#~&63M^#C;m#ip)t|pG1cqGO?yRo7I_%NC^9BLl3gKt22w?1bW2MhmzZ>M_eU+O)
zv?;d%pDpht9nT%1?*4$fmyVglsaCgS2KX}r?Wp1GwbG;a_cq1NarJhu(HS<Kdc*Vf
zzDO;;Z}ezmI2brRzb@0C8$GPvblN><@7(A?&+&bb>+OvmYr2i0-|l!BfYS7Qr`OyY
z9sQKu89LtHSN4`Zzjt$Qu~j)YItIKw2iQvP0QryM0yPJKXWc#?9un2mQTA0lrsU&r
z(81FqzT2p8+KsF971bR9U4z}d(c@dL>-SvWF+RR@-{=uSKk5y;^&12yzK1uDdOo1a
z>lAH>tR9N|4)Mn6IQ*tggH&&Hpg9A{s8MFnFCHE^eRts3JI*zyv-i?_MyZzF(T_()
zk2yEm=qmsW4n39V$mmGZ*&J@8yhpFw0~%VS7&vwpZ;tr`yWvoy_P#iJwB73u{kqcw
z!V*&LjgAfdt(EGE*T&!98U9#z1_O6cZvpeX;|$QxL~6s|8@<;Z`r%TJa4CDE4@JI2
zirD$PkO-qkMY#bDD))DWKSVN*-bZcl&`~XPQ3q|>8$Hsod)q^M8w}+(@%$dAw>SDr
zgda6%)|*Zr{DErP+|x$^5VeJ7qDR`zI&_j-?Hh!^|EP^=Q4d~?-qQwCJ<=R@`#?XE
zjE9cp7j5v|pa&3q6!TtwgWm0VH2lG<zUK^^Zv94=Sn7R1jR$HNI6uhAT+;CC*V-O|
zLQ+|Ez!?#C7#bp}d_YYIOrVF+7!Ol`B@L24B9qm(+8s0wvgX_9FI3_=1CmA<VJfYO
zA%AFKU)PUd(Z^_3fpdD>V8l+l+xGW9ap?d2vm>KN`#?!Tw>X%M4eqjs=?&dXSf}YR
zvRc01_f}7wxPJY5Mu?Y;JJ>$abgrF1O7Fzp=n2Zfq##G#ce)rT9|Q9s-mg5BEuv>1
z9c(os)zF)un(tKA_^ykI-gf*guBPR8JE-EAZ*O82HT~A!OAn4d1fJ~H_4L%_*F6CK
zJ9}Rmz0ce2`Sy)^3*ciN0wCKP9VRHQz0t#7*TzJ9eTaDtX*Bvv{45^p9T)IdqH8}y
z*IVND0B0cP8+w_$5V@}o`>5hk2qnMmqyL2*_!79sZM1t^-~lBV9w$-Z4L8H-9(KB$
zPP5+bf`vUIRy=$DF6wSMj*oXwG&-(*weEE7cBc+-xPil><BOxmB=#D(w6i7T*_TH5
zJH2ar=Z2f32ZbEL#03umm$Z#p;n#r@x$QtMfny#6HQ*^M3dAo>XUl`|96cU-ONeIt
z8l`RNhodxin*9C&dMW;1-1&Z*-8r?&tjI-X(h{|zm#Cdr4kIJoDnU|yW!PWAB@9Nk
z6>)9D-p<b*MY<=%MG`9nxwoPq_q@HGFW{Qe(Sj<3Kv}6U2(J~EVDv!63JJBh^8>KH
zLYN}j@tXQXCGPF~hllXtgCy*)Lk_ogR}`YH-D&%~dpqAtt>mSBzn#Evbd0)(?ir-c
z5*>7oTYHY%a*l~U$F!W|iqCQJ=Z3BKQTqQERkeyc|CWCJ&d#6V*Uqcxs-6Fj{`z@z
z#?HT^zrKi;@BDlE>&s}=&Nt~Vy3k`ddc>R<JYbJBBsMKgLGgy<pGqe<!+aysfnP9@
zx|?oC&oxf^{>V$6`dFyMW2#op^mwRzLL&8P?R+9ymi%&Pl!A0_xI>bld!vUMZl?oY
z2G?SRe&CFJ{}uG`7xrF-d?6%arw+#TcvgY*$F-0Sy?#i)=2`NP+MIxQXo94gw2nxT
LOWU5|X6F9~7^;##

diff --git a/docs/build/doctrees/functions.doctree b/docs/build/doctrees/functions.doctree
index 8812add557b056c2e46bab2cbdf4d773194e0f45..4043b5890974499ec917659aad75c8b199ae6bdd 100644
GIT binary patch
delta 20605
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%0AayM^b|dw9Vk9cfK@b^f=J&s?
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

delta 19672
zcmZu(cVJZ2(q|4J*(96ZH@oSTgcL$oItoNE5xbNG1mdNb2+{-vdD5j_;D|^GAj$&-
z4DUr05k#J#qJRYyK_V#PCnzdSeELnf+kE7Yy?4)<Gc#w-Z|2M?o0G2v&RH7RWNOo;
zf!murHK4BX(EVVJ9@NL2_|5ZX#n5nb_wZikfr{bg=&BxdQ!5*wZi&$j>b@M319ewM
z?g8__us(WRg(Bi6=IY1F%w|=?&HJj$>*}f+z?}8?6Lp71AZ_N@Enxn8bRYeDv_-pX
zTzB)Q$A;_MHbOIV^!Sc-FIOY?=O%81y8k|oEe1_41!!r)_$2diNh%c7U6`T(x?(~1
z-~wBtMpcPbjjNnS7qfhPjCtSF)8PTEa_Vid%Bk+L>7rXyK9rf=r}l$tZ^cNPx#pRC
zc#2BQ&?KiCY13=6pcTwxny_S50wc}6)3eO5ux8l&^0d+LlDB!SG_UhCueF-*^)|2d
zX}))Qi@)hQ;c?a7rfdEQ4k$1iCX9;fj$L`8s(IB1)EDZOs}!mnMqXXmv#TNCGL<-t
zUs>Scgh=z;jMvo9Ha+SZj8FlA=A~O(1~d&s8Ztz~5~o=)Ylcb-G;2OBQ9s#C*c7Rf
z0`=5bh=(L|+PoZHQ4Mj>##}JlrP>9Wwa0s_R)OZ;uiB|@f%;MaaI1!kNp>KnuF|F`
z92smMg{_jz?Q^p5^NTrc@H2dFkxE2C>oZk+pf0DPxpNn&C;VjBSh8zSb{91}P@|=t
zYOV;LDT0@J1+RI|Be)p~#?~yjh6UG{_WAWt!-7Zq3+}YwZS|g?;C+_heJuEdCHSNW
z{z3$wyQyFs3dYtfcpnK?`vT2h7VV<Pw#5%XfLXcJX>KbFv)vNJV}s?L%+|1v72Cs#
zLA-g`%u+FddhbEVQB6_ovK*yQi~HbSxRp69+z=bkjyTB3RjPhL`qT)O2=`)jsVWcR
zQ5h8E9+kx#UG6~%Miu)6nMbzfs@_2?0@|5tmgQO!GWFA4Aq!@B#7y^!$ug(ty`Z_O
zVp)`0Vzr;{X`ci+@G~Ma-rQE~u;=+W8p7$mXtT4UnR(Z8XUtw?YV=n4@eaL}%9}p&
zKHOJ#e7OtY1PWo-RmXz#nnYD=PMz7z{AR@+@B`N*kI%3lBhAE*&j*=Zs-w+?FIGV#
zbKA=H>W?7yVRbFYd}L)Q#8DwcnKjQR>1{3*O65mPms!>(^lxk$vTD?iLF{8F+N{Zr
zS4WX{aC!WXD9-I`=Sj5q+NVM0w6@N=nX6}m?e1V6)UsgRum?S~XYFQnXRvndg>)U3
zu7b>rwf$hYIdSd%w&6ngXs}tHTVOW^(pOih!m$~ON~Y@Mcc3W@Hg8*Z(e{jxPW2~k
zjHHu2q-t<5_h-t{;9wtKgP7oH<b`@5L8^KBXcIR9ap*+^&8i0C>+QiB-b3t-eCb}>
zt0HnUiwtpVNA8SN96j~~Q}nRCMTAZR&0lmr5yMAw^Xi6Y)rnvVA<$#-rYLnRm;(qt
z&7w`6)K9^TQ*|kr!iO2PF4<i3nM2(OW~4$7^RHKu>{buRi?KO56E&Z<JCh!xHqIla
zN4h{EeCjp8kzffUWB+-t%C~#v=h!8H<(P$=Iztz;W|LEOvy*V>WEO2nV)1?KHxW<1
zjIG(1bIe7XvmnRZxw(hJG8UeR&9l@IvTG)Mgqq~4x3E{}t8btw(O1=Tb~e%+yW2>$
z7qaxl=Bk}qZ`X?sU@+T2nq=$hJe3S<J?d;j{kImY9>^wNdCXx)eOB4YabblyZA-42
zgN-d|=ywW-2K8#L*L(#5_D}tM!`JoBpf=)qXX%Yy?<{tSTyMzsG*JJw>y$U3v$}5A
z4ZQ#z@AXh~Qe9US9AaL2tegEh^+vodD1^N(ZO1^B8e(o=*-p7aWa>;Xf5gJ}QrKDw
zRYHiz=lq$F&xM4D&t1p9qtE?@9YvoD3Gw<|5WZVJcg2oAmu2SFPq&StQim}j1RbeR
zzkL;+M}?zQRS4nKq1U_zsb*RGd^HudN5D=Ya;Jfsy8-*`&Puf+gy+2BAw1{l5P_^l
zqD>C-(Kp7Z*Qj-#ZJP+&5`y6sk<+G$-gGOp3EzRm#-7HF8qG331biKCmhX;I$cCYd
zYzVsem0+Wmpe&sB7KI32@7h(RzVj3RjV1mY7O%Iw3(eH_5VPA`Bh?K*HLiKo2!7<T
zQI(I5UShn5nwUpEi_#z53bEn;y{TTvpY=liq!)f=y}owqMR->8LuB@u62cgpgtTwx
zK$W@a?dPDI*=|owK(|mfd=C?L=IL!MplR?#vW~0t795T)=G3>-qB;pl6_pEOCZdJ!
z%d=nc!w{nLmTXJ)CtWer2LWg$wikd_h6+HNyweq65{h){Y6a;qu5R|eAb{CivgQzE
z*~gJg5jHE7;d$fT5wMyGIJ;XB$`B3ENchBHBiX#MKgGPhzX#NNY3hVV=}-@1{rM7N
z=Y|Sm$AvOtYmgQZJD1p68QCn-MP`XHp@i7F<O8t~@B<Y)jPFri-r^=r&FX_Y)VC-x
z8Y1i3z5gZzTo;0?M8KxCUlC4Cu$h~(&xba!H49@_O~Ys!2{9}(id;xmxd+nBw-0@1
zOBAYvFq)PM-ONIfDkjWlc1rko5EPn|J|1E#lm^BAY$*V>2qW}DbF=s12jC8K-QhmA
zJA}BGKXC{W_iz&rII_exSjZ~;$w-O*Os1NLv9WOqb8AQfv#BywPkjfPs2HM<In3%Q
zHIFoZKAJ@aY<LG!^u=f>Q;Wmc*%y#Vr-3+dJA3G-6>1A|#02+jC_DScFmd*cVLU(W
z4U_q4Ul^yiZ-;Rrbtp^{sk5P!NLjMOQ8u<_U&3d2xXOYsv*Po<3cs;SZIF(w3lmq*
zIksK><tO}xCH#g6j|`V2F4|mkycELCX`i)MN#QpU9f_i`EsMss<i_~;;EOl#A)>Fj
zMYA`r2@`K#fW5*QV_uldPlLkQO#Q>%W~#j~Sd9xe7tVIV1lD0J>+p<62a~dUtN*d6
zM0GgNN2AP!&r|gp8w9BS;XWcHnN%A^&IXU1qVt(%_SfCb&rU5@Z-gUuTQqhU^<E|$
zyi90j!?E?wY-7k3JPz(Vvz<l$5;(r4H=fzP4X40yf1RxXXSP4XWoG+5+^qiQhO$TS
zg!VhBB@BZjIAR2z4KYuj>8H{nXi~$qN$uB?HiCm*IcxN9Me!gsLgE2(ry1-rng-)R
zXoNQ&1mn9E53b_q;tUr3-9g)ZRO&G9iJ%$Gj6Jtil}B(eFi)HtZW}7KL#P%#e6X;f
z+zqKX6&sJ;z=hmcs&N{@X5sla)Vv7JfXd92AEMN(2!S|0i~2z}uj1622pVR!HiA>3
zRopMi#5PArDpY2kzL;#c#8Kvltr>5#A{cM@IQ4%Uh&MqUo<#<^YAkX?eAPq<zD|o~
zC*7K@xiCas6}i_%?q!eM#*sIX8-Q{zMKHuJvVfDm0t8*=_8(j(t%tHAJqE}!JO6xM
zb%-QnHE|eiBL)6hkskF3R%k#ktgiZ@z!z3Sk*~mN7`-v9hDFMJwC|U9KuwJlSWS-9
zqbhKv;`%kzoOrp1S`f+jnoN2LzUD_Vz8<`S$?%mv>ZM3dnrb6ut+JAznPymNGrNBy
zg4d!*f!E|nhS#`AhSwrw?w)SulOUOHCPpH>9J*{KE;<HXyJ0&{RSx5GvIwGRf|v3W
zR5BsoK9Nd1O8Ru)y#JT{#@N72n%uc=`tJw8eD=3K=JS7CHg{hhZtjUItc$(c6U>o+
ztqC-GMzNIJqeMz0`YQT#iy|rJq3gHD48T$`=RkU6a}JEs4GAjF?DBip`c43mpvFgu
zO~+tOFL+6>1PIhU8bdcV16g4jI)<2w!p}yrRZ*9}m6F+JMTyzQ;NlOxa&#1#Ep8UJ
zcAM>4;v{NT*LQ9T(O|2mB8TxW>WGz8uDQ{Kl?V{Z*P_VzI+}lO$%tOss1as;_%~%q
zc2(0V%75NRB{AE4kN7wZRFE?NkO1hQ8lrS*0A~JYunhN4zK-Gv=0cQ2`R!4<;7>@h
z?-QM9zCVE)<68ZAlwkNhY=<uPZWOtg6<?#GSz36sTN=jK`Wb=nFsO`Z%Lh`UrG0p`
zr#<-q_QUG~)g;wpQy&n-+=Z-V(8}nI2dylceL&-YHLag&hZIncM$4!Tjh0bMiiRM4
zWfp|%4WUq^CZL`;bVEr`5i>rThE8`3gJ;zIX!eFVIQu=5uTulT#d~aXqIr)^{S!&2
zmnp2qg}W@`XGD|Zh{O0ZrIDW$Eh9fPnn%6@8)7`3gu>k;Kb{nk@f;jY@mMd7gn!vi
zQL)4LicIG-`q-H;^#zKIhW@q-Li2w_gAVnBaH6n`6dacSl0o@{YMcgk6bD7Gje$jg
zBN+xxT@k9{)bVJ_LLf{(9SaF6EQTU<XO$hpdtH#rlxF9PEmUR<1EnNJfP(F4zsr(K
z@fq84d=87D_>3Gg<KbE2Nby<OV`TXMkm0``%@G=^L;!|Q+t3)dqO})>Kny1V)7<h4
zuz>dY=6c09Tucs@UQ?8w7{e$XXNega!zdFmf>Ql^ERHAz>aCWf`p!;h1F%no(1y|;
ztNB)Ma{?)v)C<zVB-Dc*Uyxovz5>#V^u{2)i2cWvZGCt$v<KBJmhlOV_52h#r($9m
zkBwtJ9HV0yk6)#NR(Y|E$Lv_fV`Hb_5$DhNbTnvBq(nGkts9QG$@4)vJfbS4-2iT<
z9wR!Z8J3i&2E^*x!O&7ok)}xC({yeoj8@B}>0)WR-rIC>tT@4I(i92YO;tL-Q%(}>
z+Y!Ae8y;72vFrob;glT2*Pl2_=mT-sVYd%NQ|HA88pW~?e3S$GY~N9_!#Ep@_&%Tu
zQz57s?<_aOa%!SyHir?m%R=-k5up?OBCN;>EVBC2JO~9_<2Yu9yKugA1X?${x_mfj
z3m39bf3hGUW1mWk<3N{8giZqo%gXEZYX$JS>KMm~{pnav?Ayn2)}ueetX!Wi#PD->
zoaFZR#Bt~?i(^O+j1!MK9ZR{r)dyO6AOmtJW?(MZEid}fVmPj_ioL20O2pMri7smc
z$$D2ySfLjBDKSr!fO+~zA-eqGDo9uB<76XygQ&4q)Y#@xgB{z_BMkLG9_-lj;yCfb
zucfWwp9-I>!)zZN_N#CF#GkUnpYjoZ#S(u_#Q!GZRlM5@zTzWLJn~@ir$jt{wY7)M
z3ZE?ggj;-A2N<JD;(dky3Uy^$L|tJ#?W4FiGIZ#z&{g${$C31GsN5cpL*d;}$tsOU
z|Ml5WIgQ9N4&fx*7h!9>f-k68VZ11Y>}dgnUs<7iQ~~!_O5)H(GF4HW#JyzfEl!(G
z>^$wv%_Z?IZL?608%UY@tB!EDS{ttmJ3)$CACDl()=$#=8d9&FdNp2u(Fy(cbgT~P
z47rik7{#D2FA^gRN;+vZcKF43pG5n;cuuqr62IPRzp(nmYi?Rm`Ek<QyMT*$aCer+
zO9y6Qdrt?fdH*lz#UH-Cs1NK0Ne~g1APQAE`&PO7;yy<+-Jv^XPw@$4_W<kkAx!V+
z4p}!NzR(>W*5#cr=HX$5m;9+7Hz%*}0k^46f8(8dJKT0N-V<*}Bi{Wt;=^6gL+uIH
zEamMi#(!v_=p{!AjVQ)Q^hfu{=#M)`1F`?+5!^YV7nuO2VfSSMn3mw1rSt?Rs236>
zOIemcS;{YJBdUUF$uf`0j8_tP8W>Ot(fY1Z7^L1#;JM(<1ey!fA*{Ay`kM(7(@#)Q
znL+|jV6IQ_W+(o<DLdJeAlb>X1kO$tVMC0}n@|ULWPXM8k;rT&P-L#3))#()fKUgP
zI}F@G?gvg2kM;EKtFT-r4*;9)T@FDi(7_pqUfD|~Tw4;ga8j=*2g$q})<GL?EjftI
z!2z?Sg99eC)P?<^iz;<U4$_AxOI0ri`@sDUi4)j{@(%}bc9l}d$L1U-S~@uYXsLJI
z18*uUWf&JaWMq?Y1-&c>67{qPAPckS0+=iPpcG`5M^D;_SnJ>%WWC5=Bl2JM$|uLM
z<WtK1qJuM#<(8mXK7#t{h5am39QBAGQ_Oe>*4BUaARep1ccKPmA!jTWN1266L_<&(
zf@a08So`ayA6R^|kg!BI2*c@(vykva$wJ=k54VBJO=SE9XJWlzdEQHA$~a9!7^bfb
zggaEbM24i7!f2bwkX%0q=Bm3A8I7fhoSA(5fMh1BG*Oa-5lD(y#A-Jd;ST*=C5%%4
zkcLyap;}CIlA26S6d13Orbys!s_x)--t+KRhfv%hQBa(j$S6)hT10UN?3f$HZK;!j
z;<Q9Y@u5d>foJ=a${ohhM9c{ab^I`RRehW&ne#d9JZ@;5B?_m}R@V%N6G}OGX89<Q
zvHEACY-!-Lh!W-)r_8BwPL8rsP6lhLQ^1Oi2&|_?6<SnbI|l2Ys1nW{__ebEFVK_G
zdIP(IbI7$s-ni5Ej==f$9zO-joT30eS%E4`0YelRCJK!8Qy|z<fY4f|w~c~$Rpw;*
z_z0PwrK?9nYh5-P9>j7{qz?*ZMR+p1oG4CoHj(FohD4dnb~xEy+nru};Z277;CA(a
zljoj8qSQfA>X=t4av@78+B4qoWEXnJDPp!`Gn{fnj5X!_DY9<($}-FH1NDY6P@^-)
zz^^LQg+of)F2OG0bHmGr{0N8H>qlucCKAsP;l6&<&gJ%__VmVn)ZQh2RQCk@8`M26
z_M;|cSg%vY!4}<r0<=*>T<kkkYH=RyV&D0F0$O&Wi+$$_7w@^C&bue#tiMP~pL211
zUybyZV?5^~$B5L2&qA`=Lgi%&sXX3M!|&`J{sPH6hPuQ%%3S0f&|8;JhP&g3qGE3E
z7)(lvcl2>__I+kD+;3~3Vu$fHSrQZLJH1q2q272-pv@`JS6y)FGgDxex<+)_c#_#P
z=84B2U1Iz$5{xUt<^t)6+vW*P>=q}A*U0I~uOQ#vhlpeZ&`!Q15R>E{fmnLu5r|FV
zof>tgYw2ImqyB@Zp$?!(hfl)nmQQ5z_1<alD|D73K9b4D)|P}$Ni-6)ZDjW^C3AI6
z5_9DzaWKhB;$YGhTf5EGi8zV5a`8rrwZo;&f56KDHB{#?9%I2cEk@aMywoF;c$X`e
zN~Eu-iEm$LV2z{>GwF@{I@9WFP7-Z?)eo5g>j7%LeN`)ybeE;DRzEfqg7x)Tcs*sC
zPq$Zkg>ChA+rN~${hHP7mC|i3-F^*QySu%WI7zo(@aeXFF1!`cKy?TeZ?~6wsWGRf
z&Ak_>M7oWd_;&jW)=0On(i?aCs@3h~((Pa8!FEvL$+B{`>vQwrf=W(iAG0TW7$+s;
z$VTb*3vu>pmCQa?lq~z2E%?dXG{L?t^pV-PL`_ZRQ3t!OoC68aOdnZ<PLhh8-Q7<j
zDboGGWbddCUJRpbRaECNh9!%q*u11eP(|!}AeBhpQAOXrPr(}L`&0DBeSa!h;B8Ch
zA-`tgEexfl@5)T3;Xb1_Nasy2=a;ziO^pu%FcYn*iqsu9!Y#UBBSyP7#TNCJEq3_W
z!k2;A;uXslrr2V>*y0rw<hI32Bvfp%5Y=f4#d`Piur}gHk20Qo|LP_vP?u3xTxVJN
z{*TG}_;PsdX4K9tn12VP5OunT8s!eIikSy3mOQ&;+7jO0q%UajA4$V_y{Ds!(S29I
zMs+@!CU2hu_iW<T(w32e3OkLLl6CEiuv&c(p!aOWCDLsvJe_}!LxQ)=+NH>B+AalG
zii!I4O2~sUZC?dR>h2WpI;?LBPwV|tWF7W>vOd2GvVv1cge0NubmD5<TxC9;)DtPP
z;2%#sdaE(gd|HZR1>Yy*g5SUKv^DO=iF(%>$WSk&=*l`;jR}Y6g~J992fe2jlK+QC
zbg-dGCx_7vALh?5W0yv&ShYJv@7V!~YL9T+CEVWka&xW&SB`IYu(^!D0PhGG=V`r%
zy!9jNAdUJ;`+e>7wsoK*NT9&ogM$ax<H%m%k##TR+UY%1h-T+>r*(=<)ETH3PWY+F
z5fA&%^APhzu7w_S;XwL1QA(=YiBjo}ohUU`mRxf;z+b9EssxTU`q0a8O7%|Vz|jVY
zEwAjAN`d31zB4G5<H*CQ5=S23r)>B7Gr%wkck1eYqHWux^5jvR%9F>PD97zOy-23G
zPDv`ywe2^-rig_eRXi4B&smO|dOc@hsvfWzUcDJLd(LL2&a^y-c>a&)7zu(2WR-HS
zD%3}}z)R}6)W5mS2gImlzyZ?AY4p;`TVa*QYffY5@aTG8DtpaWcr1>0Gu2nA9<Ncq
zrs|MY2-wT1UbnfF%5L*ls<_R(RCXKtyJ8Q{1yZ$hH5!jOby9I@;x`Ft>^CuK+&(=`
z{AOM%ZIt=7URLLBEPeyG>54jZ-cG`xgD~jjVZd(lKP;kxjrM8SZOlzjHILgsrG9${
z`sEN|Hb|I_@-ic@Y3-+v+xj>08e;8r5DnET7H<gAA^^>~eH|=|@TcIdlVktJi&zWO
zd;x*fd)MPWFh1FbzQFHvUGo4M9(`y(@_ajohS!_xmUu)P2zuYC=w0l#Ohx<YjlF1p
zn&i4ocjBz5PNlIMsV~#`QkEXH6GHUT1rVXr-z4`&-Ea%zOERBKc0Z<Z&b#YP7=XLK
zd-q~~#@Ao|N)u<g!B24}|7Mhv{FEk>@|U`H3&b}zK1*YF`U&~F-RVb?CGK=Ajos<S
zTd+Eybvln=35hI}oe9#lnNSw#sc*xIfF45BjfjeZyV5s_-$lA&4@?MnNa`P;`uwm*
z(Ge^fS~}gMoqOTMfX9WVnt9lL>PM#Yn(5JW>S&Vr)X^Z{+F?{{-6y#xT@vG?O?)ZJ
z)6GjqGcl<>{SMS%c85CTnaSq^Y^zD4(?HA8-od~2!4ptVwK-<k>|omLd>5irUAj1B
zUAo_<=fB^DO!$y_1sc{hvV-a9S3bL*A0dC=UC%=L{`Xx^<j*Tt<WHc*ub=OSaZsnb
zypL*z6*pDe(glgD(;0~`A|XceqGj(vCtGj^k4|8Qq)V370@12P>7GDTu3Q;BcRPrh
zJM6x=2(9$O0~lV~WN>()dyA@N28V|(8GLE6FkLP!TCC|BP(cPQD<MzsIS9GRflbjt
z;xa@n(!0cd%n!Ke8n~_3fZeBUy=Zz7?-+{;iFb^xKm0z70rgyl_{HoDywXvtpE`^l
z(f$zhR4-x|&?9D37sMl0WO&vd{-p%?RT;AOKt6O#{0~$aH!@aXYd79k5GO(L4AdPD
z3kQD;rM5#<>@Yqci_-0l=ShcHbs&SxN$0}_>a<w%BvCpIRD<AizLRRNu4YJ}y-w!r
ztuBit8)r(OeJ_Io?H3}K!t^CE<V7*$NipP?8Qzm%Ixswfn}W2NmX+x%?&K%%C3KKl
z+T&`QDIm$p<k27|v^Gbzz42-WN%q*zH(m`z-ZCP?=#AsmuuO?p<)70sX)1}53*3`4
zDQ&LR{f}Xef9^Q0k`_oM-Qk{0T8fPMnV#|SFQxHWlqusgIg`g{TqcjtB5ds*pZUZ|
z#%E$CkIx@p!h(Q3RO~QzOV?>xIKfN!ChB|w9trqJh|oXDdOk#CbtK}2@<bx?sOoEu
zGgu?$I7@GAj<cDvl9-UmD~W+8@lrkf*K3vQnfl-<IED+y+OMH|@O3Y9ytMx{Y=Ts(
zu!6QLi}ocj#845Rio3GB`x4MmNa^<{3Q66Y6Of><HQ?Un{XU%f38$f6PW^m2jq%}x
zq&}QBo`F$#jOEp7mT-E(%W0M`r&oM9A*q{_O5k_iF!AkkmPw-=k|m>jT}Jsg8Rd{H
z?<fc1yEV#Jc$DkUe@FA<ms!hhQ;GWfAE6VR5tZ=ZLRYWC%d=mS$W*=adw5wL%kqRd
zz84IC3Nd-i4dRV=gR?xxise7RE4a$3{9a<b`aFvguO`vi7@5j9CgAD7kpF|FDmt5m
z$NY%f>OY^AGZPk#1k-=S1+hiI+I1s#C0HbRLqs;uR-xIl)p+az?rc5sKN2h45-ar8
zi*Qm^Sgi-RTVoG1RdBXA^^Gic>T6k?gJ74vK7GXpXV@8^pJcp(A_T-6>5W0W5yjBy
z`R+^j6Cij;PdjUE^Qhg~l85a270Tg=RPbicZftCM$>D5v=-!{=PXK;{K5&l6T;^0f
z3O|!AS;*J?lq|%*CBfm7Y=OgW>?H=}o!RX4pP&S{(;p^j;`DE3v(s<A0>^9#Iaus4
z;&Lb`)1~muI1(eT!AO;#!!uhh5jYLhkYe$z*I|I_n!~wuR1W9X9dl$F@0f$rcqh0|
zcljMt&<AojPT!NmGv44FiPKRz6sI$ZrDQSKnC58o%gP(*_8s-?8_-K(DQAiua%7Zp
zkr_^eSvj(cyG%4QJ(_v03~kAgD??jF`X-USQ>5c<k`{kLvRgbQNH6E`Htu>$j_E7M
zx{ERJck4Xlq(>YXV*X!HOULq;$Z)iUd(q-?(#wOUiD>SMbrkZZ--!D{%8~1aR3g1G
zq!M!lQlEjstK6-0&3|Q@fTH?`8mlOP?ovdPLlL&Ju+%M=)7j6OsQ&N}QAlLOfhoL2
zwSc?zi%r!7@VHOSXm`zayimpQ#-AMl?Dkv%SWzwmEH9S;mU=sibpxy$so+{VWKJXg
z<2w*7atUempEpy}A>bt<a2V@YGM~l`X{_qxvc#I)zXhAug^GgBzo?zlz<#;!FtiU+
zHSme_fbRya&SfZmoGVboCmuCe*Ei4Q^5NKdA}>|n<}x6E%@sgmL)zKj&bssA9Jb}G
z@ncjSvqt>7+O8(ilOg#b_8*TK4(3V_S`wmOg$!M3Q=Hl=OOcf3qDV?}UT^XSNxSB}
zL4v6TQakykQk&+iOpoSnWn{HyX+!WrMyw4oqOFS*-8NjEP*}>!xSEqPa8TpGrRs$d
zs;T-9<~6vuf`3t2u6hl7fr~3NuQ#x@pw7zdj5hT};iBel6fUMWM&V+VMS-n@L!|(0
zV&!@NTD^>@PE<d^8&bwG?PY9d@!r{7H#pT;I4sq?r24SA1hWIp^<I}60N?x6oo&uD
z_Z2SUnfq*Wy+29it0sALm;h(>-UwygE<V8Tj8#98JU8xYE?9jT&4a;kZF3HWyHGVZ
zR(Fz`5)9X)WidnjzZ5mX);14|9Y*Us4u%U-)h5+4kAOKsmF96Y>`4?(V<(QQ{EAEG
zrK_=OSRO~j;yi}o;5-@q!Fd!B)ucR0T_@*JNQ4P`kqZ}Fbc1+Co(z0(9)-p3#9P85
za^PV{4g^B{x+qgULr)ra7$hvpw%{f5JOSeTEcJwX-A|1jmKr-qjcnOh`w*8Fw6FG&
z=<>c-m*XB?H0=_&wIL89Bi05Pkv91Cw;VN$o~+GwUu|f1g$Jc%;qyVNCkn#Q-6M}f
zH{KDdO-ENLoE2n?&Uc&Ay<}1a`TSciTu>sFQ+Iw+<*EF9_K^<xyk;s!KJ-H`%T{!s
zE+?O3cqSgF(5^yszK=kO;V{@Mb&y9YM)CTJ7Ag<`Q#n#<>d63AZE+do<w8*$QQ-BT
z^}ZPQ^PiQ-ToQv-^v3?PDqsAkNs)>GTm^H_==?|3<?970nC;)d-><=cq=KEOj&u|U
z-Jj3F{N<MFA^3_(*fWmj>y9O=6Z{~p*td?O9o*MFKg}mUlVri48^!Vi`QjgSXjAl$
zSFs_k;0~Zvw}0#>4a7gT<#Pxh)LPvR5snsa%{)7R^=;Inc%QFJON?olN4odV9W5x6
zG^gagNc{`a$?Y&W#kG(lx%TbUa{(QQ7wye*Q(8&1r4n%fq$Ib4K2l55KyRvb8fX!k
zf4^$4F5|dTTe+GM+kz9$fk;IOryAHo-+HTh2cMX6j(~|C4JFgX>b1A2TZ!!SZE6wb
z>+T+S>KWV*>qU9!tpw%XEf`sMv=At7^{TenPc>ez{-*^yJscpaBy;N0Jb0H_wO2=5
zh||ZmAg8zbOh4e<gC@hp|65*(n|&o(SibHRd&O6*h2=n<(pJgtMzaF(h$~($gk?0X
z7t7oHpyoRlloYtJ+=|{9%dH9o%c_Uk4saKVlCw-zTA(jQt6KeF4;<@tcc|N7pwu#;
zOOb;G=m7-`=!rd%?(UwdH;ffJhH!O(Ob;XZDe(1gOYp5I5crlBFnoIyFnlXeh8w;E
zNS?sAX92=juJ`LHz15+Bm#NNSyu@~rpN!q%C0|>>M`1mwL_81`_BG2ctPvM~i{98Q
zZxzS__KpHxz>c|7;ScRT_gW|5sKrkAy;rT(MqgD7-};!xU5)5IE9Pl@7p7=8d@OU-
zvdpgq`n|hUUp&@sxC3p^Rtqf@t6|-=G7Kd+?|SO8ymiIpm_~N<sp}+l@T;EI1tCg5
z@b=e)jD5~B_E9nRAu;wj?2y~oXQ^{y?2pOVS@rkz!<}L^wvd;4bMH}IU<!++_`u$k
zG`0}i(|MW7@jWo3Z#Xt%^^sn9%W@B$nB8@++MsF*|CSxD6n+#IUO-l2IQNYF-F;}h
z*QKMJ9aa}|XxM?292#~M>W%lS!LY+4Cr)iI<h<_HLYYoyJfH@_H~-7yl$*z?LS6Qt
z8VIL+c%1O(k@JumsDg_)GY}OZKo>oT|289_NdNMX8ck0QGEH^EgDOk8g`ap>^;50=
z8Wu~#;v&7gzv{2>$qf;B(vTOmn+nC@Unt~2r3-oAu!c3{!>Nxg9E!bsVLh?P4eLqt
z#;~4*LMZe5dLX)~GK*yUa6u9Mbmy{KTg1DD3y|FMl-eS8?SqwSu6n(Q&ZE%6<z=|$
z*rtohRir+ir9$=AAu2@wG*~rPhlS=tKbp6Os92)urM{Qyvwqd%9>JPM#eCTHM-g8^
z2`TnmLHVOd4;!jl>6s5Hm*zblr14CO+xVSv?yoiBe0`Awl?7;aoD=6DEzXJSv3G8q
z*HTXf=ktmf=Szm;#9}Ke#&U<zx0sX0wvVbUs<c>=#v#R=G*%FW(?I*UA$rU}XgpQS
z(CA&vN#mqqNg5{=bJDoDSdzvi#k`JQSj<__s$!WtdKc5&(VzIbO6issw&oNKTT_aL
zUo%Ik?l4JLKCFt=c$9>Tma)YG?r%q_5$dp?^balRAChz{S3FxRx#D-C!Z)JA&mI*d
zPqdVv)ig3;C6EazfnU2+tGjV8pOrZ1uS7_VT7rv~^3kf55)*(+PaB~Ubk0x}W_H3`
zpL`PBx+QA?ZHZKtO(iYa7+qVsjp3&W<%F)5tckFq3+cpD*N(xg6|2Z~l%u7eO`aKx
zQ`%TRb*fn%Ro#*X1ZL@zBQWCrF%lV7j8-AMfSVzjEb(aKGc0seP%U~853&e;O&_o3
z<C8<<;qkbnsw0^>W<_xmNj#V|Qg@i3;@xzQPf!_{ApV_Be>6c=5l`;VD0hE26x0+;
zD5$`(!}NPVvE(ej3lmDeueNl9(vyCNm&m_bh%7<O$-i1qp(Si<X9=g@y^#;4-`1eh
zkws7mr{4j1j796tt9sEym8$RRia&5AshDv<DFGl){@cPlzj)yrg33zVA*h_*I0TiK
zNC;XnMLh?~D3K5}tfYSA)2b5G#1f7{!;s#JK@&<i29-=xqtt>D4ij@rWO|&*Pf05L
zTaf=hSt9;F3_FVcUx~d!|9=uWyZwIxNfG}aQo{Z}eY(OQmcK*gn7x&-|L^~YI-=e}
zQFQfe)3a)Y?TFNWO!as}?IU4BPK#u`wmgH~!22Jksm5tw7bwAfc&7S~x`x`|DfX@s
z4iUeVNQn3iDR5mG+)6@3NGlEzfvtF?;#!GU>?%Pl23yj|JAcy+;}BEWn4pNfBIc++
z=*jT8B;%(}<Jco$PL{}4+nudgwO*~<s(HXNq?LeWC`q@#QYk7t){4Qh3waP&EFI|A
zDFa$DSRQI6=<J1UEn$?IqCHR-Yp-kwSwm7Vw1_WI)}k_!f~})B2Fkit1Qcie5A)R+
zrH;0$AGAoFXq>f~2sYx!n0dC*m7|7^omf3|4BpN$sG{$fsuaAagY~*{sp_p_Ti0({
zs?y+T`ma~U(IEVw|C?j{X2%cuHylPyD1MBikIUisK|gFZ#^KLF4f+kL@h5#WiNcT3
z^g%znG%BL;gMM&l{7FBwqMscZi||6ULD$@k6ui=D&{bihH(o6?=vt(amGm@z(v?3$
z(+AyxGn(P85`!*;8T09bu0t8cct&o}<qkY@#t%A~HvWO<PzD{@8RO`9g${>|-{^x5
z5R9F;{b<nMv5|*cKn88{8EbJdYtR;o@hUC_3|cH^8a*&iFevdh4$%i?g~l9oT!ZFK
QqY_8PKpzZvUfm1-4`FuvIsgCw

diff --git a/docs/build/doctrees/grid.doctree b/docs/build/doctrees/grid.doctree
index 9ccc353b6687e31ec415278cf2021c6980c8be6a..bd235ae7f19a78e2cc58a459193b940a505c0302 100644
GIT binary patch
delta 61
zcmaF&nx*3n3rhp*RGEz|VaFI9Cr2MM5mQJkR!CGRE-A{)OV^u{!5%v$L#ziZ#SE01
N{PD8r=Ih7A^8wjI7+U}U

delta 40
tcmeBp!}9Jm3rhp*RHltAVaFIvCPyDL;hd7e9y=vNtOv~7{Op)gJ^)Dk5O)9o

diff --git a/docs/build/doctrees/grid_options_descriptions.doctree b/docs/build/doctrees/grid_options_descriptions.doctree
index a30f23bf781d9fea56d69873b03d092eddbe044d..35393bfd82365dc27231d363505c189d93d8a103 100644
GIT binary patch
delta 3585
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
YYNwY{veBjIyCx<l&zx>6-Go8-KRt4|hyVZp

delta 3386
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

diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_api_functionality.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_api_functionality.ipynb
index 504ae4b16..49d6f8d3d 100644
--- a/docs/build/doctrees/nbsphinx/examples/notebook_api_functionality.ipynb
+++ b/docs/build/doctrees/nbsphinx/examples/notebook_api_functionality.ipynb
@@ -105,7 +105,7 @@
       "        Function that contains random snippets. Do not expect this to remain available, or reliable. i.e. dont use it.\n",
       "\n",
       "FILE\n",
-      "    /home/izzard/.local/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so\n",
+      "    /home/david/.pyenv/versions/binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so\n",
       "\n",
       "\n"
      ]
@@ -166,7 +166,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<capsule object \"STORE\" at 0x146f912dbc60>\n",
+      "<capsule object \"STORE\" at 0x7fc1f0c3ff00>\n",
       "SINGLE_STAR_LIFETIME 10 28.4838\n",
       "\n"
      ]
@@ -270,586 +270,13 @@
       "M_2 : The initial mass of star two (in solar units, internally this is star index 1). : (null)\n",
       "M_3 : The initial mass of star three (in solar units, internally this is star index 2). : (null)\n",
       "M_4 : The initial mass of star four (in solar units, internally this is star index 3). : (null)\n",
-      "vrot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot2,3,4. : (null)\n",
-      "vrot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,3,4. : (null)\n",
-      "vrot3 : The initial equatorial rotational velocity of star three (in km/s, internally this is star index 2). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,4. : (null)\n",
-      "vrot4 : The initial equatorial rotational velocity of star four (in km/s, internally this is star index 3). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,3. : (null)\n",
-      "Prot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). See also Prot2,3,4. : (null)\n",
-      "Prot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). See also Prot1,3,4. : (null)\n",
-      "Prot3 : The initial equatorial rotational period of star three (in days, internally this is star index 2). See also Prot1,2,4. : (null)\n",
-      "Prot4 : The initial equatorial rotational period of star four (in days, internally this is star index 3). See also Prot1,2,3. : (null)\n",
-      "inclination1 : The initial inclination of star one (in degrees). : (null)\n",
-      "inclination2 : The initial inclination of star two (in degrees). : (null)\n",
-      "inclination3 : The initial inclination of star three (in degrees). : (null)\n",
-      "inclination4 : The initial inclination of star four (in degrees). : (null)\n",
-      "B_1 : The initial magnetic field of star one (in Gauss, internally this is star index 0). : (null)\n",
-      "B_2 : The initial magnetic field of star two (in Gauss, internally this is star index 1). : (null)\n",
-      "B_3 : The initial magnetic field of star three (in Gauss, internally this is star index 2). : (null)\n",
-      "B_4 : The initial magnetic field of star four (in Gauss, internally this is star index 3). : (null)\n",
-      "B_inclination1 : The initial inclination of the magnetic field of star one (in degrees). : (null)\n",
-      "B_inclination2 : The initial inclination of the magnetic field of star two (in degrees). : (null)\n",
-      "B_inclination3 : The initial inclination of the magnetic field of star three (in degrees). : (null)\n",
-      "B_inclination4 : The initial inclination of the magnetic field of star four (in degrees). : (null)\n",
-      "stellar_type_1 : Set the stellar type of star 1 (internal index 0), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_2 : Set the stellar type of star 2 (internal index 1), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_3 : Set the stellar type of star 3 (internal index 2), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_4 : Set the stellar type of star 4 (internal index 3), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "max_stellar_type_1 : The maximum stellar type of star 1 (internal index 0). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value. \n",
-      " : (null)\n",
-      "max_stellar_type_2 : The maximum stellar type of star 2 (internal index 1). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "max_stellar_type_3 : The maximum stellar type of star 3 (internal index 2). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "max_stellar_type_4 : The maximum stellar type of star 4 (internal index 3). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "probability : The probability is a weighting applied to the star based on, say, the initial mass function. When running a grid of stars to simulate *all* stars, the summed probability of all the stars should be 1.0. : (null)\n",
-      "phasevol : The system's phase volume, used by binary_grid. : (null)\n",
-      "stellar_structure_algorithm : Set the stellar structure algorithm. 0=modified BSE (default), 1=none, 2=external function (must be defined by the calling code), 3=binary_c (not yet implemented). : (null)\n",
-      "solver : The type of solver. Default is the Forward-Euler (0), but could be RK2 (1), RK4 (2) or a predictor-corretor (3). : (null)\n",
-      "max_evolution_time : Set the maximum age for the stars (Myr). : (null)\n",
-      "max_model_number : Set the maximum number of models, ignored if 0 (default is 0). : (null)\n",
-      "monte_carlo_kicks : Turn on Monte-Carlo SN kicks. On (True) by default, and indeed other algorithms are probably broken. : (null)\n",
-      "disable_debug : Disables debug output. Only has an effect when DEBUG is 1, which probably requires a rebuild. Default FALSE. : (null)\n",
-      "timestep_logging : Turn on timestep logging (default is False). : (null)\n",
-      "rejects_in_log : Show timestep rejections in the main log (default is False). : (null)\n",
-      "vandenHeuvel_logging : Turn on van den Heuvel logging (default is False). : (null)\n",
-      "evolution_splitting : If True, turn on splitting of an evolutionary run if splitpoint (e.g. supernova) occurs. : (null)\n",
-      "disable_events : Whether to disable the new events code (defaults to False, so we use events by default)\n",
-      " : (null)\n",
-      "evolution_splitting_sn_eccentricity_threshold : Threshold eccentricity above which evolution splitting happens in a system with no SN kick. (0.01) : (null)\n",
-      "evolution_splitting_sn_n : Number of runs to split into when a SN occurs. : (null)\n",
-      "evolution_splitting_maxdepth : Max number of splits in an evolutionary run. : (null)\n",
-      "equation_of_state_algorithm : Set the equation of state algorithm. 0 = Paczynski. : (null)\n",
-      "opacity_algorithm : Set the opacity algorithm. 0 = Paczynski, 1 = Ferguson/Opal. : (null)\n",
-      "wind_mass_loss : Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018). : 0\n",
-      "gbwind : Wind prescription for first red giant branch stars.  0=Reimers (Hurley et al 2000/2002; choose gb_reimers_eta=0.5 for their mass loss rate), 1=Schroeder+Cuntz 2005 (set gb_reimers_eta=1.0 for their mass loss rate). : (null)\n",
-      "postagbwind : Apply special post-(A)GB prescription. Default is POSTAGB_WIND_USE_GIANT which means we just use whatever is prescribed on the giant branch. Other options include: POSTAGB_WIND_NONE = 1 (no wind on the post (A)GB), POSTAGB_WIND_KRTICKA2020 = 2 which uses Krticka, Kubát and Krticková (2020, A&A 635, A173). : (null)\n",
-      "Teff_postAGB_min : The minimum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_max. (6000 K) : (null)\n",
-      "Teff_postAGB_max : The maximum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_min. (120000 K) : (null)\n",
-      "mattsson_Orich_tpagbwind : Experimental : turns on Mattsson's TPAGB wind when the star is oxygen rich. Requires MATTSSON_MASS_LOSS. : (null)\n",
-      "magnetic_braking_factor : Multiplier for the magnetic braking angular momentum loss rate. : (null)\n",
-      "magnetic_braking_gamma : gamma factor in Rappaport style magnetic braking expression. : (null)\n",
-      "magnetic_braking_algorithm : Algorithm for the magnetic braking angular momentum loss rate. 0 = Hurley et al. 2002, 1 = Andronov, Pinnsonneault and Sills 2003, 2 = Barnes and Kim 2010  : (null)\n",
-      "helium_flash_mass_loss : Mass to be lost at the helium flash. : (null)\n",
-      "gb_reimers_eta : First red giant branch wind multiplication factor, cf. eta in Reimers' mass loss formula. (This multiplies the 4e-13 in Reimers' formula, or the 8e-14 in Schroeder and Cuntz.) : (null)\n",
-      "gbwindfac : Multiplier for the giant branch wind mass loss rate : (null)\n",
-      "tpagbwindfac : Multiplier for the TPAGB wind mass loss rate : (null)\n",
-      "eagbwindfac : Multiplier for the EAGB wind mass loss rate : (null)\n",
-      "nieuwenhuijzen_windfac : Multiplier for the Nieuwenhuijzen & de Jager wind mass loss rate : (null)\n",
-      "tpagbwind : Wind prescription during the TPAGB. 0=Karakas 2002 (a modified Vassiliadis and Wood 1993), 1=Hurley et al 2000/2002 (Vassiliadis and Wood 1993), 2=Reimers, 3=Bloecker, 4=Van Loon,  5=Rob's C-wind (broken?), 6,7=Vassiliadis and Wood 1993 (Karakas,Hurley variants respectively) when C/O>1, 8=Mattsson, 9 = Goldman et al. (2017), 10 = Beasor et al. (2020). : (null)\n",
-      "eagbwind : Wind prescription during the EAGB. 0=BSE (Hurley+2002, based on VW93), 1 = Goldman et al. (2017), 2 = Beasor et al. (2020). : (null)\n",
-      "wind_gas_to_dust_ratio : Gas to dust ratio used in wind calculations (e.g. Goldman et al. 2017). Typically 200 (Milky Way)-500 (Magellanic Clouds). Default is 200, approximately as in MW stars. : (null)\n",
-      "vwind_multiplier : Multiplier for the stellar wind velocity. : (null)\n",
-      "vwind_beta : Beta for stellar wind speed calculations, where vwind=sqrt(beta) * escape velocity. Default 0.125 (from BSE, Hurley et al. 2002).  : (null)\n",
-      "superwind_mira_switchon : In the Vassiliadis and Wood (1993) AGB wind prescription, the superwind is turned on at a given Mira period, usually 500 days. You can vary when this switch-on happens with this parameter. : (null)\n",
-      "vw93_mira_shift : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate depends on the Mira period plus this offset. Requires VW93_MIRA_SHIFT. : (null)\n",
-      "vw93_multiplier : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate is multiplied by this factor. Requires VW93_MULTIPLIER. : (null)\n",
-      "tpagb_reimers_eta : TPAGB Reimers wind multiplication factor, cf. eta in Reimers' mass loss formula. (This multiplies the 4e-13 in Reimers' formula, or the 8e-14 in Schroeder and Cuntz.) Note that Reimers is not the default TPAGB wind prescription. See also tpagbwind. : (null)\n",
-      "Tout_Pringle_1992_multiplier : Multiplier for the Tout & Pringle (1992) magnetic wind. (0.0) : (null)\n",
-      "artificial_mass_accretion_rate%d : Constant mass accretion rate for star <n>. : (null)\n",
-      "artificial_mass_accretion_rate_by_stellar_type%d : Constant mass accretion rate for stellar type <n>. : (null)\n",
-      "artificial_angular_momentum_accretion_rate%d : Constant angular momentum accretion for star <n>. : (null)\n",
-      "artificial_orbital_angular_momentum_accretion_rate : Constant angular momentum accretion rate on the orbit. : (null)\n",
-      "artificial_accretion_start_time : Time at which artificial accretion stars. Ignored if <0 (default is -1). : (null)\n",
-      "artificial_accretion_end_time : Time at which artificial accretion ends. Ignored if <0 (default is -1). : (null)\n",
-      "wr_wind : Massive-star (WR) wind prescription. 0 = Hurley et al 2000/2002, 1=Maeder and Meynet, 2=Nugis and Lamers, 3=John Eldridge's version of Vink's early-2000s wind (See Lynnette Dray's thesis, or John Eldridge's thesis) : (null)\n",
-      "wr_wind_fac : Massive-star (WR) wind multiplication factor. : (null)\n",
-      "wrwindfac : Massive-star (WR) wind multiplication factor. Synonymous with wr_wind_fac (which you should use instead). : (null)\n",
-      "BH_prescription : Black hole mass prescrition: relates the mass of a newly formed black hole to its progenitor's (CO) core mass. BH_HURLEY2002 = 0 = Hurley et al 2000/2002, BH_BELCZYNSKI = 1 = Belczynski (early 2000s), BH_SPERA2015 = Spera+ 2015, BH_FRYER12_DELAYED = 3 = Fryer et al. (2012) delayed prescription, BH_FRYER12_RAPID = 4 = Fryer et al. (2012) rapid prescription, BH_FRYER12_STARTRACK = 5 = Fryer et al. (2012) startrack prescription. : (null)\n",
-      "sn_kick_distribution_II : Set the distribution of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_ECAP : Set the distribution of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_NS_NS : Set the distribution of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IBC : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_GRB_COLLAPSAR : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_TZ : Set the distribution of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_AIC_BH : Set the distribution of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_BH_BH : Set the distribution of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_BH_NS : Set the distribution of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IA_Hybrid_HeCOWD : Set the distribution of speeds applied to any survivor of a hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IA_Hybrid_HeCOWD_subluminous : Set the distribution of speeds applied to any survivor of a subluminous hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_II : Set the dispersion of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_ECAP : Set the dispersion of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_NS_NS : Set the dispersion of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IBC : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_GRB_COLLAPSAR : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_TZ : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_AIC_BH : Set the dispersion of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_BH_BH : Set the dispersion of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_BH_NS : Set the dispersion of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IA_Hybrid_HeCOWD : Set the dispersion of speeds applied to the survivor of a SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IA_Hybrid_HeCOWD_subluminous : Set the dispersion of speeds applied to the survivor of a subluminous SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_companion_IA_He : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia He supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_ELD : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia ELD (sub-Mch) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_CHAND : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia Mch supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_AIC : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when an accretion induced collapse (supernova) occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_ECAP : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when an electron capture supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_He_Coal : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia helium merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_CHAND_Coal : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia Mch merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_NS_NS : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a neutron-star neutron-star merger. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_GRB_COLLAPSAR : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a GRB Collapsar (rapidly rotating SN Ibc) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_HeStarIa : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a He-star Ia supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IBC : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type Ib/c supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_II : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type II supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IIa : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type IIa supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_WDKICK : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a WD is kicked. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_TZ : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Thorne-Zytkow object is formed. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_AIC_BH : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a neutron star collapses to a black hole. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_BH_BH : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when two black holes merge. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_BH_NS : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a black hole merges with a neutron star. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_Hybrid_HeCOWD : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_Hybrid_HeCOWD_subluminous : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a subluminous hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "wd_sigma : Set the speed at which white dwarfs are kicked when they form, in km/s. Default is zero (i.e. no kick). Requires WD_KICKS. : (null)\n",
-      "wd_kick_direction : Set the direction of white dwarf kicks. 0 = random, 1 = up, 2 = forward, 3 = backward, 4 = inward, 5 = outward. Requires WD_KICKS. : (null)\n",
-      "wd_kick_when : Decide when to kick a white dwarf. 0=at birth, 1=at first RLOF, 2=at given pulse number (see wd_kick_pulse_number), 3 at every pulse Requires WD_KICKS. : (null)\n",
-      "wd_kick_pulse_number : Apply a kick to a star at a desired pulse number on the TPAGB (i.e. pre-WD). Requires WD_KICKS. : (null)\n",
-      "minimum_helium_ignition_core_mass : Minimum helium core mass required to ignite helium in the case that the hydrogen envelope is stripped on the giant branch, e.g. to make an sdB or sdO star. Typically 0.4, if 0.0 then the BSE algorithm (based on the total mass) is used. : (null)\n",
-      "minimum_CO_core_mass_for_carbon_ignition : Minimum CO core mass for carbon ignition, assuming Mc,bagb>1.6Msun. Typically around 1.08Msun (Pols+1998). : (null)\n",
-      "minimum_CO_core_mass_for_neon_ignition : Minimum CO core mass for neon ignition. Typically around 1.42Msun. Stars that have cores that ignite carbon, but not neon explode in electon-capture supernovae. : (null)\n",
-      "minimum_mcbagb_for_nondegenerate_carbon_ignition : Minimum Mc,bagb (core mass at the base of the AGB) for non-degenerate carbon ignition. Typically around 2.25Msun (Pols+1998). : (null)\n",
-      "maximum_mcbagb_for_degenerate_carbon_ignition : Maximum Mc,bagb (core mass at the base of the AGB) for degenerate carbon ignition. Typically around 1.6Msun (Pols+1998). : (null)\n",
-      "max_neutron_star_mass : Maximum mass of a neutron star before it collapses to a black hole. Typically around 2Msun. : (null)\n",
-      "chandrasekhar_mass : The Chandrasekhar mass, usually 1.44Msun : (null)\n",
-      "delta_mcmin : A parameter to reduce the minimum core mass for third dredge up to occur on the TPAGB. As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)\n",
-      "lambda_min : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. See also lambda_multiplier. : (null)\n",
-      "lambda_multiplier : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)\n",
-      "minimum_envelope_mass_for_third_dredgeup : The minimum envelope mass for third dredge up on the TPAGB. Early, solar metallicity models by Straniero et al suggested 0.5Msun is typical. However, circumstantial evidence (Izzard et al 2009) as well as newer models by Stancliffe and Karakas suggest that at low metallicity a value nearer zero is more appropriate. : (null)\n",
-      "mass_of_pmz : The mass in the partial mixing zone of a TPAGB star, using the Karakas 2012 tables. Ask Carlo Abate for more details, or see the series of papers Abate et al 2012, 2013, 2014. Requires NUCSYN and USE_TABULAR_INTERSHELL_ABUNDANCES_KARAKAS_2012. : (null)\n",
-      "c13_eff : The \"efficiency\" of partial mixing in a TPAGB star intershell region, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)\n",
-      "mc13_pocket_multiplier : Multiplies the mass in the partial mixing zone of a TPAGB star, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)\n",
-      "tides_convective_damping : Tidal convective damping algorithm. 0=TIDES_HURLEY2002 Zahn 197x timescales + Hut, as in Hurley et al (2002), 1 = TIDES_ZAHN1989 : Zahn 1989 lambdas + Hut. : (null)\n",
-      "E2_prescription : Choose how to calculate the E2 structural parameter (used in tidal timescale calculations). 0=Hurley 1=Izzard (see Siess et al 2013). : (null)\n",
-      "dtfac : A parameter to decrease the timestep ONLY during the TPAGB phase. : (null)\n",
-      "hbbtfac : A parameter to modulate the temperature at the base of the hot-bottom burning zone in TPAGB stars. (Works only if NUCSYN is defined) : (null)\n",
-      "wind_multiplier_%d : Wind multiplier for the stellar type specified by the intger %d. By default these are all 1.0. : (null)\n",
-      "wind_type_multiplier_%d : Wind multiplier for different types of wind (MS, GB, AGB, WR, LBV, OTHER), given by the integer %d. By default these are all 1.0. : (null)\n",
-      "pre_main_sequence : Set to True to turn on pre-main sequence evolution. Currently this is not a special stellar type, rather the first (small) fraction of the main sequence has increased radii to match the Railton et al 2014 fits to Tout's pre-main sequence stars. Requires PRE_MAIN_SEQUENCE. See also pre_main_sequence_fit_lobes. : (null)\n",
-      "pre_main_sequence_fit_lobes : Set to True force a pre-main sequence star into its Roche lobe. This is done by artificially aging it. Requires PRE_MAIN_SEQUENCE : (null)\n",
-      "small_envelope_method : Choose the method used to determine the stellar radius when the envelope mass is very thin. 0 = Hurley et al. (2002), 1 = Miller Bertolami et al. (2016+) for GB and AGB stars only. : (null)\n",
-      "timestep_modulator : Multiplier applied to the global timestep. Requires TIMESTEP_MODULATION. : (null)\n",
-      "timestep_multiplier%d : Multiplier applied to timestep limit <n>. : (null)\n",
-      "maximum_timestep : The maximum timestep (MYr). : (null)\n",
-      "zoomfac_multiplier_decrease : When a timestep is rejected, decrease the timestep by this factor (0.5). : (null)\n",
-      "zoomfac_multiplier_increase : When a timestep is rejected, zooms, then succeeds, increase the timestep by this factor (1.2). : (null)\n",
-      "maximum_timestep_factor : The maximum factor between two subsequent timesteps (1.2). : (null)\n",
-      "maximum_nuclear_burning_timestep : The maximum timestep (MYr) in any nuclear burning phase. : (null)\n",
-      "nova_retention_method : Algorithm used to calculate the amount of mass retained during a nova explosion. 0=use nova_retention_fraction. (other methods pending) : (null)\n",
-      "MINT_metallicity : This sets the metallicity for MINT. It is ignored if set to -1.0, the default, in which case the normal metallicity parameter is used. : (null)\n",
-      "gaia_Teff_binwidth : log10(Effective temperature) bin width used to make Gaia-like HRDs\n",
-      " : (null)\n",
-      "gaia_L_binwidth : log10(luminosity) bin width used to make Gaia-like HRDs\n",
-      " : (null)\n",
-      "gaia_colour_transform_method : Use this to select the method used to transform to Gaia colours from other colour schemes. GAIA_CONVERSION_UBVRI_UNIVARIATE_JORDI2010 = 0 Jordi et al.'s univariate UBVRI fits, GAIA_CONVERSION_UBVRI_BIVARIATE_JORDI2010 = 1 Jordi et al.'s bivariate UBVRI fits, GAIA_CONVERSION_ugriz_UNIVARIATE_JORDI2010 = 2 Jordi et al.'s univariate UBVRI fits, GAIA_CONVERSION_ugriz_BIVARIATE_JORDI2010 = 3 Jordi et al.'s univariate ugriv fits, GAIA_CONVERSION_UBVRI_UNIVARIATE_EVANS2018 = 4 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_ugriz_UNIVARIATE_EVANS2018 = 5 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_UBVRI_RIELLO2020 = 6 Riello et al. (2020, DR3) fits, GAIA_CONVERSION_ugriz_RIELLO2020 = 7 Riello et al. (2020, DR3) fits. : (null)\n",
-      "rotationally_enhanced_mass_loss : Set to 1 to enable rotationally enhanced mass loss rate algorithms: 0= none, 1=formula cf. Langer models (=ROTATIONALLY_ENHANCED_MASSLOSS_LANGER_FORMULA), 2=limit accretion rate before wind loss is applied, 3 = both 1 and 2. See also rotationally_enhanced_exponent : (null)\n",
-      "AGB_core_algorithm : Algorithm to use for calculating AGB core masses. 0=Hurley et al. 2002 if no NUCSYN, Karakas 2002 if NUCSYN is defined; 1=Hurley et al. 2002 (overshooting models); 1=Karakas 2002 (non-overshooting models). : (null)\n",
-      "AGB_radius_algorithm : Algorithm to use for calculating radii on the TPAGB. : (null)\n",
-      "AGB_luminosity_algorithm : Algorithm to use for calculating luminosities on the TPAGB. : (null)\n",
-      "AGB_3dup_algorithm : Algorithm to use for calculating third dredge up efficiency on the TPAGB. : (null)\n",
-      "overspin_algorithm : Algorithm to determine what we do when a star is rotating at its breakup velocity. OVERSPIN_BSE (0) conservatively transfers the angular momentum back to the orbit. OVERSPIN_MASSLOSS uses the rotationally_enhanced_massloss parameter to lose mass which carries away the angular momentum. : (null)\n",
-      "rotationally_enhanced_exponent : The exponent (power) by which rotationally enhanced mass loss is raised. Requires ROTATIONALLY_ENHANCED_MASS_LOSS. See also rotationally_enhanced_mass_loss. : (null)\n",
-      "batchmode : Set the batchmode control variable. Use only if you know what you are doing! : (null)\n",
-      "speedtests : If True, turns on speedtests during version information (off by default). : (null)\n",
-      "use_fixed_timestep_%d : Set to True to use fixed timestep <n>, False to turn off. Fixed timesteps are on (this is True) by default. : (null)\n",
-      "task%d : Control tasks to be performed by binary_c. By default, these are all TRUE. For more information see binary_c_macros.h, particularly the BINARY_C_TASK_* macros. : (null)\n",
-      "orbiting_object : Usage: --orbiting_object mass,spinrate,central_object,period. : 1.0\n",
-      "orbiting_objects_log : If True, turn on orbiting-object log. : (null)\n",
-      "orbiting_objects_log : If True, turn on orbiting-object log. : (null)\n",
-      "orbiting_objects_wind_accretion_multiplier : Multiplier for wind accretion on orbiting objects. Hurley et al 2002 use 1.5, which is the default. : (null)\n",
-      "orbiting_objects_close_pc_threshold : How close are orbiting objects allowed to be? Set this to be the absolute percentage difference minimum. : (null)\n",
-      "orbiting_objects_tides_multiplier : Multiplier for tidal torques on orbiting objects. : (null)\n",
-      "evaporate_escaped_orbiting_objects : If True, evaporate orbiting objects that have escaped the system. : (null)\n",
-      "RLOF_transition_objects_escape : If True, objects that escape their Roche lobe are ejected from the system, otherwise they are placed just outside the minimum stable orbit. : (null)\n",
-      "PN_resolve : If True, the timestep will be shortened to resolve better the PN phase (FALSE). : (null)\n",
-      "PN_resolve_minimum_luminosity : The luminosity above which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_resolve_maximum_envelope_mass : The envelope mass below which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_resolve_minimum_effective_temperature : The minimum effective temperature above which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_fast_wind : If True, thin-envelope PNe will have fast winds (FALSE). : (null)\n",
-      "PN_fast_wind_dm_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)\n",
-      "PN_fast_wind_mdot_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)\n",
-      "PN_fast_wind_dm_AGB : The envelope mass below which fast wind used during the AGB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)\n",
-      "PN_fast_wind_mdot_AGB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)\n",
-      "HeWD_HeWD_ignition_mass : HeWD-HeWD mergers above this mass reignite helium. (0.3) : (null)\n",
-      "wind_Nieuwenhuijzen_luminosity_lower_limit : Above this luminosity we activate the Nieuwenhuijzen and de Jager wind (4e3 Lsun). : (null)\n",
-      "wind_LBV_luminosity_lower_limit : Above this luminosity we activate the LBV wind (6e5 Lsun). : (null)\n",
-      "colour%d : Sets colour %d (0 to NUM_ANSI_COLOURS-1) to the extended ANSI set colour you choose (1-255, 0 means ignore). The colour numbers are defined in src/logging/ansi_colours.h : (null)\n",
-      "apply_Darwin_Radau_correction : Apply Darwin-Radau correction to the moment of inertia to take rotation into account? : (null)\n",
-      "degenerate_core_merger_nucsyn : If TRUE, assume that in a degnerate core merger, energy is generated from nucleosynthesis of the whole core, and that this can disrupt the core. The BSE algorithm (Hurley et al. 2002) assumes this to be TRUE, but binary_c assumes FALSE by default. (FALSE) : (null)\n",
-      "degenerate_core_helium_merger_ignition : If TRUE, assume that when there is a degenerate helium core merger, the star reignites helium. This is required to make R-type carbon stars. (TRUE) : (null)\n",
-      "degenerate_core_merger_dredgeup_fraction : If non-zero, mix this fraction of the degenerate core during a merger.(0.0). : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Binary\n",
-      "############################################################\n",
-      "separation : Set the orbital separation (actually the semi-major axis) of the binary (internal index 0, stellar indices 0 and 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "separation_triple : Set the orbital separation (actually the semi-major axis) of the triple (internal index 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "separation_quadruple : Set the orbital separation (actually the semi-major axis) of the quadruple (internal index 2) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "orbital_period : Set the initial orbital period of the binary, stars 1 and 2 (internal indices 0 and 1) in days. See also separation. : (null)\n",
-      "orbital_period_triple : Set the initial orbital period of the triple in days. See also separation. : (null)\n",
-      "orbital_period_quadruple : Set the orbital period of the outer binary in a quadrulple (stars 3 and 4, internal indices 2 and 3) in days. See also separation. : (null)\n",
-      "eccentricity : Set the initial eccentricity of the binary orbit (stars 1 and 2, internal indices 0 and 1). : (null)\n",
-      "eccentricity_triple : Set the initial eccentricity of the triple orbit. : (null)\n",
-      "eccentricity_quadruple : Set the initial eccentricity of the outer binary of a quadruple (stars 3 and 4, internal indices 2 and 3). : (null)\n",
-      "incliniation : Set the initial orbital_inclination of the binary relative to zero. : (null)\n",
-      "incliniation_triple : Set the initial orbital_inclination of the triple orbit relative to zero. : (null)\n",
-      "incliniation_quadruple : Set the initial orbital_inclinationy of the quadruple orbit relative to zero. : (null)\n",
-      "orbital_phase : Set the initial orbital phase of the binary orbit. : (null)\n",
-      "orbital_phase_triple : Set the initial orbital phase of the triple orbit. : (null)\n",
-      "orbital_phase_quadruple : Set the initial orbital phase of the quadruple orbit. : (null)\n",
-      "argument_of_periastron : Set the initial argument of periastron of the binary orbit. : (null)\n",
-      "argument_of_periastron_triple : Set the initial argument of periastron of the triple orbit. : (null)\n",
-      "argument_of_periastron_quadruple : Set the initial argument of periastron of the quadruple orbit. : (null)\n",
-      "disc_timestep_factor : Factor that multiplies the natural timestep of a disc. : (null)\n",
-      "white_dwarf_cooling_model : White dwarf cooling model, relates age to luminosity. WHITE_DWARF_COOLING_MESTEL = 0 is Mestel's model, WHITE_DWARF_COOLING_MESTEL_MODIFIED = 1 is Hurley's modified Mestel model, WHITE_DWARF_COOLING_CARRASCO2014 = 2 is based on Carrasco (2014) tables.   : (null)\n",
-      "white_dwarf_radius_model : White dwarf radius model, radius to mass (and perhaps age). WHITE_DWARF_RADIUS_NAUENBERG1972 = 0 Nauenberg (1972), WHITE_DWARF_RADIUS_MU = 1 mu-dependent variant, WHITE_DWARF_RADIUS_CARRASCO2014 = 2 is based on Carrasco (2014) tables. : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_accretion_method : Chooses where the mass that is accreted from the inner edge of a circumbinary disc goes, i.e. to which star. 0 = Young and Clarke 2015, 1 = Gerosa et al 2015, 2 = 50:50 (i.e. not dependence on mass). : (null)\n",
-      "cbdisc_inner_edge_stripping : If True, allow inner edge mass stripping. : (null)\n",
-      "cbdisc_end_evolution_after_disc : If True, stop evolution when a disc evaporates. : (null)\n",
-      "cbdisc_no_wind_if_cbdisc : If True, disable stellar winds when there is a circumbinary disc. : (null)\n",
-      "cbdisc_outer_edge_stripping : If True, allow outer edge mass stripping. : (null)\n",
-      "disc_n_monte_carlo_guesses : Number of monte carlo guesses to try in the disc solver if the normal list of guesses fails (0). : (null)\n",
-      "disc_log : If 1, turn on the disc log. Requires DISC_LOG to be defined on build. : (null)\n",
-      "disc_log2d : If 1, turn on the 2d disc log. Requires DISC_LOG to be defined on build. : (null)\n",
-      "disc_log_dt : If non-zero, only allows disc log output every disc_log_dt Myr. : (null)\n",
-      "disc_log_directory : Directory into which disc logging is sent (must exist!). : /tmp/\n",
-      "post_ce_adaptive_menv : If TRUE, and if post_ce_objects_have_envelopes is TRUE, then the envelope mass of a post-CE star is such that it sits just inside its Roche lobe. If FALSE then a fixed (thin) envelope mass is applied that depends on the stellar type (see macros POST_CE_ENVELOPE_DM_GB, POST_CE_ENVELOPE_DM_EAGB and POST_CE_ENVELOPE_DM_TPAGB). : (null)\n",
-      "post_ce_objects_have_envelopes : If TRUE then post-common-envelope objects have thin envelopes. You need this if you are to have post-CE post-AGB stars. Note that this *may* be unstable, i.e. you may end up having many CEEs. The mass in the envelope is controlled by post_ce_adaptive_menv. TRUE by default. : (null)\n",
-      "PN_comenv_transition_time : post-common envelope transition time in years (1e2).  This is the time taken to move from CEE ejection to Teff > 30e4 K. Hall et al. (2013) suggest ~100 years. : (null)\n",
-      "minimum_time_between_PNe : The minimum time (Myr) between planetary nebula detections. This prevents multiple, fast common envelopes triggering two PNe (0.1). : (null)\n",
-      "PN_Hall_fading_time_algorithm : In stars with low mass (<0.45Msun) cores, you can choose to set the PN fading time to either the minimum (PN_HALL_FADING_TIME_ALGORITHM_MINIMUM) or maximum (PN_HALL_FADING_TIME_ALGORITHM_MAXIMUM) as shown in Fig. 6 of Hall et al. (2013). : (null)\n",
-      "PPN_envelope_mass : Desired pre-planetary nebula (post-AGB) envelope mass. : (null)\n",
-      "cbdisc_eccentricity_pumping_method : Select from various eccentricity-pumping methods when there is a circumbinary disc. Requires DISCS. 0 = off. : (null)\n",
-      "cbdisc_viscous_photoevaporative_coupling : Set to 1 to turn on viscous-photoevaporative coupling in circumbinary discs. Requires DISCS. 0 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_NONE = off, 1 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_INSTANT instant, 2 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_VISCOUS slow, viscous wind. : (null)\n",
-      "cbdisc_inner_edge_stripping_timescale : Defines the timescale for mass loss from by inner edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_in. : (null)\n",
-      "cbdisc_outer_edge_stripping_timescale : Defines the timescale for mass loss from by outer edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_out. : (null)\n",
-      "cbdisc_viscous_L2_coupling : Set to 1 to turn on viscous-L2-loss coupling in circumbinary discs. Requires DISCS. 0 = off. : (null)\n",
-      "gravitational_radiation_model : Model for gravitational radiation from the system. 0=Hurley et al 2002 (Landau and Lifshitz 1951). 1 = as 0 but only when there is no RLOF. 2 = none. : (null)\n",
-      "nova_irradiation_multiplier : Multiplier for nova-radiative induced mass loss. (Shara+1986) : (null)\n",
-      "gravitational_radiation_modulator_J : Modulator for gravitational wave radiation angular momentum loss rate (1.0). : (null)\n",
-      "gravitational_radiation_modulator_e : Modulator for gravitational wave radiation eccentricity pumping rate (1.0). : (null)\n",
-      "nova_faml_multiplier : Nova friction-induced angular momentum loss multiplier. (Shara+1986) : (null)\n",
-      "RLOF_angular_momentum_transfer_model : Choose angular momentum transfer model in RLOF. 0=BSE (with discs), 1=conservative : (null)\n",
-      "post_SN_orbit_method : Method by which the post-SN orbit is calculated. 0=BSE, 1=Tauris&Taken 1998. : (null)\n",
-      "multiplicity : Multiplicity: 1=single star, 2=binary, 3=triple, 4=quadruple. : (null)\n",
-      "accretion_limit_eddington_steady_multiplier : Steady accretion is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_steady_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_eddington_LMMS_multiplier : Accretion from a low-mass, convective, main_sequence star is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_LMMS_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_eddington_WD_to_remnant_multiplier : Accretion from a WD onto a remnant star (e.g. another white dwarf, neutron star or black hole) is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_WD_to_remnant_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_thermal_multiplier : Mass transfer onto a MS, HG or CHeB star is limited by the accretor's thermal rate times this multiplier. : (null)\n",
-      "accretion_limit_dynamical_multiplier : Mass transfer is limited by the accretor's dynamical rate times this multiplier. : (null)\n",
-      "donor_limit_envelope_multiplier : Mass transfer by RLOF is limited by this fraction of the donor's envelope mass per timestep : (null)\n",
-      "donor_limit_thermal_multiplier : Mass transfer by RLOF is limited by the accretor's thermal rate times this multiplier. : (null)\n",
-      "donor_limit_dynamical_multiplier : Mass transfer by RLOF is limited by the donor's dynamical rate times this multiplier. : (null)\n",
-      "Bondi_Hoyle_accretion_factor : Wind accretion rate, as calculated by the Bondi-Hoyle-Littleton formula, multiplcation factor. Hurley et al 2002 use 1.5, which is the default. : (null)\n",
-      "tidal_strength_factor : A modulator for the tidal strength. If this factor > 1 then tides are stronger, i.e. tidal timescales are reduced. : (null)\n",
-      "hachisu_qcrit : Critical q=Maccretor/Mdonor above which Hachisu's disk wind turns on. : (null)\n",
-      "hachisu_disk_wind : Set to True to turn on Hachisu's disk wind when material accretes too fast onto a white dwarf. This helps to make more SNeIa. See also hachisu_qcrit. : (null)\n",
-      "mass_accretion_for_eld : The mass that must be accreted onto a COWD for it to ignite as an edge-lit detonation SNIa. : (null)\n",
-      "WDWD_merger_algorithm : Algorithm to be used when merging two white dwarfs. 0 = Hurley et al. (2002), 1 = Perets+ (2019), 2 = Chen+ (2016, todo)  : (null)\n",
-      "type_Ia_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from Chandrasekhar-mass exploders. 0 = DD7 (Iwamoto 1999), 1 = Seitenzahl 2013 3D hydro yields (you must also set Seitenzahl2013_model)  : (null)\n",
-      "Seitenzahl2013_model : Which of Seitenzahl et al. 2013's models to use? One of N1,N3,N5,N10,N20,N40,N100L,N100,N100H,N150,N200,N300C,N1600,N1600C,N100_Z0.5,N100_Z0.1,N100_Z0.01 (defaults to N100). : N1\n",
-      "type_Ia_sub_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from sub-Chandrasekhar-mass exploders. (Currently unused.) : (null)\n",
-      "max_HeWD_mass : The maximum mass a HeWD can have before it ignites helium (0.7). : (null)\n",
-      "merger_mass_loss_fraction : Fraction of the total mass which is lost when stars merge. : (null)\n",
-      "merger_angular_momentum_factor : When two stars merge the resulting single star retains a fraction of the total system angular momentum (or the critical spin angular momentum, if it is smaller) multiplied by this factor. : (null)\n",
-      "wind_angular_momentum_loss : Prescription for losing angular momentum in a stellar wind. 0=Hurley et al 2002 ('Tout') prescription, 1=lw i.e. a factor multiplying the specific orbital angular momentum, 2=lw hybrid for fast winds. Set wind_djorb_fac to the desired factor.. : (null)\n",
-      "wind_djorb_fac : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=0 (the Tout/Hurley et al 2002 prescription). See wind_angular_momentum_loss. : (null)\n",
-      "lw : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=1,2 (the 'lw' prescription). See wind_angular_momentum_loss. : (null)\n",
-      "VW93_EAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)\n",
-      "VW93_TPAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)\n",
-      "use_periastron_Roche_radius : Set this to True to use the Roche lobe radius at periastron, rather than (the default to) assume a circular orbit. This will be useful one day when we treat RLOF in eccentric orbits properly, hopefully. : (null)\n",
-      "qcrit_LMMS : Apply critical q=Mdonor/Maccretor value for low-mass main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_LMMS : Apply critical q=Mdonor/Maccretor value for (low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "mass_for_Hestar_Ia_upper : Only helium stars below this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_lower. : (null)\n",
-      "mass_for_Hestar_Ia_lower : Only helium stars above this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_upper. : (null)\n",
-      "alphaCB : Circumbinary disk viscosity parameter, alpha. : (null)\n",
-      "minimum_donor_menv_for_comenv : Minimum donor envelope mass for common envelope evolution to be triggered (Msun). Default 0. : (null)\n",
-      "comenv_prescription : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)\n",
-      "comenv_prescription%d : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)\n",
-      "comenv_ejection_spin_method : When a common envelope is ejected, we need to decide how fast the stars are left spinning. COMENV_EJECTION_SPIN_METHOD_DO_NOTHING (0) is the default, this just leaves the stars/stellar cores spinning with the same spin rate (omega = angular velocity) with which they entered the common envelope phase. COMENV_EJECTION_SPIN_METHOD_SYCHRONIZE instead tidally synchronizes the stars with their new orbital angular velocity. : (null)\n",
-      "comenv_merger_spin_method : When a common envelope binary merges, we need to decide how fast the resulting single star is left spinning. COMENV_MERGER_SPIN_METHOD_SPECIFIC (0) is the default, this preserves angular momentum but limits the specific angular momentum of the merged star to the specific angular momentum of the system at the onset of common envelope evolution. COMENV_MERGER_SPIN_METHOD_CONSERVE_ANGMOM (1) sets the merger's angular momentum to be that of the system at the onset of common envelope evolution (which means the star may be rotating supercritically). COMENV_MERGER_SPIN_METHOD_CONSERVE_OMEGA (2) sets the spin rate (angular frequency = omega) of the merged star to be that of the orbit just at the onset of common envelope evolution. : (null)\n",
-      "comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)\n",
-      "comenv_ms_accretion_fraction : Experimental. During common envelope evolution, a main sequence may accrete a fraction of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_mass. : (null)\n",
-      "comenv_ns_accretion_mass : Experimental. During common envelope evolution, a neutron star may accrete some of the envelope's mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_fraction. : (null)\n",
-      "comenv_ns_accretion_fraction : Experimental. During common envelope evolution, a neutron star may accrete a fraction of the envelope's mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_mass. : (null)\n",
-      "alpha_ce : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)\n",
-      "alpha_ce%d : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)\n",
-      "lambda_ce : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to LAMBDA_CE_DEWI_TAURIS == -1 binary_c uses the Dewi and Tauris fits instead, LAMBDA_CE_WANG_2016 == -2 uses the formalism of Wang, Jia and Li (2016), if LAMBDA_CE_POLYTROPE == -3 then a polytropic formalism is used (see also comenv_splitmass) and if LAMBDA_CE_KLENCKI_2020 == -4 use Klencki et al. (2020). : (null)\n",
-      "lambda_ce%d : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to -1 binary_c uses the Dewi and Tauris fits instead, -2 uses the formalism of Wang, Jia and Li (2016) and if -3 then a polytropic formalism is used (see also comenv_splitmass). : (null)\n",
-      "comenv_splitmass : When lambda_ce=-2, the envelope binding energy, lambda, is calculated using a polytropic formalism. The comenv_splitmass defines the point, in the units of the core mass, above which material is ejected. : (null)\n",
-      "nelemans_recalc_eccentricity : If True, recalculate the eccentricity after angular momentum is removed.  : (null)\n",
-      "comenv_post_eccentricity : Eccentricity remaining after common envelope ejection. : (null)\n",
-      "nelemans_gamma : Set the fraction of the orbital specific angular momentum that is used to eject the common envelope according to the Nelemans and Tout prescription. See also nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)\n",
-      "nelemans_minq : Only activate the Nelemans and Tout common envelope prescription for q>nelemans_minq. See also nelemans_gamma, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)\n",
-      "nelemans_max_frac_j_change : Maximum fractional angular momentum change in the Nelemans and Tout common envelope prescription. See also nelemans_gamma, nelemans_minq, nelemans_n_comenvs. : (null)\n",
-      "nelemans_n_comenvs : Set the maximum number of common envelope ejections allowed to follow the Nelemans and Tout prescription, after which the standard alpha prescription is used. : (null)\n",
-      "lambda_ionisation : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)\n",
-      "lambda_ionisation%d : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)\n",
-      "lambda_enthalpy : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)\n",
-      "lambda_enthalpy%d : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)\n",
-      "cbdisc_albedo : Circumbinary-disc albedo. Requires DISCS. : (null)\n",
-      "cbdisc_gamma : Circumbinary disc gamma (equation of state) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_alpha : Circumbinary disc alpha (viscosity) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_kappa : Circumbinary disc kappa (opacity) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_evaporation_timescale : Circumbinary disc minimum evaporation timescale (years). If (slow, not edge stripped) mass loss would evaporate the disc on a timescale less than this, simply evaporate the disc immediated. Usually set to 1y, ignore if zero. Requires DISCS. : (null)\n",
-      "cbdisc_torquef : Circumbinary disc binary torque multiplier. Requires DISCS. : (null)\n",
-      "cbdisc_max_lifetime : Circumbinary disc maximum lifetime (years, ignored if 0). Requires DISCS. : (null)\n",
-      "cbdisc_init_dM : On cbdisc start, reduce mass by a fraction dM if it won't converge. Requires DISCS. : (null)\n",
-      "cbdisc_init_dJdM : On cbdisc start, reduce angular momentum by a fraction dJ/dM*dM if it won't converge. Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_constant_rate : Circumbinary disc constant mass loss rate (Msun/year). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_FUV_multiplier : Circumbinary disc FUV mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_Xray_multiplier : Circumbinary disc X-ray mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_ISM_ram_pressure_multiplier : Circumbinary disc interstellar medium ram pressure stripping mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_ISM_pressure : Circumbinary disc interstellar medium ram pressure in units of Boltzmann constant per Kelvin (I think...). Requires DISCS. Typically 3000.0. See e.g. http://www.astronomy.ohio-state.edu/~pogge/Ast871/Notes/Intro.pdf page 15 or https://arxiv.org/pdf/0902.0820.pdf Fig. 1 (left panel). : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_multiplier : Circumbinary disc inner edge viscous mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_angular_momentum_multiplier : Circumbinary disc inner edge viscous angular momentum multiplier (no units). The inner edge angular momentum Requires DISCS. : (null)\n",
-      "cbdisc_resonance_multiplier : Circumbinary disc resonant interaction multiplier, affects eccentricity pumping and angular momentum rates. Requires DISCS. : (null)\n",
-      "cbdisc_resonance_damping : Circumbinary disc resonant interaction damping: should be on (True) to damp the l=1, m=2 resonance when the disc inner edge lies outside the resonance location. Requires DISCS. : (null)\n",
-      "cbdisc_fail_ring_inside_separation : If True, while converging on a structure, circumbinary discs with Rring < the binary separation are immediately failed. : (null)\n",
-      "cbdisc_mass_loss_inner_L2_cross_multiplier : Circumbinary disc inner edge L2-crossing mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_minimum_luminosity : Circumbinary disc minimum luminosity. If the disc becomes dimmer than this, the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_mass : Circumbinary disc minimum mass. If the disc becomes less massive than this, the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_fRing : Circumbinary disc minimum fRing. If the disc becomes a ring, and fRing = |Rout/Rin-1| < this value (and this value is non-zero), the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "comenv_disc_angmom_fraction : If >0 Fraction of the common envelope's angular momentum that goes into the circumbinary disc. If -1 then uses the moments of inertia to calculate (deprecated), if -2 use the common envelope's specific angular momentum, if -3 uses the L2 point at the end of the common envelope to set the angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)\n",
-      "comenv_disc_mass_fraction : Fraction of the common envelope's mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)\n",
-      "wind_disc_angmom_fraction : If >0 Fraction of the wind envelope's angular momentum that goes into the circumbinary disc. If -1 then uses the L2 point's specific angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)\n",
-      "wind_disc_mass_fraction : Fraction of the stellar wind's mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)\n",
-      "WRLOF_method : Choose whether and how to apply wind-Roche-lobe-overflow. 0=none, 1=q-dependent, 2=quadratic See Abate et al 2013/14 for details. Requires WRLOF_MASS_TRANSFER. : (null)\n",
-      "minimum_timestep : The minimum timestep (Myr). : (null)\n",
-      "timestep_solver_factor : Factor applied in timestep_limits, e.g. to prevent X changing too fast by comparing to X/dX/dt, which is usually 1 but can be higher to lengthen timesteps when using an alternative solver. : (null)\n",
-      "RLOF_mdot_factor : Multiplier applied to the mass transfer rate during Roche-lobe overflow. Requires RLOF_MDOT_MODULATION. : (null)\n",
-      "RLOF_f : Factor to enlarge a Roche lobe, nominally because of radiation pressure (see Dermine et al paper). Requires RLOF_RADIATION_CORRECTION. : (null)\n",
-      "minimum_separation_for_instant_RLOF : If True, instead of evolving the system just report the minimum separation (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_orbital_period_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)\n",
-      "minimum_orbital_period_for_instant_RLOF : If True, instead of evolving the system just report the minimum orbital period (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_separation_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)\n",
-      "maximum_mass_ratio_for_instant_RLOF : If True, instead of evolving the system just report the maximum mass ratio (on the zero-age main sequence) that would lead to instant RLOF, given M1 and orbital period. Used by binary_grid. See also minimum_separation_for_instant_RLOF and minimum_orbital_period_for_instant_RLOF. : (null)\n",
-      "RLOF_method : Use RLOF_method to choose the algorithm you use for Roche-lobe overflow mass loss rate calculations. 0=Hurley et al 2002, 1=Adaptive (for radiative stars) R=RL method, 2=Ritter (probably broken), 3=Claeys etal 2014 variant on Hurley et al 2002. : (null)\n",
-      "RLOF_interpolation_method : When a star overflows its Roche lobe, it always has R>RL because of the limited time resolution of the simulation. Binary_c then uses an algorithm to get back to when R~RL (within a desired tolerance, set in RLOF_ENTRY_THRESHOLD which is usually 1.02, i.e. overflow of 2%). You can choose algorithm 0, the Hurley et al 2002 method which reverses time (i.e. uses a Newton-like scheme), or 1 to use the binary_c method which rejects a timestep (and hence does no logging on that timestep) and repeats with half the timestep until R~RL. The latter is now the default, because this means there are no negative timesteps which break various other algorithms (e.g. nucleosynthesis). : (null)\n",
-      "nova_retention_fraction : The mass accreted during a nova as fraction of mass transferred : (null)\n",
-      "beta_reverse_nova : The fraction of mass ejected in a nova explosion which is accreted back onto the companion star. Set to -1 to automatically calculate based on a geometric argument, or 0 or positive to set the value. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_hydrogen_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is hydrogen rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_helium_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is helium rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_other_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is neither hydrogen nor helium rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a hydrogen-rich donor. Below this mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a helium-rich donor. Below this mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_other_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope when the donor is neither hydrogen nor helium rich. Below this mass transfer leads to stable burning. : (null)\n",
-      "CRAP_parameter : Tidally enhanced mass loss parameter. See Tout and Eggleton's paper on the subject. (Was the parameter bb). : (null)\n",
-      "individual_novae : If individual_novae is True, novae are resolved such that each explosion is performed separtaely. : (null)\n",
-      "nova_timestep_accelerator_num : The nova timestep is accelerated if the nova number exceeds nova_timestep_accelerator_num. If zero or negative, acceleration is off. See also nova_timestep_accelerator_index and nova_timestep_accelerator_max. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nova_timestep_accelerator_index : The index at which the nova timestep is accelerated. A larger value gives longer timesteps. See also nova_timestep_accelerator_num and nova_timestep_accelerator_max. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nova_timestep_accelerator_max : The nova timestep is accelerated by a factor that is capped at nova_timestep_accelerator_max. This parameter is ignored if it is zero or negative. See also nova_timestep_accelerator_num and nova_timestep_accelerator_index. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nonconservative_angmom_gamma : Mass lost from the system (but NOT from a stellar wind) takes a fraction gamma of the orbital angular momentum with it. Set to -1 to take the specific angular momentum of the donor star. Set to -2 to take super-Eddington, nova and disk-wind angular momenta as if a wind from the accretor. : (null)\n",
-      "max_stellar_angmom_change : Maxmimum fractional change in stellar angular momentum allowed before a timestep is rejected (0.05). : (null)\n",
-      "comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Nucsyn\n",
-      "############################################################\n",
-      "third_dup : If True, enables third dredge up. Requires NUCSYN and NUCSYN_THIRD_DREDGE_UP. : (null)\n",
-      "third_dup_multiplier : Usage: --third_dup_multiplier <i> <f>. Multiplies the abundance of element <i> by <f> during third dredge up. : 1.0\n",
-      "NeNaMgAl : Enables NeNaMgAl reaction network. Requires NUCSYN and NUCSYN_HBB. : Ignore\n",
-      "nucsyn_network%d : Usage: --nucsyn_network%d <boolean>. Turn a nuclear network on or off. : (null)\n",
-      "nucsyn_network_error%d : Usage: --nucsyn_network_error%d <f>. Threshold error in nuclear network solver for network %d. : (null)\n",
-      "nucreacmult%d : Usage: --nucreacmult%d <f>. Multiply nuclear reaction given by the integer %d (integer) by f (float).  : (null)\n",
-      "nucsyn_metallicity : This sets the metallicity of the nucleosynthesis algorithms, i.e. the amount (by mass) of matter which is not hydrogen or helium. Usually you'd just set this with the metallicity parameter, but if you want the nucleosynthesis to be outside the range of the stellar evolution algorithm (e.g. Z=0 or Z=0.04) then you need to use nucsyn_metallicity. That said, it's also outside the range of some of the nucleosynthesis algorithms as well, so you have been warned! : (null)\n",
-      "nucsyn_solver : Choose the solver used in nuclear burning. 0 = KAPS_RENTROP is a Kaps-Rentrop scheme (fast, not great for stiff problems), 1 = LSODA (Adams/BSF switcher), 2 = CVODE library (https://computing.llnl.gov/projects/sundials. Default 0.  : 0\n",
-      "initial_abundance_mix : initial abundance mixture: 0=AG89, 1=Karakas 2002, 2=Lodders 2003, 3=Asplund 2005 (not available?), 4=Garcia Berro, 5=Grevesse Noels 1993 : 0\n",
-      "init_abund : Usage: --init_abund <i> <X>. Sets the initial abundance of isotope number <i> to mass fraction <X>. : 0.02\n",
-      "init_abund_mult : Usage: --init_abund_mult <i> <f>. Multiplies the initial abundance of isotope number <i> by <f>. : 1.0\n",
-      "init_abund_dex : Usage: --init_abund_dex <i> <f>. Changes the initial abundance of isotope number <i> by <f> dex. : 0.0\n",
-      "init_abunds_only : If True, outputs only the initial abundances, then exits. : (null)\n",
-      "initial_abunds_only : If True, outputs only the initial abundances, then exits. : (null)\n",
-      "no_thermohaline_mixing : If True, disables thermohaline mixing. : (null)\n",
-      "lithium_GB_post_Heflash : Sets the lithium abundances after the helium flash. Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "lithium_GB_post_1DUP : Sets the lithium abundance after first dredge up. Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "lithium_hbb_multiplier : Multiplies the lithium abundances on the AGB during HBB (based on Karakas/Fishlock et al models).Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "angelou_lithium_decay_function : Functional form which describes Li7 decay. Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Choices are : 0 expoential (see angelou_lithium_decay_time). : (null)\n",
-      "angelou_lithium_LMMS_time : Time at which lithium manufacture is triggered in a low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_time : Time at which lithium manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_time : Time at which lithium manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_time : Time at which lithium manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_time : Time at which lithium manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_time : Time at which lithium manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_time : Time at which lithium manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_LMMS_decay_time : Decay time for surface lithium abundance during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_decay_time : Decay time for surface lithium abundance on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_decay_time : Decay time for surface lithium abundance on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_decay_time : Decay time for surface lithium abundance on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_decay_time : Decay time for surface lithium abundance during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_decay_time : Decay time for surface lithium abundance on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_decay_time : Decay time for surface lithium abundance on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_LMMS_massfrac : Lithium mass fraction when its manufacture is triggered during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_massfrac : Lithium mass fraction when its manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_massfrac : Lithium mass fraction when its manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_massfrac : Lithium mass fraction when its manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_massfrac : Lithium mass fraction when its manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_vrot_trigger : Equatorial rotational velocity at which lithium manufacture is triggered (km/s). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.\n",
-      " : (null)\n",
-      "angelou_lithium_vrotfrac_trigger : Fraction of Keplerian (breakup) equatorial rotational velocity at which lithium manufacture is triggered (must be <1, ignored if 0). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.\n",
-      " : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Output\n",
-      "############################################################\n",
-      "cf_amanda_log : Enable logging to compare to Amanda's models. : (null)\n",
-      "float_overflow_checks : Turn on to enable floating-point overflow checks at the end of each timestep, if they are available. 0=off, 1=warn (stderr) on failure, 2=exit on failure (0) : (null)\n",
-      "save_pre_events_stardata : Enable this to save a copy of stardata to stardata->pre_events_stardata just before an event. : (null)\n",
-      "disable_end_logging : Disable the logging that happens at the end of the evolution. : (null)\n",
-      "ensemble : Turn on ensemble calculations and output. : (null)\n",
-      "ensemble_filters_off : Sets all ensemble filters to be off (FALSE) - these can then be enabled one-by-one with --ensemble_filter_[...] TRUE. : (null)\n",
-      "ensemble_filter_%d : Turn on or off ensemble filter <n>. For a list of filters, see ensemble_macros.h. : (null)\n",
-      "ensemble_legacy_ensemble : Turn on ensemble legacy population output. : (null)\n",
-      "legacy_yields : Turn on ensemble legacy yield output. : (null)\n",
-      "ensemble_defer : Defer ensemble output. : (null)\n",
-      "ensemble_dt : When doing ensemble calculations, data are stored and/or output every ensemble_dt Myr. See also ensemble, ensemble_logdt, ensemble_startlogtime. : (null)\n",
-      "ensemble_logdt : When doing ensemble calculations, and when logensembletimes is set, the ensemble is stored/output every ensemble_logdt Myr. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)\n",
-      "ensemble_startlogtime : Start log ensemble data storage/calculations/output at ensemble_startlogtime. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)\n",
-      "ensemble_logtimes : When doing ensemble calculations/output, set this to act at log times rather than linear times. : (null)\n",
-      "postagb_legacy_logging : Turn on post-AGB legacy logging. : (null)\n",
-      "disc_legacy_logging : Turn on disc legacy logging. : (null)\n",
-      "EMP_logg_maximum : Maximum logg that EMP stars are allowed to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_minimum_age. : (null)\n",
-      "EMP_minimum_age : Minimum age that EMP stars are required to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum. : (null)\n",
-      "EMP_feh_maximum : Maximum [Fe/H] that an EMP stars may have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default -2.0. : (null)\n",
-      "CEMP_cfe_minimum : Minimum [C/Fe] that CEMP stars are required to have. See Izzard et al 2009. See also NEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 0.7. : (null)\n",
-      "NEMP_cfe_minimum : Minimum [N/Fe] that NEMP stars are required to have. See Izzard et al 2009, Pols et al. 2012. See also CEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 1.0. : (null)\n",
-      "thick_disc_start_age : Lookback time for the start of the thick disc star formation, e.g. 13e3 Myr. Units = Myr. : (null)\n",
-      "thick_disc_end_age : Lookback time for the end of the thick disc star formation, e.g. 4e3 Myr. Units = Myr. : (null)\n",
-      "thick_disc_logg_min : Minimum logg for thick disc giants to be logged. : (null)\n",
-      "thick_disc_logg_max : Maximum logg for thick disc giants to be logged. : (null)\n",
-      "escape_velocity : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 1e9 km/s. See also escape_fraction. : (null)\n",
-      "escape_fraction : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 0.0. See also escape_velocity. : (null)\n",
-      "colour_log : If set to True, thelog is coloured with ANSI colour formatting. Requires FILE_LOG to be defined. : \n",
-      "log_filename : Location of the output logging filename. If set to \"/dev/null\" then there is no logging. : \n",
-      "log_arrows : Add arrows to the output log to show whether values are increasing or decreasing. : \n",
-      "stopfile : File which, when it exists, will stop the current binary_c repeat run. : \n",
-      "stardata_dump_filename : Location of the stardata dump file. : \n",
-      "stardata_load_filename : Location of the stardata file to load. : \n",
-      "api_log_filename_prefix : Location of the output logging filename prefix for the API. If set to \"/dev/null\" then there is no logging. : 0\n",
-      "hrdiag_output : Set to True to output high time-resolution Hertzstrpung-Russell diagram information. Requires HRDIAG. : (null)\n",
-      "internal_buffering : Experimental. Set to non-zero values to implement internal buffering prior to output. For use with binary_grid, you shouldn't really be playing with this. : (null)\n",
-      "eccentric_RLOF_model : Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE.\n",
-      " : (null)\n",
-      "force_circularization_on_RLOF : If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) : (null)\n",
-      "wtts_log : If True, enables log file output for WTTS2. : (null)\n",
-      "fabian_imf_log_time : Time at which to output for Fabian Schneider's IMF project. Requires FABIAN_IMF_LOG : Ignore\n",
-      "fabian_imf_log_timestep : Timestep for Fabian Schneider's IMF project logging. Requires FABIAN_IMF_LOG : Ignore\n",
-      "version : Display binary_c version and build information. Also performs timing tests. : Ignore\n",
-      "dumpversion : Display binary_c version number (short format). : Ignore\n",
-      "version_only : Display binary_c version number and build information, but do not perform timing tests or anything that requires stardata to be non-NULL. : Ignore\n",
-      "tides_diagnosis_log : Enable logging to test MINT tides. Requires MINT. Choices are: 0 disabled, 1 enable lambda test. : Ignore\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Input\n",
-      "############################################################\n",
-      "MINT_dir : Location of MINT algorithm data. : \n",
-      "MINT_data_cleanup : Activate checks on incoming data to try to account for problems. Will make data-loading slower, but may fix a few things. : \n",
-      "MINT_MS_rejuvenation : Turn on or off (hydrogen) main-sequence rejuvenation. : \n",
-      "MINT_remesh : Turn on or off MINT's remeshing. : \n",
-      "MINT_use_ZAMS_profiles : Use chemical profiles at the ZAMS if MINT_use_ZAMS_profiles is TRUE, otherwise set homogeneous abundances. (Default is TRUE, so we use the profiles if they are available.) : \n",
-      "MINT_fallback_to_test_data : If TRUE, use the MINT test_data directory as a fallback when data is unavailable. (FALSE) : \n",
-      "MINT_disable_grid_load_warnings : Use this to explicitly disable MINT's warnings when loading a grid with, e.g., missing or too much data. : \n",
-      "MINT_Kippenhahn : Turn on or off MINT's Kippenhahn diagrams. If 0, off, if 1, output star 1 (index 0), if 2 output star 2 (index 1). Default 0. : \n",
-      "MINT_nshells : Set the initial number of shells MINT uses in each star when doing nuclear burning. Note: remeshing can change this. If MINT_nshells is 0, shellular burning and other routines that require shells will not be available. (200) : \n",
-      "MINT_maximum_nshells : Set the maximum number of shells MINT uses in each star when doing nuclear burning. Note that this will be limited to MINT_HARD_MAX_NSHELLS. (1000) : \n",
-      "MINT_minimum_nshells : Set the minimum number of shells MINT uses in each star when doing nuclear burning. Note that this will be greater than or equal to MINT_HARD_MIN_NSHELLS, which is 0 by default. (0) : \n",
-      "MINT_Kippenhahn_stellar_type : Stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for which Kippenhahn plot data should be output. : \n",
-      "MINT_Kippenhahn_companion_stellar_type : Companion stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for the companion for which Kippenhahn plot data should be output. : \n",
-      "MINT_nuclear_burning : Turn on or off MINT's nuclear burning algorithm. : \n",
-      "MINT_minimum_shell_mass : Minimum shell mass in MINT's nuclear burning routines. : \n",
-      "MINT_maximum_shell_mass : Maximum shell mass in MINT's nuclear burning routines. : \n",
-      "\n",
-      "############################################################\n",
-      "##### Section I/O\n",
-      "############################################################\n",
-      "go : batchmode control command : Ignore\n",
-      "gogo : batchmode control command : Ignore\n",
-      "reset_stars : Reset the star structures. Used in batchmode : Ignore\n",
-      "reset_stars_defaults : Reset the star structures and set defaults. Used in batchmode : Ignore\n",
-      "defaults : Reset all defaults. Used in batchmode : Ignore\n",
-      "echo : Activate batchmode command echoing, i.e. when you enter a command, binary_c repeats the command then executes it. : Ignore\n",
-      "noecho : Deactivate batchmode command echoing. See 'echo'. : Ignore\n",
-      "noechonow : Deactivate batchmode command echoing. See 'echo'. : Ignore\n",
-      "bye : Quit binary_c. Used in batchmode. : Ignore\n",
-      "fin : batchmode control command : Ignore\n",
-      "reset_prefs : Reset preferences struct. Used in batchmode : Ignore\n",
-      "status : Output batchmode status information. : Ignore\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Algorithms\n",
-      "############################################################\n",
-      "repeat : If > 1, repeats the system as many times as required. Handy if you're using Monte-Carlo kicks and want to sample the parameter space well. Also, if you are running speed tests this is good to give a statistically more reasonable result. (See e.g. 'tbse pgo'). : (null)\n",
-      "random_systems : Experimental. Use this to apply random initial system parameters (masses, separations, etc.). Useful for testing only. : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Misc\n",
-      "############################################################\n",
-      "random_seed : Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)\n",
-      "random_systems_seed : Random number seed for the generation of random systems. See random_systems and random_seed. : (null)\n",
-      "random_skip : Skip the first <random_seed> random numbers that are generated. Usually this is 0 so they are all used. : (null)\n",
-      "idum : [NB: deprecated, please use 'random_seed' instead.] Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)\n",
-      "reverse_time : Make time go backwards. To be considered very experimental! : (null)\n",
-      "start_time : Start time for the simulation. : (null)\n",
-      "warmup_cpu : Uses the CPU at maximum power the given number of seconds, prior to running normal stellar evolution. : Ignore\n",
-      "help : Display help pages. Usage: --help <help topic>. : Ignore\n",
-      "argopts : Display argument options. Usage: --argopts <argument>. : Ignore\n",
-      "help_all : Display all help pages. : Ignore\n",
-      "list_args : Display list of arguments with their default values. Useful for batchmode. : Ignore\n",
-      "\n"
+      "(abridged)\n"
      ]
     }
    ],
    "source": [
-    "print(_binary_c_bindings.return_help_all())"
+    "print('\\n'.join(_binary_c_bindings.return_help_all().splitlines()[:10]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -873,12 +300,14 @@
       "__ARG_BEGIN\n",
       "metallicity = 0.02\n",
       "effective_metallicity = -1\n",
-      "M_1 = 0\n"
+      "M_1 = 0\n",
+      "(abridged)\n"
      ]
     }
    ],
    "source": [
-    "print('\\n'.join(_binary_c_bindings.return_arglines().splitlines()[:4]))"
+    "print('\\n'.join(_binary_c_bindings.return_arglines().splitlines()[:4]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -966,7 +395,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -980,7 +409,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_custom_logging.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_custom_logging.ipynb
index 8dfb85034..8627ffb47 100644
--- a/docs/build/doctrees/nbsphinx/examples/notebook_custom_logging.ipynb
+++ b/docs/build/doctrees/nbsphinx/examples/notebook_custom_logging.ipynb
@@ -23,7 +23,7 @@
     "    create_and_load_logging_function,\n",
     ")\n",
     "from binarycpython.utils.run_system_wrapper import run_system\n",
-    "from binarycpython.utils.grid import Population"
+    "from binarycpython import Population"
    ]
   },
   {
@@ -461,11 +461,19 @@
     "# print (abridged) output\n",
     "print(\"\\n\".join(output.splitlines()[-2:]))"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "c708268f-0b0c-48ea-9155-ec632a0acc3a",
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -479,7 +487,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_ensembles.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_ensembles.ipynb
new file mode 100644
index 000000000..44ef8a7ef
--- /dev/null
+++ b/docs/build/doctrees/nbsphinx/examples/notebook_ensembles.ipynb
@@ -0,0 +1,33 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d4799c94-afd8-41db-ab82-e0a6e278ed77",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "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.9.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_extra_features.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_extra_features.ipynb
index 44c19c112..a0f0fc0d9 100644
--- a/docs/build/doctrees/nbsphinx/examples/notebook_extra_features.ipynb
+++ b/docs/build/doctrees/nbsphinx/examples/notebook_extra_features.ipynb
@@ -18,11 +18,11 @@
    "metadata": {},
    "outputs": [],
    "source": [
+    "from binarycpython import Population\n",
     "from binarycpython.utils.functions import (\n",
     "    get_help,\n",
     "    get_help_all,\n",
     "    get_help_super,\n",
-    "    return_binary_c_version_info,\n",
     "    get_defaults\n",
     ")\n",
     "# help(binarycpython.utils.functions)"
@@ -116,8 +116,7 @@
    "metadata": {},
    "source": [
     "## Build information of binary_c\n",
-    "Sometimes we want to know with which settings binary_c has been built. We can use the function `return_binary_c_version_info` for this.\n",
-    "This function will parse the version info of binary_c and return a dictionary with all the settings."
+    "It can be useful to fetch the information with which the current version of binary_c has been configured with. We can do that through the Population object, by calling the instance method `return_binary_c_version_info`. This function will parse the version info of binary_c and return a dictionary with all the settings."
    ]
   },
   {
@@ -130,13 +129,13 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'nucleosynthesis_sources', 'miscellaneous'])\n"
+      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'units', 'nucleosynthesis_sources', 'miscellaneous'])\n"
      ]
     }
    ],
    "source": [
-    "version_info_dict = return_binary_c_version_info(parsed=True)\n",
-    "print(version_info_dict.keys())"
+    "version_info = Population().return_binary_c_version_info(parsed=True)\n",
+    "print(version_info.keys())"
    ]
   },
   {
@@ -168,27 +167,11 @@
     "\n",
     "TODO:"
    ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "b3c259ef-9f89-4b26-9ce3-45af625bc398",
-   "metadata": {},
-   "source": [
-    "## Getting help\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "bf3c1e28-1662-47a7-abab-aa6fb0ef0882",
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -202,7 +185,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_individual_systems.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_individual_systems.ipynb
index deb72fc55..d752fc66e 100644
--- a/docs/build/doctrees/nbsphinx/examples/notebook_individual_systems.ipynb
+++ b/docs/build/doctrees/nbsphinx/examples/notebook_individual_systems.ipynb
@@ -62,7 +62,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "SINGLE_STAR_LIFETIME 1 12461.2\n",
+      "SINGLE_STAR_LIFETIME 1 12461.1\n",
       "\n"
      ]
     }
@@ -90,17 +90,17 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=62172 RANDOM_COUNT=0\n",
+      "      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=22065 RANDOM_COUNT=0\n",
       "     0.0000    1.000    0.000  1  15            -1       -1   -1.00   0.000   0.000  \"INITIAL \"\n",
       " 11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  \"OFF_MS\"\n",
       " 11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 11582.2424    1.000    0.000  3  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 12325.1085    0.817    0.000  4  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 12457.1301    0.783    0.000  5  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"shrinkAGB\"\n",
-      " 12461.1627    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 15000.0000    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"MAX_TIME\"\n",
+      " 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
+      " 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"shrinkAGB\"\n",
+      " 12461.1490    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
+      " 15000.0000    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"MAX_TIME\"\n",
       "\n"
      ]
     }
@@ -236,13 +236,13 @@
       "4         0.000002       1.0          1.0          1.0\n",
       "5         0.000003       1.0          1.0          1.0\n",
       "...            ...       ...          ...          ...\n",
-      "1345  12461.080763   0.71617          1.0          6.0\n",
-      "1346  12461.162734  0.644553          1.0         11.0\n",
-      "1347  13461.162734  0.644553          1.0         11.0\n",
-      "1348  14461.162734  0.644553          1.0         11.0\n",
-      "1349       15000.0  0.644553          1.0         11.0\n",
+      "1250  12461.061259  0.718593          1.0          6.0\n",
+      "1251  12461.149038  0.678026          1.0         11.0\n",
+      "1252  13461.149038  0.678026          1.0         11.0\n",
+      "1253  14461.149038  0.678026          1.0         11.0\n",
+      "1254       15000.0  0.678026          1.0         11.0\n",
       "\n",
-      "[1349 rows x 4 columns]\n"
+      "[1254 rows x 4 columns]\n"
      ]
     }
    ],
@@ -299,10 +299,8 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options\n",
-      "adding: M_1=10 to BSE_options\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
       "SINGLE_STAR_LIFETIME 10 28.4838\n",
       "\n"
@@ -360,9 +358,9 @@
       ");\n",
       " to grid_options\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
-      "Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_dafa15d2b1e64e19972ac0e9eb5c9a55.so\n",
+      "Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_34a350b8f15c4d149deab88632948c99.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",
@@ -381,7 +379,7 @@
     "\n",
     "    stardata->star[0].stellar_type //5\n",
     ");\n",
-    "\"\"\"   \n",
+    "\"\"\"\n",
     "\n",
     "example_pop.set(C_logging_code=custom_logging_print_statement)\n",
     "\n",
@@ -397,7 +395,7 @@
    "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."
+    "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."
    ]
   },
   {
@@ -464,13 +462,12 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: parse_function=<function object_parse_function at 0x149c2e81ec10> to grid_options\n",
-      "<<<< Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to custom_options >>>>\n",
-      "adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options\n",
+      "adding: parse_function=<function object_parse_function at 0x7f35b603e9d0> to grid_options\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-david/notebooks/notebook_individual_systems to custom_options >>>>\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
-      "Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_0639ee205c7d4782b4a27378f5d890bd.so\n",
+      "Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_446fe4cddfa94946bcafd55591ef3730.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"
      ]
@@ -570,7 +567,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -584,7 +581,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/doctrees/nbsphinx/examples/notebook_population.ipynb b/docs/build/doctrees/nbsphinx/examples/notebook_population.ipynb
index 760b1480e..ebc19cff0 100644
--- a/docs/build/doctrees/nbsphinx/examples/notebook_population.ipynb
+++ b/docs/build/doctrees/nbsphinx/examples/notebook_population.ipynb
@@ -25,7 +25,7 @@
     "import os\n",
     "\n",
     "from binarycpython.utils.custom_logging_functions import temp_dir\n",
-    "from binarycpython.utils.grid import Population\n",
+    "from binarycpython import Population\n",
     "\n",
     "TMP_DIR = temp_dir(\"notebooks\", \"notebook_population\")\n",
     "\n",
@@ -58,13 +58,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: M_1=10 to BSE_options\n",
-      "adding: orbital_period=45000000080 to BSE_options\n",
-      "adding: max_evolution_time=15000 to BSE_options\n",
-      "adding: eccentricity=0.02 to BSE_options\n",
       "adding: num_cores=2 to grid_options\n",
-      "adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population to grid_options\n",
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_population to grid_options\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
       "1\n",
       "example_pop.dat\n",
@@ -139,13 +135,17 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Writing settings to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json\n"
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n"
      ]
     },
     {
      "data": {
       "text/plain": [
-       "'/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json'"
+       "'/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz'"
       ]
      },
      "execution_count": 3,
@@ -185,9 +185,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Help on method add_grid_variable in module binarycpython.utils.grid:\n",
+      "Help on method add_grid_variable in module binarycpython.utils.population_extensions.gridcode:\n",
       "\n",
-      "add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int], gridtype: str = 'centred', branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None) -> None method of binarycpython.utils.grid.Population instance\n",
+      "add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int] = -1, gridtype: str = 'centred', branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None, index: Optional[int] = None, dry_parallel: Optional[bool] = False) -> None method of binarycpython.utils.grid.Population instance\n",
       "    Function to add grid variables to the grid_options.\n",
       "    \n",
       "    The execution of the grid generation will be through a nested for loop.\n",
@@ -198,17 +198,15 @@
       "    beware that if you insert some destructive piece of code, it will be executed anyway.\n",
       "    Use at own risk.\n",
       "    \n",
-      "    Tasks:\n",
-      "        - TODO: Fix this complex function.\n",
-      "    \n",
       "    Args:\n",
       "        name:\n",
       "            name of parameter used in the grid Python code.\n",
       "            This is evaluated as a parameter and you can use it throughout\n",
       "            the rest of the function\n",
       "    \n",
-      "            Examples:\n",
-      "                name = 'lnm1'\n",
+      "            Examples::\n",
+      "    \n",
+      "                name = 'lnM_1'\n",
       "    \n",
       "        parameter_name:\n",
       "            name of the parameter in binary_c\n",
@@ -223,47 +221,66 @@
       "        longname:\n",
       "            Long name of parameter\n",
       "    \n",
-      "            Examples:\n",
+      "            Examples::\n",
+      "    \n",
       "                longname = 'Primary mass'\n",
+      "    \n",
       "        range:\n",
       "            Range of values to take. Does not get used really, the samplerfunc is used to\n",
       "            get the values from\n",
       "    \n",
-      "            Examples:\n",
+      "            Examples::\n",
+      "    \n",
       "                range = [math.log(m_min), math.log(m_max)]\n",
+      "    \n",
       "        samplerfunc:\n",
       "            Function returning a list or numpy array of samples spaced appropriately.\n",
       "            You can either use a real function, or a string representation of a function call.\n",
       "    \n",
-      "            Examples:\n",
-      "                samplerfunc = \"const(math.log(m_min), math.log(m_max), {})\".format(resolution['M_1'])\n",
+      "            Examples::\n",
+      "    \n",
+      "                samplerfunc = \"self.const_linear(math.log(m_min), math.log(m_max), {})\".format(resolution['M_1'])\n",
       "    \n",
       "        precode:\n",
       "            Extra room for some code. This code will be evaluated within the loop of the\n",
-      "            sampling function (i.e. a value for lnm1 is chosen already)\n",
+      "            sampling function (i.e. a value for lnM_1 is chosen already)\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                precode = 'M_1=math.exp(lnM_1);'\n",
       "    \n",
-      "            Examples:\n",
-      "                precode = 'M_1=math.exp(lnm1);'\n",
       "        postcode:\n",
       "            Code executed after the probability is calculated.\n",
+      "    \n",
       "        probdist:\n",
       "            Function determining the probability that gets assigned to the sampled parameter\n",
       "    \n",
-      "            Examples:\n",
-      "                probdist = 'Kroupa2001(M_1)*M_1'\n",
+      "            Examples::\n",
+      "    \n",
+      "                probdist = 'self.Kroupa2001(M_1)*M_1'\n",
+      "    \n",
       "        dphasevol:\n",
       "            part of the parameter space that the total probability is calculated with. Put to -1\n",
       "            if you want to ignore any dphasevol calculations and set the value to 1\n",
-      "            Examples:\n",
-      "                dphasevol = 'dlnm1'\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                dphasevol = 'dlnM_1'\n",
+      "    \n",
       "        condition:\n",
       "            condition that has to be met in order for the grid generation to continue\n",
-      "            Examples:\n",
-      "                condition = 'self.grid_options['binary']==1'\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                condition = \"self.grid_options['binary']==1\"\n",
+      "    \n",
       "        gridtype:\n",
       "            Method on how the value range is sampled. Can be either 'edge' (steps starting at\n",
       "            the lower edge of the value range) or 'centred'\n",
-      "            (steps starting at lower edge + 0.5 * stepsize).\n",
+      "            (steps starting at ``lower edge + 0.5 * stepsize``).\n",
+      "    \n",
+      "        dry_parallel:\n",
+      "            If True, try to parallelize this variable in dry runs.\n",
       "    \n",
       "        topcode:\n",
       "            Code added at the very top of the block.\n",
@@ -313,35 +330,7 @@
    "execution_count": 6,
    "id": "47979841-2c26-4b26-8945-603d013dc93a",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Added grid variable: {\n",
-      "    \"name\": \"lnm1\",\n",
-      "    \"parameter_name\": \"M_1\",\n",
-      "    \"longname\": \"Primary mass\",\n",
-      "    \"valuerange\": [\n",
-      "        2,\n",
-      "        150\n",
-      "    ],\n",
-      "    \"samplerfunc\": \"const(math.log(2), math.log(150), 20)\",\n",
-      "    \"precode\": \"M_1=math.exp(lnm1)\",\n",
-      "    \"postcode\": null,\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",
-      "    \"condition\": \"\",\n",
-      "    \"gridtype\": \"centred\",\n",
-      "    \"branchpoint\": 0,\n",
-      "    \"branchcode\": null,\n",
-      "    \"topcode\": null,\n",
-      "    \"bottomcode\": null,\n",
-      "    \"grid_variable_number\": 0\n",
-      "}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Add grid variables\n",
     "resolution = {\"M_1\": 20}\n",
@@ -351,9 +340,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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",
@@ -364,8 +353,8 @@
     "#     name=\"q\",\n",
     "#     longname=\"Mass ratio\",\n",
     "#     valuerange=[\"0.1/M_1\", 1],\n",
-    "#     samplerfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n",
-    "#     probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n",
+    "#     samplerfunc=\"self.const_linear(0.1/M_1, 1, {})\".format(resolution['q']),\n",
+    "#     probdist=\"self.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",
@@ -377,12 +366,12 @@
     "#    name=\"log10per\", # in days\n",
     "#    longname=\"log10(Orbital_Period)\",\n",
     "#    valuerange=[0.15, 5.5],\n",
-    "#    samplerfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n",
+    "#    samplerfunc=\"self.const_linear(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",
+    "#    probdist=\"self.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"
@@ -434,7 +423,7 @@
    ],
    "source": [
     "# Create custom logging statement: in this case we will log when the star turns into a compact object, and then terminate the evolution.\n",
-    "custom_logging_statement = \"\"\"\n",
+    "custom_logging_code = \"\"\"\n",
     "if(stardata->star[0].stellar_type >= 13)    \n",
     "{\n",
     "    if (stardata->model.time < stardata->model.max_evolution_time)\n",
@@ -454,7 +443,7 @@
     "\"\"\"\n",
     "\n",
     "example_pop.set(\n",
-    "    C_logging_code=custom_logging_statement\n",
+    "    C_logging_code=custom_logging_code\n",
     ")"
    ]
   },
@@ -476,7 +465,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: parse_function=<function parse_function at 0x1528ac7290d0> to grid_options\n"
+      "adding: parse_function=<function parse_function at 0x7f2b6ca163a0> to grid_options\n"
      ]
     }
    ],
@@ -552,38 +541,41 @@
      "output_type": "stream",
      "text": [
       "adding: verbosity=0 to grid_options\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "**************************************\n",
-      "* Total starcount for this run is 20 *\n",
-      "*   Total probability is 0.0444029   *\n",
-      "**************************************\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 19     *\n",
+      "* Total probability is 0.0443872 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
-      "EXAMPLE_COMPACT_OBJECT             4.139293101586e+01 1.29427 8.13626 0.00202467 13\n",
-      "EXAMPLE_COMPACT_OBJECT             2.802986496151e+01 1.33699 10.0967 0.00152924 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.963621764679e+01 1.39754 12.5294 0.00115504 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.427601421985e+01 1.47745 15.5483 0.000872405 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.094409257247e+01 1.57571 19.2947 0.00065893 13\n",
-      "EXAMPLE_COMPACT_OBJECT             9.181971798545e+00 1.68748 23.9436 0.000497691 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.905335716621e+00 1.77287 29.7128 0.000375908 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.451192744924e+00 1.81495 36.872 0.000283924 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.396133472739e+00 1.82088 45.7561 0.000214449 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.396675941641e+00 1.82123 56.7809 0.000161974 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.404641347602e+00 1.82074 70.4621 0.000122339 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.444217227690e+00 1.81636 87.4397 9.2403e-05 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.453317880232e+00 1.81536 108.508 6.97923e-05 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.450828476487e+00 1.81563 134.653 5.27143e-05 13\n",
+      "EXAMPLE_COMPACT_OBJECT             3.598268106227e+01 1.30592 8.75988 0.00193614 13\n",
+      "EXAMPLE_COMPACT_OBJECT             2.436983545111e+01 1.35842 10.9948 0.00144093 13\n",
+      "EXAMPLE_COMPACT_OBJECT             1.690157944401e+01 1.43124 13.7998 0.00107238 13\n",
+      "EXAMPLE_COMPACT_OBJECT             1.242397939068e+01 1.52416 17.3205 0.000798096 13\n",
+      "EXAMPLE_COMPACT_OBJECT             9.756794139032e+00 1.66914 21.7394 0.000593966 13\n",
+      "EXAMPLE_COMPACT_OBJECT             8.401414766976e+00 1.73729 27.2857 0.000442046 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.536373523810e+00 1.80677 34.247 0.000328983 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.393982410080e+00 1.82164 42.9844 0.000244839 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.396470605248e+00 1.82129 53.9508 0.000182216 13\n",
+      "Do join of subprocesses ...\n",
+      "EXAMPLE_COMPACT_OBJECT             7.399005684057e+00 1.82041 67.7151 0.00013561 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.443375325717e+00 1.81645 84.9909 0.000100925 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.451195752942e+00 1.81559 106.674 7.51114e-05 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.452661646076e+00 1.81543 133.89 5.59e-05 13\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-50fb66cc659c46c8bbc29fe0c8651c2f finished! *\n",
-      "*           The total probability is 0.0444029.          *\n",
-      "*  It took a total of 3.30s to run 20 systems on 2 cores *\n",
-      "*                   = 6.60s of CPU time.                 *\n",
-      "*              Maximum memory use 433.070 MB             *\n",
+      "*  Population-ce756bb317f64099a459bf8b55a746ac finished! *\n",
+      "*           The total probability is 0.0443872.          *\n",
+      "*  It took a total of 0.73s to run 19 systems on 2 cores *\n",
+      "*                   = 1.46s of CPU time.                 *\n",
+      "*              Maximum memory use 293.406 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n"
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
      ]
     }
    ],
@@ -614,7 +606,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "{'population_name': '50fb66cc659c46c8bbc29fe0c8651c2f', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.04440288843805411, 'total_count': 20, 'start_timestamp': 1635760967.3245144, 'end_timestamp': 1635760970.6249793, 'total_mass_run': 684.2544031669784, 'total_probability_weighted_mass_run': 0.28134439269236855, 'zero_prob_stars_skipped': 0}\n"
+      "{'population_id': 'ce756bb317f64099a459bf8b55a746ac', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.044387171445641534, 'total_count': 19, 'start_timestamp': 1646563001.7193637, 'end_timestamp': 1646563002.4480088, 'time_elapsed': 0.7286450862884521, 'total_mass_run': 649.905447944397, 'total_probability_weighted_mass_run': 0.28133908148630704, 'zero_prob_stars_skipped': 0}\n"
      ]
     }
    ],
@@ -642,9 +634,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Help on method write_binary_c_calls_to_file in module binarycpython.utils.grid:\n",
+      "Help on method write_binary_c_calls_to_file in module binarycpython.utils.population_extensions.dataIO:\n",
       "\n",
-      "write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False) -> None method of binarycpython.utils.grid.Population instance\n",
+      "write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False, encoding='utf-8') -> None method of binarycpython.utils.grid.Population instance\n",
       "    Function that loops over the grid code and writes the generated parameters to a file.\n",
       "    In the form of a command line call\n",
       "    \n",
@@ -655,10 +647,6 @@
       "    \n",
       "    On default this will write to the datadir, if it exists\n",
       "    \n",
-      "    Tasks:\n",
-      "        - TODO: test this function\n",
-      "        - TODO: make sure the binary_c_python .. output file has a unique name\n",
-      "    \n",
       "    Args:\n",
       "        output_dir: (optional, default = None) directory where to write the file to. If custom_options['data_dir'] is present, then that one will be used first, and then the output_dir\n",
       "        output_filename: (optional, default = None) filename of the output. If not set it will be called \"binary_c_calls.txt\"\n",
@@ -685,19 +673,19 @@
      "output_type": "stream",
      "text": [
       "Generating grid code\n",
-      "Generating grid code\n",
-      "Saving grid code to grid_options\n",
-      "Writing grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py [dry_run = False]\n",
-      "Symlinked grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid-latest2 \n",
-      "Loading grid code function from /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py\n",
+      "Save grid code to grid_options\n",
+      "Write grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py [dry_run = False]\n",
+      "Symlinked grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid-latest2 \n",
+      "Load grid code function from /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py\n",
       "Grid code loaded\n",
-      "Writing binary_c calls to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
-      "binary_c M_1 2.227955577093495 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681548 probability 0.010905083645619543\n",
-      "binary_c M_1 2.7647737053496777 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.00823663875514986\n",
-      "binary_c M_1 3.430936289925951 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681537 probability 0.0062211552141636295\n",
-      "binary_c M_1 4.2576084265970895 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.004698855121516281\n"
+      "Writing binary_c calls to /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
+      "binary_c M_1 2.2406484012210224 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.011394572976608001\n",
+      "binary_c M_1 2.812296769855663 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191117 probability 0.008480166685456411\n",
+      "binary_c M_1 3.5297876799548944 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.006311182276049824\n",
+      "binary_c M_1 4.430329401616038 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.004696962123378559\n",
+      "(abridged)\n"
      ]
     }
    ],
@@ -707,7 +695,8 @@
     "print(calls_filename)\n",
     "\n",
     "with open(calls_filename, 'r') as f:\n",
-    "    print('\\n'.join(f.read().splitlines()[:4]))"
+    "    print('\\n'.join(f.read().splitlines()[:4]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -715,7 +704,15 @@
    "id": "60359eb1-4d0c-4d2d-8265-ec5171b944a2",
    "metadata": {},
    "source": [
-    "## Full examples of population scripts\n",
+    "## Full examples of population scripts"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1ee279d6-e120-4aef-9e57-845e534f5c6a",
+   "metadata": {},
+   "source": [
+    "### Single star population\n",
     "Below is a full setup for a population of single stars"
    ]
   },
@@ -729,43 +726,51 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "**************************************\n",
-      "* Total starcount for this run is 20 *\n",
-      "*   Total probability is 0.0444029   *\n",
-      "**************************************\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 19     *\n",
+      "* Total probability is 0.0443872 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-05e51ba114934b37bab48f1db40b7333 finished! *\n",
-      "*           The total probability is 0.0444029.          *\n",
-      "*  It took a total of 3.46s to run 20 systems on 2 cores *\n",
-      "*                   = 6.93s of CPU time.                 *\n",
-      "*              Maximum memory use 437.047 MB             *\n",
+      "*  Population-0fa4c2b8707741a5ab41d209ef95a3a4 finished! *\n",
+      "*           The total probability is 0.0443872.          *\n",
+      "*  It took a total of 0.61s to run 19 systems on 2 cores *\n",
+      "*                   = 1.23s of CPU time.                 *\n",
+      "*              Maximum memory use 299.531 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n",
       "\n",
       "\n",
       "time mass zams_mass probability radius stellar_type\n",
-      "4.139293101586e+01 1.29427 8.13626 0.00202467 1.72498e-05 13\n",
-      "2.802986496151e+01 1.33699 10.0967 0.00152924 1.72498e-05 13\n",
-      "1.963621764679e+01 1.39754 12.5294 0.00115504 1.72498e-05 13\n",
-      "1.427601421985e+01 1.47745 15.5483 0.000872405 1.72498e-05 13\n",
-      "1.094409257247e+01 1.57571 19.2947 0.00065893 1.72498e-05 13\n",
-      "9.181971798545e+00 1.68748 23.9436 0.000497691 1.72498e-05 13\n",
-      "7.905335716621e+00 1.77287 29.7128 0.000375908 1.72498e-05 13\n",
-      "7.451192744924e+00 1.81495 36.872 0.000283924 1.72498e-05 13\n",
-      "7.396133472739e+00 1.82088 45.7561 0.000214449 1.72498e-05 13\n",
-      "7.396675941641e+00 1.82123 56.7809 0.000161974 1.72498e-05 13\n",
-      "7.404641347602e+00 1.82074 70.4621 0.000122339 1.72498e-05 13\n",
-      "7.444217227690e+00 1.81636 87.4397 9.2403e-05 1.72498e-05 13\n",
-      "7.453317880232e+00 1.81536 108.508 6.97923e-05 1.72498e-05 13\n",
-      "7.450828476487e+00 1.81563 134.653 5.27143e-05 1.72498e-05 13\n",
+      "3.598268106227e+01 1.30592 8.75988 0.00193614 1.72498e-05 13\n",
+      "2.436983545111e+01 1.35842 10.9948 0.00144093 1.72498e-05 13\n",
+      "1.690157944401e+01 1.43124 13.7998 0.00107238 1.72498e-05 13\n",
+      "1.242397939068e+01 1.52416 17.3205 0.000798096 1.72498e-05 13\n",
+      "9.756794139032e+00 1.66914 21.7394 0.000593966 1.72498e-05 13\n",
+      "8.401414766976e+00 1.73729 27.2857 0.000442046 1.72498e-05 13\n",
+      "7.536373523810e+00 1.80677 34.247 0.000328983 1.72498e-05 13\n",
+      "7.393982410080e+00 1.82164 42.9844 0.000244839 1.72498e-05 13\n",
+      "7.396470605248e+00 1.82129 53.9508 0.000182216 1.72498e-05 13\n",
+      "7.399005684057e+00 1.82041 67.7151 0.00013561 1.72498e-05 13\n",
+      "7.451195752942e+00 1.81559 106.674 7.51114e-05 1.72498e-05 13\n",
+      "7.443375325717e+00 1.81645 84.9909 0.000100925 1.72498e-05 13\n",
+      "7.452661646076e+00 1.81543 133.89 5.59e-05 1.72498e-05 13\n",
       "\n"
      ]
     }
@@ -877,9 +882,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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=\"\",\n",
@@ -908,7 +913,8 @@
    "id": "c2ab0979-6575-481d-9c1c-ca98517b2437",
    "metadata": {},
    "source": [
-    "We can also set up a population that samples biinary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded top be more useful"
+    "### Binary star population\n",
+    "We can also set up a population that samples binary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded to be more useful. Also note that we run very little systems in the following example, as its just intended to show how the code works."
    ]
   },
   {
@@ -921,45 +927,42 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 27 stars with a total probability of 0.0248684\n",
-      "**************************************\n",
-      "* Total starcount for this run is 27 *\n",
-      "*   Total probability is 0.0248684   *\n",
-      "**************************************\n",
+      "Grid has handled 8 stars with a total probability of 0.0211592\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 8      *\n",
+      "* Total probability is 0.0211592 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-8bc1eafea1c34b05894c1618639d8c37 finished! *\n",
-      "*           The total probability is 0.0248684.          *\n",
-      "* It took a total of 16.10s to run 27 systems on 2 cores *\n",
-      "*                  = 32.20s of CPU time.                 *\n",
-      "*              Maximum memory use 437.695 MB             *\n",
+      "*  Population-0eb5c0c9abd34607a6ee060b26a7e32f finished! *\n",
+      "*           The total probability is 0.0211592.          *\n",
+      "*  It took a total of 0.84s to run 8 systems on 2 cores  *\n",
+      "*                   = 1.68s of CPU time.                 *\n",
+      "*              Maximum memory use 300.125 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n",
       "\n",
       "\n",
       "time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 stellar_type_2 prev_stellar_type_2 metallicity probability\n",
-      "1.219029061236e+01 1.60007 17.3205 0 2.97008 13 5 15 15 0.02 0.000498487\n",
-      "1.935920339886e+01 1.29448 17.3205 0 8.71025 13 13 15 2 0.02 0.000498487\n",
-      "2.123794969278e+01 1.30902 17.3205 1.58518 8.71025 13 13 13 5 0.02 0.000287968\n",
-      "3.579099761269e+01 1.52414 17.3205 1.30642 8.71025 13 13 13 5 0.02 0.000220016\n",
-      "1.674063083432e+01 1.29457 17.3205 0 14.4504 13 13 15 2 0.02 0.000498487\n",
-      "1.548740826516e+01 1.52415 17.3205 1.45407 14.4504 13 13 13 5 0.02 0.000220016\n",
-      "1.779197348711e+01 1.3228 17.3205 1.71196 14.4504 13 13 13 8 0.02 0.000287968\n",
-      "1.367065497322e+01 1.66003 73.0434 1.79487 12.2572 13 13 13 8 0.02 7.67586e-05\n",
-      "1.772169325355e+01 1.81957 73.0434 1.46573 12.2572 13 13 13 5 0.02 4.43422e-05\n",
-      "2.021960493499e+01 1.82061 73.0434 1.39205 12.2572 13 13 13 5 0.02 3.38788e-05\n",
-      "9.012246630357e+00 1.81529 73.0434 0 36.5717 13 8 15 15 0.02 7.67586e-05\n",
-      "7.462779538274e+00 1.82255 73.0434 1.81499 36.5717 13 13 13 8 0.02 3.38788e-05\n",
-      "1.030499912298e+01 1.80592 73.0434 1.81066 36.5717 13 13 13 8 0.02 4.43422e-05\n",
-      "9.823059079115e+00 2.43711 73.0434 1.81689 60.8862 14 14 13 8 0.02 7.67586e-05\n",
-      "7.394722435913e+00 1.79092 73.0434 1.79092 60.8862 13 8 13 8 0.02 4.43422e-05\n",
-      "7.396288708628e+00 1.8216 73.0434 1.8216 60.8862 13 8 13 8 0.02 3.38788e-05\n",
+      "1.378266748188e+01 1.66293 50.9713 1.78767 12.8178 13 13 13 8 0.02 0.000339963\n",
+      "1.817608462595e+01 1.82104 50.9713 1.41436 12.8178 13 13 13 5 0.02 0.000193036\n",
+      "7.422997711686e+00 1.82479 50.9713 1.82171 38.2535 13 13 13 8 0.02 0.000193036\n",
+      "1.205711924468e+01 1.73765 50.9713 0 38.2535 13 13 15 8 0.02 0.000339963\n",
       "\n"
      ]
     }
@@ -1089,9 +1092,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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",
@@ -1102,8 +1105,8 @@
     "    name=\"q\",\n",
     "    longname=\"Mass ratio\",\n",
     "    valuerange=[\"0.1/M_1\", 1],\n",
-    "    samplerfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n",
-    "    probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n",
+    "    samplerfunc=\"self.const_linear(0.1/M_1, 1, {})\".format(resolution['q']),\n",
+    "    probdist=\"self.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",
@@ -1115,12 +1118,12 @@
     "   name=\"log10per\", # in days\n",
     "   longname=\"log10(Orbital_Period)\",\n",
     "   valuerange=[0.15, 5.5],\n",
-    "   samplerfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n",
+    "   samplerfunc=\"self.const_linear(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",
+    "   probdist=\"self.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",
@@ -1145,7 +1148,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1159,7 +1162,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/doctrees/population_extensions/HPC.doctree b/docs/build/doctrees/population_extensions/HPC.doctree
index e8271bb13713dd79bcbe735a82e144bb31ec58ba..f5174df626d3da5c2236f82791250c7e84602a52 100644
GIT binary patch
delta 4658
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
K@i>a*vi|{zjrEHF

delta 4454
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

diff --git a/docs/build/doctrees/population_extensions/condor.doctree b/docs/build/doctrees/population_extensions/condor.doctree
index 38b40fee1aab22bd70b65ff9cd344963a1e6f72d..ac1f6e19e0de3e3fe42c204d33556333ce47bd7e 100644
GIT binary patch
delta 115
zcmdlvnd$#zCYA=)sb4m-T#;rxH@R0vNm(JWSRqlNxTGjEFI`6=+Bv7RxFog6(<N3f
hI-n>&IkmVrcJg|eE{+WL*eMxeJw$8Tyk3SY7XY`HDo+3a

delta 40
pcmexAnQ7-_CYA=)sp~efT#;s6J$ZwS(quWAiEvie=6czN8~{pr51jx2

diff --git a/docs/build/doctrees/population_extensions/slurm.doctree b/docs/build/doctrees/population_extensions/slurm.doctree
index dfc5ff56ee1a80f2eff2d405b59dc736652a9a12..ca741290c6891c3279a2b8df8abfcb815a80cc3d 100644
GIT binary patch
delta 143
zcmZpf$TV#t6H5c@)b5Qe_w5;vPVRM3R8>eUR!CGRE-A{)OV?3|&dN{9Oo`P4(TPPx
wiItgoDXA5)lh-*kaAdH@PRS7KAwk>bbq=EHLM$QvF8))Xy1|^yycy*R0I^>)M*si-

delta 136
zcmbO>k*Q@O6H5c@)XI%4_w5-MOnzdo$gHOjGP%w{da{Q@CWc7T<_gEDYF-K<{x1Gj
u3Yo<UB^f{>tu!yWBr`uxAuTg6vp6F)#ePZ#d+d}9u^xg7H_K;~D*yn_IWQyu

diff --git a/docs/build/html/_images/test_coverage.svg b/docs/build/html/_images/test_coverage.svg
index f5af1dbee..ffd257bde 100644
--- a/docs/build/html/_images/test_coverage.svg
+++ b/docs/build/html/_images/test_coverage.svg
@@ -15,7 +15,7 @@
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
         <text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
         <text x="31.5" y="14">coverage</text>
-        <text x="80" y="15" fill="#010101" fill-opacity=".3">72%</text>
-        <text x="80" y="14">72%</text>
+        <text x="80" y="15" fill="#010101" fill-opacity=".3">71%</text>
+        <text x="80" y="14">71%</text>
     </g>
 </svg>
diff --git a/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html b/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html
index abc13bbda..7e442aac6 100644
--- a/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/custom_logging_functions.html
@@ -551,9 +551,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/dicts.html b/docs/build/html/_modules/binarycpython/utils/dicts.html
index d5b5ff435..c15be2d2a 100644
--- a/docs/build/html/_modules/binarycpython/utils/dicts.html
+++ b/docs/build/html/_modules/binarycpython/utils/dicts.html
@@ -144,23 +144,31 @@
 
 <span class="sd">    Returns:</span>
 <span class="sd">        new_dict: dict of which the keys have been turned to float types where possible</span>
+
+<span class="sd">    If input_dict is None or empty, returns an empty dict</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">new_dict</span> <span class="o">=</span> <span class="n">collections</span><span class="o">.</span><span class="n">OrderedDict</span><span class="p">()</span>
 
-    <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">input_dict</span><span class="p">:</span>
-        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="p">(</span><span class="nb">dict</span><span class="p">,</span> <span class="n">collections</span><span class="o">.</span><span class="n">OrderedDict</span><span class="p">)):</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">num_key</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-                <span class="n">new_dict</span><span class="p">[</span><span class="n">num_key</span><span class="p">]</span> <span class="o">=</span> <span class="n">recursive_change_key_to_float</span><span class="p">(</span><span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">])</span>
-            <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
-                <span class="n">new_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">recursive_change_key_to_float</span><span class="p">(</span><span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">])</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">num_key</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-                <span class="n">new_dict</span><span class="p">[</span><span class="n">num_key</span><span class="p">]</span> <span class="o">=</span> <span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
-            <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
-                <span class="n">new_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+    <span class="c1"># if the input dict is None or empty, return an empty dict</span>
+    <span class="k">if</span> <span class="n">input_dict</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">input_dict</span><span class="p">:</span>
+        <span class="k">pass</span>
+
+    <span class="k">else</span><span class="p">:</span>
+        <span class="c1"># dict has keys, loop over them</span>
+        <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">input_dict</span><span class="p">:</span>
+            <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="p">(</span><span class="nb">dict</span><span class="p">,</span> <span class="n">collections</span><span class="o">.</span><span class="n">OrderedDict</span><span class="p">)):</span>
+                <span class="k">try</span><span class="p">:</span>
+                    <span class="n">num_key</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+                    <span class="n">new_dict</span><span class="p">[</span><span class="n">num_key</span><span class="p">]</span> <span class="o">=</span> <span class="n">recursive_change_key_to_float</span><span class="p">(</span><span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">])</span>
+                <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
+                    <span class="n">new_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">recursive_change_key_to_float</span><span class="p">(</span><span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">])</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="k">try</span><span class="p">:</span>
+                    <span class="n">num_key</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
+                    <span class="n">new_dict</span><span class="p">[</span><span class="n">num_key</span><span class="p">]</span> <span class="o">=</span> <span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
+                <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
+                    <span class="n">new_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">input_dict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
 
     <span class="k">return</span> <span class="n">new_dict</span></div>
 
@@ -954,9 +962,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/ensemble.html b/docs/build/html/_modules/binarycpython/utils/ensemble.html
index fe058a1fb..f455ac536 100644
--- a/docs/build/html/_modules/binarycpython/utils/ensemble.html
+++ b/docs/build/html/_modules/binarycpython/utils/ensemble.html
@@ -361,8 +361,14 @@
 
     <span class="k">if</span> <span class="n">inspect</span><span class="o">.</span><span class="n">isfunction</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">py_rinterpolate</span><span class="o">.</span><span class="n">Rinterpolate</span><span class="p">):</span>
         <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">obj</span></div>
-
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">string_version</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>
+            <span class="k">return</span> <span class="n">string_version</span>
+        <span class="k">except</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span>
+                <span class="s2">&quot;Unserializable object </span><span class="si">{}</span><span class="s2"> of type </span><span class="si">{}</span><span class="s2">. Attempted to convert to string but that failed.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="nb">type</span><span class="p">(</span><span class="n">obj</span><span class="p">))</span>
+            <span class="p">)</span></div>
 
 <div class="viewcode-block" id="BinarycDecoder"><a class="viewcode-back" href="../../../ensemble.html#binarycpython.utils.ensemble.BinarycDecoder">[docs]</a><span class="k">class</span> <span class="nc">BinarycDecoder</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">JSONDecoder</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
@@ -470,9 +476,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/functions.html b/docs/build/html/_modules/binarycpython/utils/functions.html
index 0bcf8e346..6972ad96d 100644
--- a/docs/build/html/_modules/binarycpython/utils/functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/functions.html
@@ -216,7 +216,6 @@
         <span class="k">for</span> <span class="n">d</span><span class="p">,</span> <span class="n">background_colour</span> <span class="ow">in</span> <span class="n">background_colours</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
             <span class="n">colours</span><span class="p">[</span><span class="n">c</span> <span class="o">+</span> <span class="s2">&quot; on &quot;</span> <span class="o">+</span> <span class="n">d</span><span class="p">]</span> <span class="o">=</span> <span class="n">foreground_colour</span> <span class="o">+</span> <span class="n">background_colour</span>
     <span class="n">colours</span><span class="p">[</span><span class="s2">&quot;reset&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Style</span><span class="o">.</span><span class="n">RESET_ALL</span>
-
     <span class="k">return</span> <span class="n">colours</span></div>
 
 
@@ -1283,6 +1282,18 @@
         <span class="n">event_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">split_line</span><span class="p">[</span><span class="mi">9</span><span class="p">:]))</span>
 
     <span class="nb">print</span><span class="p">(</span><span class="n">event_list</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="quotewrap"><a class="viewcode-back" href="../../../functions.html#binarycpython.utils.functions.quotewrap">[docs]</a><span class="k">def</span> <span class="nf">quotewrap</span><span class="p">(</span><span class="nb">list</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Given a list, wrap each item in double quotes and return the new list</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">return</span> <span class="p">[</span><span class="s1">&#39;&quot;&#39;</span> <span class="o">+</span> <span class="n">_x</span> <span class="o">+</span> <span class="s1">&#39;&quot;&#39;</span> <span class="k">for</span> <span class="n">_x</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">]</span></div>
+
+<div class="viewcode-block" id="command_string_from_list"><a class="viewcode-back" href="../../../functions.html#binarycpython.utils.functions.command_string_from_list">[docs]</a><span class="k">def</span> <span class="nf">command_string_from_list</span><span class="p">(</span><span class="nb">list</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Given a list, turn it into a quoted command string</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">return</span> <span class="s1">&#39; &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">quotewrap</span><span class="p">(</span><span class="nb">list</span><span class="p">))</span></div>
 </pre></div>
 
            </div>
@@ -1300,9 +1311,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/grid.html b/docs/build/html/_modules/binarycpython/utils/grid.html
index abc9acf7e..2c9765a3f 100644
--- a/docs/build/html/_modules/binarycpython/utils/grid.html
+++ b/docs/build/html/_modules/binarycpython/utils/grid.html
@@ -298,8 +298,8 @@
         <span class="c1"># non-existant subdicts.</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">grid_results</span> <span class="o">=</span> <span class="n">AutoVivificationDict</span><span class="p">()</span>
 
-        <span class="c1"># Create location where ensemble results are written to</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">grid_ensemble_results</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="c1"># Create grid ensemble data location</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">grid_ensemble_results</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_new_grid_ensemble_results</span><span class="p">()</span>
 
         <span class="c1"># add metadata</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">add_system_metadata</span><span class="p">()</span>
@@ -310,13 +310,17 @@
 
 <div class="viewcode-block" id="Population.jobID"><a class="viewcode-back" href="../../../grid.html#binarycpython.utils.grid.Population.jobID">[docs]</a>    <span class="k">def</span> <span class="nf">jobID</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Function to return the job ID number of this process</span>
+<span class="sd">        Function to return the job ID number of this process as a string.</span>
 
 <span class="sd">        Normal processes return their process ID (PID)</span>
 <span class="sd">        HPC processes return whatever HPC_jobID() gives.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">HPC_job</span><span class="p">():</span>
             <span class="n">jobID</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">HPC_jobID</span><span class="p">()</span>
+            <span class="k">if</span> <span class="ow">not</span> <span class="n">jobID</span><span class="p">:</span>
+                <span class="c1"># fallback: use process ID but with &quot;HPC&quot; prepended</span>
+                <span class="c1"># (this should never happen!)</span>
+                <span class="n">jobID</span> <span class="o">=</span> <span class="s2">&quot;HPC</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">process_ID</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">jobID</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">process_ID</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">jobID</span></div>
@@ -474,14 +478,19 @@
                         <span class="n">old_value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="n">parameter</span><span class="p">]</span>
                         <span class="n">old_value_found</span> <span class="o">=</span> <span class="kc">True</span>
 
-                    <span class="k">elif</span> <span class="n">parameter</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">defaults</span><span class="p">:</span>
-                        <span class="n">old_value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">defaults</span><span class="p">[</span><span class="n">parameter</span><span class="p">]</span>
-                        <span class="n">old_value_found</span> <span class="o">=</span> <span class="kc">True</span>
-
                     <span class="k">elif</span> <span class="n">parameter</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">custom_options</span><span class="p">:</span>
                         <span class="n">old_value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">custom_options</span><span class="p">[</span><span class="n">parameter</span><span class="p">]</span>
                         <span class="n">old_value_found</span> <span class="o">=</span> <span class="kc">True</span>
 
+                    <span class="k">elif</span> <span class="n">parameter</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">bse_options</span><span class="p">:</span>
+                        <span class="n">old_value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">bse_options</span><span class="p">[</span><span class="n">parameter</span><span class="p">]</span>
+                        <span class="n">old_value_found</span> <span class="o">=</span> <span class="kc">True</span>
+
+                    <span class="k">elif</span> <span class="n">parameter</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">defaults</span><span class="p">:</span>
+                        <span class="c1"># this will revert to a string type, always</span>
+                        <span class="n">old_value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">defaults</span><span class="p">[</span><span class="n">parameter</span><span class="p">]</span>
+                        <span class="n">old_value_found</span> <span class="o">=</span> <span class="kc">True</span>
+
                     <span class="c1"># (attempt to) convert type</span>
                     <span class="k">if</span> <span class="n">old_value_found</span><span class="p">:</span>
                         <span class="k">if</span> <span class="n">old_value</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
@@ -801,7 +810,7 @@
 
         <span class="c1"># empty results</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">grid_results</span> <span class="o">=</span> <span class="n">AutoVivificationDict</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">grid_ensemble_results</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">grid_ensemble_results</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_new_grid_ensemble_results</span><span class="p">()</span>
 
         <span class="c1"># set number of processes/cores we want to use</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_set_nprocesses</span><span class="p">()</span>
@@ -884,7 +893,6 @@
         <span class="c1"># Make sure the subdirs of the tmp dir exist</span>
         <span class="n">subdirs</span> <span class="o">=</span> <span class="p">[</span>
             <span class="s2">&quot;failed_systems&quot;</span><span class="p">,</span>
-            <span class="s2">&quot;current_system&quot;</span><span class="p">,</span>
             <span class="s2">&quot;process_summary&quot;</span><span class="p">,</span>
             <span class="s2">&quot;runtime_systems&quot;</span><span class="p">,</span>
             <span class="s2">&quot;snapshots&quot;</span><span class="p">,</span>
@@ -900,6 +908,20 @@
                 <span class="p">)</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">code</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
 
+        <span class="c1"># make sure the arg logging directory exists if we need it</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;log_args&quot;</span><span class="p">]:</span>
+            <span class="n">path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;log_args_dir&quot;</span><span class="p">]</span>
+                <span class="p">)</span>
+            <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">dir_ok</span><span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
+                <span class="nb">print</span><span class="p">(</span>
+                    <span class="s2">&quot;Failed to make directory at </span><span class="si">{log_args_dir}</span><span class="s2"> for output of system arguments. Please check that this directory is correct and you have write access.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                        <span class="n">subdir</span><span class="o">=</span><span class="n">subdir</span><span class="p">,</span> <span class="n">path</span><span class="o">=</span><span class="n">path</span>
+                    <span class="p">)</span>
+                <span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">code</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
+
         <span class="c1"># restore from existing HPC files</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">HPC_restore</span><span class="p">()</span>
 
@@ -1682,17 +1704,17 @@
             <span class="c1"># that was on, we log each current system to a file (each thread has one).</span>
             <span class="c1"># Each new system overrides the previous</span>
             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;log_args&quot;</span><span class="p">]:</span>
+                <span class="n">argfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;log_args_dir&quot;</span><span class="p">],</span>
+                    <span class="s2">&quot;process_</span><span class="si">{}</span><span class="s2">.txt&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">jobID</span><span class="p">()),</span>
+                <span class="p">)</span>
                 <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">open</span><span class="p">(</span>
-                    <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
-                        <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;log_args_dir&quot;</span><span class="p">],</span>
-                        <span class="s2">&quot;current_system&quot;</span><span class="p">,</span>
-                        <span class="s2">&quot;process_</span><span class="si">{}</span><span class="s2">.txt&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">process_ID</span><span class="p">),</span>
-                    <span class="p">),</span>
-                    <span class="s2">&quot;w&quot;</span><span class="p">,</span>
-                    <span class="n">encoding</span><span class="o">=</span><span class="s2">&quot;utf-8&quot;</span><span class="p">,</span>
+                        <span class="n">argfile</span><span class="p">,</span>
+                        <span class="s2">&quot;w&quot;</span><span class="p">,</span>
+                        <span class="n">encoding</span><span class="o">=</span><span class="s2">&quot;utf-8&quot;</span><span class="p">,</span>
                 <span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-                    <span class="n">binary_cmdline_string</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_return_argline</span><span class="p">(</span><span class="n">full_system_dict</span><span class="p">)</span>
-                    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">binary_cmdline_string</span><span class="p">)</span>
+                    <span class="n">binary_c_cmdline_string</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_return_argline</span><span class="p">(</span><span class="n">full_system_dict</span><span class="p">)</span>
+                    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">binary_c_cmdline_string</span><span class="p">)</span>
                     <span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
 
             <span class="c1">##############</span>
@@ -2059,6 +2081,7 @@
                     <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;verbosity&quot;</span><span class="p">],</span>
                     <span class="mi">0</span><span class="p">,</span>
                 <span class="p">)</span>
+                <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;BSE&quot;</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">bse_options</span><span class="p">)</span>
                 <span class="k">raise</span> <span class="ne">ValueError</span>
 
             <span class="k">if</span> <span class="ow">not</span> <span class="nb">any</span><span class="p">(</span>
@@ -2459,7 +2482,17 @@
                 <span class="s2">&quot;binary_c output nothing - this is strange. If there is ensemble output being generated then this is fine.&quot;</span><span class="p">,</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;verbosity&quot;</span><span class="p">],</span>
                 <span class="mi">3</span><span class="p">,</span>
-            <span class="p">)</span></div>
+            <span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_new_grid_ensemble_results</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Function to return a new grid_ensemble_results dict: this should</span>
+<span class="sd">        be pre-filled by sub-dicts to prevent later errors.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="p">{</span>
+            <span class="s1">&#39;metadata&#39;</span> <span class="p">:</span> <span class="p">{},</span>
+            <span class="s1">&#39;ensemble&#39;</span> <span class="p">:</span> <span class="p">{}</span>
+        <span class="p">}</span></div>
 </pre></div>
 
            </div>
@@ -2477,9 +2510,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/plot_functions.html b/docs/build/html/_modules/binarycpython/utils/plot_functions.html
index 7b97768b8..7ae04c559 100644
--- a/docs/build/html/_modules/binarycpython/utils/plot_functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/plot_functions.html
@@ -714,9 +714,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html
index e5e9ead94..643168fbe 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/HPC.html
@@ -164,7 +164,7 @@
         <span class="c1"># make the output before checking anything, we do</span>
         <span class="c1"># this to remove any asynchronicity</span>
         <span class="n">lines</span> <span class="o">=</span> <span class="p">[]</span>
-        <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">HPC_job_id_range</span><span class="p">():</span>
             <span class="n">lines</span> <span class="o">+=</span> <span class="p">[</span>
                 <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
                     <span class="n">prefix</span><span class="p">,</span> <span class="s2">&quot;</span><span class="si">{hpc_jobid}</span><span class="s2">.</span><span class="si">{i}</span><span class="s2">.gz</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hpc_jobid</span><span class="o">=</span><span class="n">hpc_jobid</span><span class="p">,</span> <span class="n">i</span><span class="o">=</span><span class="n">i</span><span class="p">)</span>
@@ -377,7 +377,7 @@
 
 <div class="viewcode-block" id="HPC.HPC_jobID"><a class="viewcode-back" href="../../../../population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_jobID">[docs]</a>    <span class="k">def</span> <span class="nf">HPC_jobID</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Function to return an HPC (Slurm or Condor) job id in the form x.y. Returns None if not an HPC job.</span>
+<span class="sd">        Function to return an HPC (Slurm or Condor) job id in the form of a string, x.y. Returns None if not an HPC job.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm&quot;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
@@ -631,7 +631,7 @@
             <span class="n">joinfiles</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">HPC_load_joinfiles_list</span><span class="p">()</span>
             <span class="n">joiningfile</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">HPC_path</span><span class="p">(</span><span class="s2">&quot;joining&quot;</span><span class="p">)</span>
             <span class="nb">print</span><span class="p">(</span>
-                <span class="s2">&quot;Joinfile list n=</span><span class="si">{n}</span><span class="s2"> (should be </span><span class="si">{m}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+                <span class="s2">&quot;Joinfile list n=</span><span class="si">{n}</span><span class="s2"> (should be </span><span class="si">{m}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="n">n</span><span class="o">=</span><span class="nb">len</span><span class="p">(</span><span class="n">joinfiles</span><span class="p">),</span> <span class="n">m</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">HPC_njobs</span><span class="p">()</span>
                 <span class="p">)</span>
             <span class="p">)</span>
@@ -753,8 +753,9 @@
                 <span class="n">d</span><span class="p">[</span><span class="s2">&quot;status&quot;</span><span class="p">][</span><span class="n">x</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
                 <span class="n">d</span><span class="p">[</span><span class="s2">&quot;joblist&quot;</span><span class="p">][</span><span class="n">x</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
 
-            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
+            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">HPC_job_id_range</span><span class="p">():</span>
                 <span class="n">s</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">HPC_get_status</span><span class="p">(</span><span class="n">job_id</span><span class="o">=</span><span class="n">_id</span><span class="p">,</span> <span class="n">job_index</span><span class="o">=</span><span class="n">i</span><span class="p">)</span>
+                <span class="c1">#print(&quot;HPC get job&quot;,_id,&#39;:&#39;,i,&quot; status=&quot;,s)</span>
                 <span class="k">if</span> <span class="n">s</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
                     <span class="n">s</span> <span class="o">=</span> <span class="s2">&quot;unknown&quot;</span>
                 <span class="k">if</span> <span class="ow">not</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">d</span><span class="p">[</span><span class="s2">&quot;status&quot;</span><span class="p">]:</span>
@@ -786,8 +787,6 @@
 <div class="viewcode-block" id="HPC.HPC_queue_stats"><a class="viewcode-back" href="../../../../population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_queue_stats">[docs]</a>    <span class="k">def</span> <span class="nf">HPC_queue_stats</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="c1"># pragma: no cover</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Function that returns the queue stats for the HPC grid</span>
-
-<span class="sd">        TODO: the slurm_queue_stats doesntt actually return anything</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm&quot;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
@@ -797,7 +796,17 @@
         <span class="k">else</span><span class="p">:</span>
             <span class="n">x</span> <span class="o">=</span> <span class="kc">None</span>
 
-        <span class="k">return</span> <span class="n">x</span></div></div>
+        <span class="k">return</span> <span class="n">x</span></div>
+
+<div class="viewcode-block" id="HPC.HPC_job_id_range"><a class="viewcode-back" href="../../../../population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_id_range">[docs]</a>    <span class="k">def</span> <span class="nf">HPC_job_id_range</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="n">n</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">HPC_njobs</span><span class="p">()</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm&quot;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">return</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">n</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;condor&quot;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">return</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">n</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Called HPC_job_id_range when not running an HPC grid : you cannot do this.&quot;</span><span class="p">)</span>
+            <span class="k">raise</span></div></div>
 </pre></div>
 
            </div>
@@ -815,9 +824,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html
index f827d424e..65a11d7e1 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/Moe_di_Stefano_2017.html
@@ -1317,9 +1317,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html
index 9be2ecfc3..9182b9c8f 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/analytics.html
@@ -134,6 +134,7 @@
         <span class="k">if</span> <span class="s2">&quot;metadata&quot;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_ensemble_results</span><span class="p">:</span>
             <span class="c1"># Add analytics dict to the metadata too:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">grid_ensemble_results</span><span class="p">[</span><span class="s2">&quot;metadata&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">analytics_dict</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Added analytics to metadata&quot;</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">add_system_metadata</span><span class="p">()</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="c1"># use existing analytics dict</span>
@@ -206,9 +207,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html
index c33cba114..4d0459caf 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/cache.html
@@ -453,9 +453,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html
index caba5213a..54d9b3edf 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/condor.html
@@ -90,6 +90,10 @@
 
 <span class="kn">import</span> <span class="nn">datasize</span>
 <span class="kn">import</span> <span class="nn">lib_programname</span>
+<span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="p">(</span>
+    <span class="n">command_string_from_list</span><span class="p">,</span>
+    <span class="n">now</span><span class="p">,</span>
+<span class="p">)</span>
 
 
 <div class="viewcode-block" id="condor"><a class="viewcode-back" href="../../../../population_extensions/condor.html#binarycpython.utils.population_extensions.condor.condor">[docs]</a><span class="k">class</span> <span class="nc">condor</span><span class="p">:</span>
@@ -106,7 +110,7 @@
 
 <div class="viewcode-block" id="condor.condorID"><a class="viewcode-back" href="../../../../population_extensions/condor.html#binarycpython.utils.population_extensions.condor.condor.condorID">[docs]</a>    <span class="k">def</span> <span class="nf">condorID</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ClusterID</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">Process</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Function to return a Condor job ID. The ClusterID and Process passed in are used if given, otherwise we default to the condor_ClusterID and condor_Process in grid_options.</span>
+<span class="sd">        Function to return a Condor job ID as a string, [ClusterID].[Process]. The ClusterID and Process passed in are used if given, otherwise we default to the condor_ClusterID and condor_Process in grid_options.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="n">ClusterID</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">ClusterID</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;condor_ClusterID&quot;</span><span class="p">]</span>
@@ -381,7 +385,7 @@
                 <span class="p">]</span>
             <span class="p">)</span>
 
-            <span class="n">grid_command</span> <span class="o">=</span> <span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">grid_command</span><span class="p">)</span>
+            <span class="n">grid_command</span> <span class="o">=</span> <span class="n">command_string_from_list</span><span class="p">(</span><span class="n">grid_command</span><span class="p">)</span>
 
             <span class="c1"># make condor script paths</span>
             <span class="n">submit_script_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">condorpath</span><span class="p">(</span><span class="s2">&quot;condor_submit_script&quot;</span><span class="p">)</span>
@@ -413,8 +417,8 @@
 <span class="s2">echo &quot;Condor Job Args: $@&quot;</span>
 
 <span class="s2"># first two arguments are ClusterID and Process</span>
-<span class="s2">export ClusterID=$1</span>
-<span class="s2">export Process=$2</span>
+<span class="s2">export ClusterID=&quot;$1&quot;</span>
+<span class="s2">export Process=&quot;$2&quot;</span>
 <span class="s2">shift 2</span>
 
 <span class="s2">echo &quot;Job ClusterID $ClusterID Process $Process&quot;</span>
@@ -425,13 +429,13 @@
 <span class="s2">export BINARY_C_PYTHON_ORIGINAL_SUBMISSION_TIME=`</span><span class="si">{date}</span><span class="s2">`</span>
 
 <span class="s2"># set status to </span><span class="se">\&quot;</span><span class="s2">running</span><span class="se">\&quot;</span><span class="s2"></span>
-<span class="s2">echo </span><span class="se">\&quot;</span><span class="s2">running</span><span class="se">\&quot;</span><span class="s2"> &gt; </span><span class="si">{condor_dir}</span><span class="s2">/status/$ClusterID.$ProcessID</span>
+<span class="s2">echo </span><span class="se">\&quot;</span><span class="s2">running</span><span class="se">\&quot;</span><span class="s2"> &gt; &quot;</span><span class="si">{condor_dir}</span><span class="s2">/status/$ClusterID.$ProcessID&quot;</span>
 
 <span class="s2"># make list of files which is checked for joining</span>
-<span class="s2"># echo </span><span class="si">{condor_dir}</span><span class="s2">/results/$ClusterID.$Process.gz &gt;&gt; </span><span class="si">{condor_dir}</span><span class="s2">/results/$ClusterID.all</span>
+<span class="s2"># echo &quot;</span><span class="si">{condor_dir}</span><span class="s2">/results/$ClusterID.$Process.gz&quot; &gt;&gt; &quot;</span><span class="si">{condor_dir}</span><span class="s2">/results/$ClusterID.all&quot;</span>
 
 <span class="s2"># run grid of stars and, if this returns 0, set status to finished</span>
-<span class="si">{grid_command}</span><span class="s2"> condor=2 evolution_type=grid condor_ClusterID=$ClusterID condor_Process=$Process save_population_object=</span><span class="si">{condor_dir}</span><span class="s2">/results/$ClusterID.$Process.gz &amp;&amp; echo -n </span><span class="se">\&quot;</span><span class="s2">finished</span><span class="se">\&quot;</span><span class="s2"> &gt; </span><span class="si">{condor_dir}</span><span class="s2">/status/$ClusterID.$ProcessID &amp;&amp; echo &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+<span class="si">{grid_command}</span><span class="s2"> &quot;condor=2&quot; &quot;evolution_type=grid&quot; &quot;condor_ClusterID=$ClusterID&quot; &quot;condor_Process=$Process&quot; &quot;save_population_object=</span><span class="si">{condor_dir}</span><span class="s2">/results/$ClusterID.$Process.gz&quot; &amp;&amp; echo -n </span><span class="se">\&quot;</span><span class="s2">finished</span><span class="se">\&quot;</span><span class="s2"> &gt; &quot;</span><span class="si">{condor_dir}</span><span class="s2">/status/$ClusterID.$ProcessID&quot; &amp;&amp; echo &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                 <span class="n">bash</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;condor_bash&quot;</span><span class="p">],</span>
                 <span class="n">date</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;condor_date&quot;</span><span class="p">],</span>
                 <span class="n">pwd</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;condor_pwd&quot;</span><span class="p">],</span>
@@ -444,7 +448,7 @@
                 <span class="n">joinfile</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="si">{condor_dir}</span><span class="s2">/results/</span><span class="si">{ClusterID}</span><span class="s2">.all&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="n">condor_dir</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;condor_dir&quot;</span><span class="p">],</span> <span class="n">ClusterID</span><span class="o">=</span><span class="n">ClusterID</span>
                 <span class="p">)</span>
-                <span class="n">condor_job_script</span> <span class="o">+=</span> <span class="s2">&quot;&quot;&quot;&amp;&amp; echo </span><span class="se">\&quot;</span><span class="s2">Checking if we can join...</span><span class="se">\&quot;</span><span class="s2"> &amp;&amp; echo &amp;&amp; </span><span class="si">{grid_command}</span><span class="s2"> condor=3 evolution_type=join joinlist=</span><span class="si">{joinfile}</span><span class="s2"> condor_ClusterID=$ClusterID condor_Process=$Process</span>
+                <span class="n">condor_job_script</span> <span class="o">+=</span> <span class="s2">&quot;&quot;&quot;&amp;&amp; echo </span><span class="se">\&quot;</span><span class="s2">Checking if we can join...</span><span class="se">\&quot;</span><span class="s2"> &amp;&amp; echo &amp;&amp; </span><span class="si">{grid_command}</span><span class="s2"> &quot;condor=3&quot; &quot;evolution_type=join&quot; &quot;joinlist=</span><span class="si">{joinfile}</span><span class="s2">&quot; &quot;condor_ClusterID=$ClusterID&quot; &quot;condor_Process=$Process&quot;</span>
 <span class="s2">                &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="n">bash</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;condor_bash&quot;</span><span class="p">],</span>
                     <span class="n">grid_command</span><span class="o">=</span><span class="n">grid_command</span><span class="p">,</span>
@@ -650,9 +654,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html
index 55c7bb5ef..38bfc6486 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/dataIO.html
@@ -232,7 +232,6 @@
             <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
                 <span class="n">obj</span> <span class="o">=</span> <span class="kc">None</span>
                 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Loading of the compressed object went wrong: </span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
-
         <span class="k">return</span> <span class="n">obj</span></div>
 
 <div class="viewcode-block" id="dataIO.merge_populations"><a class="viewcode-back" href="../../../../population_extensions/dataIO.html#binarycpython.utils.population_extensions.dataIO.dataIO.merge_populations">[docs]</a>    <span class="k">def</span> <span class="nf">merge_populations</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">refpop</span><span class="p">,</span> <span class="n">newpop</span><span class="p">):</span>
@@ -249,10 +248,11 @@
 <span class="sd">        Note:</span>
 <span class="sd">            The file should be saved using save_population_object()</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-
+        
         <span class="c1"># combine data</span>
-        <span class="n">refpop</span><span class="o">.</span><span class="n">grid_results</span> <span class="o">=</span> <span class="n">merge_dicts</span><span class="p">(</span><span class="n">refpop</span><span class="o">.</span><span class="n">grid_results</span><span class="p">,</span> <span class="n">newpop</span><span class="o">.</span><span class="n">grid_results</span><span class="p">)</span>
-
+        <span class="n">refpop</span><span class="o">.</span><span class="n">grid_results</span> <span class="o">=</span> <span class="n">merge_dicts</span><span class="p">(</span><span class="n">refpop</span><span class="o">.</span><span class="n">grid_results</span><span class="p">,</span>
+                                          <span class="n">newpop</span><span class="o">.</span><span class="n">grid_results</span><span class="p">)</span>
+        
         <span class="c1"># special cases</span>
         <span class="n">maxmem</span> <span class="o">=</span> <span class="mi">0</span>
         <span class="k">if</span> <span class="s2">&quot;max_memory_use&quot;</span> <span class="ow">in</span> <span class="n">refpop</span><span class="o">.</span><span class="n">grid_ensemble_results</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
@@ -283,7 +283,8 @@
 
             <span class="c1"># merge the ensemble dicts</span>
             <span class="n">refpop</span><span class="o">.</span><span class="n">grid_ensemble_results</span> <span class="o">=</span> <span class="n">merge_dicts</span><span class="p">(</span>
-                <span class="n">refpop</span><span class="o">.</span><span class="n">grid_ensemble_results</span><span class="p">,</span> <span class="n">newpop</span><span class="o">.</span><span class="n">grid_ensemble_results</span>
+                <span class="n">refpop</span><span class="o">.</span><span class="n">grid_ensemble_results</span><span class="p">,</span>
+                <span class="n">newpop</span><span class="o">.</span><span class="n">grid_ensemble_results</span>
             <span class="p">)</span>
 
             <span class="c1"># set special cases</span>
@@ -334,8 +335,9 @@
             <span class="n">n</span> <span class="o">=</span> <span class="n">newpop</span><span class="o">.</span><span class="n">grid_ensemble_results</span><span class="p">[</span><span class="s2">&quot;metadata&quot;</span><span class="p">][</span><span class="s2">&quot;_count&quot;</span><span class="p">]</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">n</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
+        
         <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Loaded data from </span><span class="si">{n}</span><span class="s2"> stars&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">n</span><span class="o">=</span><span class="n">n</span><span class="p">))</span>
-
+        
         <span class="c1"># merge with refpop</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">merge_populations</span><span class="p">(</span><span class="n">refpop</span><span class="p">,</span> <span class="n">newpop</span><span class="p">)</span></div>
 
@@ -899,9 +901,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html
index 5b435ccba..1d74b3f80 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/distribution_functions.html
@@ -2402,9 +2402,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html
index 341b3ef72..676af2f64 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_logging.html
@@ -554,9 +554,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html
index f8be90fa0..eda3c579e 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/grid_options_defaults.html
@@ -95,8 +95,8 @@
 <span class="kn">import</span> <span class="nn">sys</span>
 
 <span class="kn">from</span> <span class="nn">binarycpython.utils.custom_logging_functions</span> <span class="kn">import</span> <span class="n">temp_dir</span>
-
 <span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="p">(</span>
+    <span class="n">command_string_from_list</span><span class="p">,</span>
     <span class="n">now</span><span class="p">,</span>
 <span class="p">)</span>
 
@@ -156,7 +156,7 @@
             <span class="c1">#####################</span>
             <span class="c1"># System information</span>
             <span class="c1">#####################</span>
-            <span class="s2">&quot;command_line&quot;</span><span class="p">:</span> <span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">),</span>
+            <span class="s2">&quot;command_line&quot;</span><span class="p">:</span> <span class="n">command_string_from_list</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">),</span>
             <span class="s2">&quot;original_command_line&quot;</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">&quot;BINARY_C_PYTHON_ORIGINAL_CMD_LINE&quot;</span><span class="p">),</span>
             <span class="s2">&quot;working_diretory&quot;</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">(),</span>
             <span class="s2">&quot;original_working_diretory&quot;</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">&quot;BINARY_C_PYTHON_ORIGINAL_WD&quot;</span><span class="p">),</span>
@@ -241,6 +241,7 @@
             <span class="s2">&quot;_total_probability_weighted_mass_run&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>  <span class="c1"># To count the total mass * probability for each system that thread/process has ran</span>
             <span class="s2">&quot;modulo&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>  <span class="c1"># run modulo n of the grid.</span>
             <span class="s2">&quot;start_at&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>  <span class="c1"># start at the first model</span>
+            <span class="s2">&quot;skip_before&quot;</span> <span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># skip models before this</span>
             <span class="c1">## Grid type evolution</span>
             <span class="s2">&quot;_grid_variables&quot;</span><span class="p">:</span> <span class="p">{},</span>  <span class="c1"># grid variables</span>
             <span class="s2">&quot;gridcode_filename&quot;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>  <span class="c1"># filename of gridcode</span>
@@ -319,7 +320,7 @@
             <span class="s2">&quot;slurm_jobarrayindex&quot;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>  <span class="c1"># slurm job array index (%a)</span>
             <span class="s2">&quot;slurm_jobname&quot;</span><span class="p">:</span> <span class="s2">&quot;binary_c-python&quot;</span><span class="p">,</span>  <span class="c1"># default</span>
             <span class="s2">&quot;slurm_partition&quot;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
-            <span class="s2">&quot;slurm_time&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>  <span class="c1"># total time. 0 = infinite time</span>
+            <span class="s2">&quot;slurm_time&quot;</span><span class="p">:</span> <span class="s1">&#39;0&#39;</span><span class="p">,</span>  <span class="c1"># total time. 0 = infinite time</span>
             <span class="s2">&quot;slurm_postpone_sbatch&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>  <span class="c1"># if 1: don&#39;t submit, just make the script</span>
             <span class="s2">&quot;slurm_array&quot;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>  <span class="c1"># override for --array, useful for rerunning jobs</span>
             <span class="s2">&quot;slurm_array_max_jobs&quot;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>  <span class="c1"># override for the max number of concurrent array jobs</span>
@@ -715,9 +716,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html
index 46324cd6c..dbdf11d8f 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/gridcode.html
@@ -1235,9 +1235,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html
index 23af3c0dd..6316c9ce4 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/metadata.html
@@ -228,9 +228,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html
index 671e3f4ad..c49c344b5 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/slurm.html
@@ -88,6 +88,10 @@
 
 <span class="kn">import</span> <span class="nn">datasize</span>
 <span class="kn">import</span> <span class="nn">lib_programname</span>
+<span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="p">(</span>
+    <span class="n">command_string_from_list</span><span class="p">,</span>
+    <span class="n">now</span><span class="p">,</span>
+<span class="p">)</span>
 
 
 <div class="viewcode-block" id="slurm"><a class="viewcode-back" href="../../../../population_extensions/slurm.html#binarycpython.utils.population_extensions.slurm.slurm">[docs]</a><span class="k">class</span> <span class="nc">slurm</span><span class="p">:</span>
@@ -104,7 +108,7 @@
 
 <div class="viewcode-block" id="slurm.slurmID"><a class="viewcode-back" href="../../../../population_extensions/slurm.html#binarycpython.utils.population_extensions.slurm.slurm.slurmID">[docs]</a>    <span class="k">def</span> <span class="nf">slurmID</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">jobid</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">jobarrayindex</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Function to return a Slurm job ID. The jobid and jobarrayindex passed in are used if given, otherwise we default to the jobid and jobarrayindex in grid_options.</span>
+<span class="sd">        Function to return a Slurm job ID as a string, [jobid].[jobarrayindex]. The jobid and jobarrayindex passed in are used if given, otherwise we default to the jobid and jobarrayindex in grid_options.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">if</span> <span class="n">jobid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">jobid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm_jobid&quot;</span><span class="p">]</span>
@@ -181,7 +185,13 @@
             <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">status_file</span><span class="p">,</span> <span class="s2">&quot;w&quot;</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s2">&quot;utf-8&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
                 <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">string</span><span class="p">)</span>
                 <span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">NFS_flush_hack</span><span class="p">(</span><span class="n">status_file</span><span class="p">)</span></div>
+                <span class="bp">self</span><span class="o">.</span><span class="n">NFS_flush_hack</span><span class="p">(</span><span class="n">status_file</span><span class="p">)</span>
+
+        <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Have set status in&quot;</span><span class="p">,</span><span class="n">status_file</span><span class="p">,</span><span class="s2">&quot;to&quot;</span><span class="p">,</span><span class="n">string</span><span class="p">)</span>
+        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">status_file</span><span class="p">,</span><span class="s2">&quot;r&quot;</span><span class="p">,</span><span class="n">encoding</span><span class="o">=</span><span class="s2">&quot;utf-8&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Contents&quot;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="o">.</span><span class="n">readlines</span><span class="p">())</span>
+            <span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
 
 <div class="viewcode-block" id="slurm.get_slurm_status"><a class="viewcode-back" href="../../../../population_extensions/slurm.html#binarycpython.utils.population_extensions.slurm.slurm.get_slurm_status">[docs]</a>    <span class="k">def</span> <span class="nf">get_slurm_status</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">jobid</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">jobarrayindex</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">slurm_dir</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
@@ -364,7 +374,7 @@
                 <span class="p">]</span>
                 <span class="o">+</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
                 <span class="o">+</span> <span class="p">[</span>
-                    <span class="s2">&quot;start_at=&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">jobarrayindex</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;-1&quot;</span><span class="p">,</span>  <span class="c1"># do we need the -1?</span>
+                    <span class="s2">&quot;start_at=$((&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">jobarrayindex</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;-1))&quot;</span><span class="p">,</span>
                     <span class="s2">&quot;modulo=&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm_njobs&quot;</span><span class="p">]),</span>
                     <span class="s2">&quot;slurm_njobs=&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm_njobs&quot;</span><span class="p">]),</span>
                     <span class="s2">&quot;slurm_dir=&quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm_dir&quot;</span><span class="p">],</span>
@@ -373,7 +383,8 @@
                 <span class="p">]</span>
             <span class="p">)</span>
 
-            <span class="n">grid_command</span> <span class="o">=</span> <span class="s2">&quot; &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">grid_command</span><span class="p">)</span>
+            <span class="c1"># wrap command arguments in quotes</span>
+            <span class="n">grid_command</span> <span class="o">=</span> <span class="n">command_string_from_list</span><span class="p">(</span><span class="n">grid_command</span><span class="p">)</span>
 
             <span class="c1"># make slurm script</span>
             <span class="n">scriptpath</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">slurmpath</span><span class="p">(</span><span class="s2">&quot;slurm_script&quot;</span><span class="p">)</span>
@@ -423,13 +434,13 @@
 <span class="s2">export BINARY_C_PYTHON_ORIGINAL_SUBMISSION_TIME=`</span><span class="si">{date}</span><span class="s2">`</span>
 
 <span class="s2"># set status to </span><span class="se">\&quot;</span><span class="s2">running</span><span class="se">\&quot;</span><span class="s2"></span>
-<span class="s2">echo </span><span class="se">\&quot;</span><span class="s2">running</span><span class="se">\&quot;</span><span class="s2"> &gt; </span><span class="si">{slurm_dir}</span><span class="s2">/status/$SLURM_ARRAY_JOB_ID.$SLURM_ARRAY_TASK_ID</span>
+<span class="s2">echo </span><span class="se">\&quot;</span><span class="s2">running</span><span class="se">\&quot;</span><span class="s2"> &gt; &quot;</span><span class="si">{slurm_dir}</span><span class="s2">/status/$SLURM_ARRAY_JOB_ID.$SLURM_ARRAY_TASK_ID&quot;</span>
 
 <span class="s2"># make list of files which is checked for joining</span>
-<span class="s2"># echo </span><span class="si">{slurm_dir}</span><span class="s2">/results/$SLURM_ARRAY_JOB_ID.$SLURM_ARRAY_TASK_ID.gz &gt;&gt; </span><span class="si">{slurm_dir}</span><span class="s2">/results/$SLURM_ARRAY_JOB_ID.all</span>
+<span class="s2"># echo &quot;</span><span class="si">{slurm_dir}</span><span class="s2">/results/$SLURM_ARRAY_JOB_ID.$SLURM_ARRAY_TASK_ID.gz&quot; &gt;&gt; &quot;</span><span class="si">{slurm_dir}</span><span class="s2">/results/$SLURM_ARRAY_JOB_ID.all&quot;</span>
 
 <span class="s2"># run grid of stars and, if this returns 0, set status to finished</span>
-<span class="si">{grid_command}</span><span class="s2"> slurm=2 evolution_type=grid slurm_jobid=$SLURM_ARRAY_JOB_ID slurm_jobarrayindex=$SLURM_ARRAY_TASK_ID save_population_object=</span><span class="si">{slurm_dir}</span><span class="s2">/results/$SLURM_ARRAY_JOB_ID.$SLURM_ARRAY_TASK_ID.gz &amp;&amp; echo -n </span><span class="se">\&quot;</span><span class="s2">finished</span><span class="se">\&quot;</span><span class="s2"> &gt; </span><span class="si">{slurm_dir}</span><span class="s2">/status/$SLURM_ARRAY_JOB_ID.$SLURM_ARRAY_TASK_ID &amp;&amp; echo &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+<span class="si">{grid_command}</span><span class="s2"> &quot;slurm=2&quot; &quot;evolution_type=grid&quot; &quot;slurm_jobid=$SLURM_ARRAY_JOB_ID&quot; &quot;slurm_jobarrayindex=$SLURM_ARRAY_TASK_ID&quot; &quot;save_population_object=</span><span class="si">{slurm_dir}</span><span class="s2">/results/$SLURM_ARRAY_JOB_ID.$SLURM_ARRAY_TASK_ID.gz&quot; &amp;&amp; echo -n </span><span class="se">\&quot;</span><span class="s2">finished</span><span class="se">\&quot;</span><span class="s2"> &gt; &quot;</span><span class="si">{slurm_dir}</span><span class="s2">/status/$SLURM_ARRAY_JOB_ID.$SLURM_ARRAY_TASK_ID&quot; &amp;&amp; echo &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                 <span class="n">slurm_dir</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm_dir&quot;</span><span class="p">],</span>
                 <span class="n">grid_command</span><span class="o">=</span><span class="n">grid_command</span><span class="p">,</span>
                 <span class="n">cmdline</span><span class="o">=</span><span class="nb">repr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;command_line&quot;</span><span class="p">]),</span>
@@ -438,7 +449,7 @@
             <span class="p">)</span>
 
             <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm_postpone_join&quot;</span><span class="p">]:</span>
-                <span class="n">slurmscript</span> <span class="o">+=</span> <span class="s2">&quot;&quot;&quot;&amp;&amp; echo </span><span class="se">\&quot;</span><span class="s2">Checking if we can join...</span><span class="se">\&quot;</span><span class="s2"> &amp;&amp; echo &amp;&amp; </span><span class="si">{grid_command}</span><span class="s2"> slurm=3 evolution_type=join joinlist=</span><span class="si">{slurm_dir}</span><span class="s2">/results/$SLURM_ARRAY_JOB_ID.all slurm_jobid=$SLURM_ARRAY_JOB_ID slurm_jobarrayindex=$SLURM_ARRAY_TASK_ID</span>
+                <span class="n">slurmscript</span> <span class="o">+=</span> <span class="s2">&quot;&quot;&quot;&amp;&amp; echo </span><span class="se">\&quot;</span><span class="s2">Checking if we can join...</span><span class="se">\&quot;</span><span class="s2"> &amp;&amp; echo &amp;&amp; </span><span class="si">{grid_command}</span><span class="s2"> &quot;slurm=3&quot; &quot;evolution_type=join&quot; &quot;joinlist=</span><span class="si">{slurm_dir}</span><span class="s2">/results/$SLURM_ARRAY_JOB_ID.all&quot; &quot;slurm_jobid=$SLURM_ARRAY_JOB_ID&quot; &quot;slurm_jobarrayindex=$SLURM_ARRAY_TASK_ID&quot;</span>
 <span class="s2">                &quot;&quot;&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
                     <span class="n">slurm_dir</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">grid_options</span><span class="p">[</span><span class="s2">&quot;slurm_dir&quot;</span><span class="p">],</span>
                     <span class="n">grid_command</span><span class="o">=</span><span class="n">grid_command</span><span class="p">,</span>
@@ -520,7 +531,7 @@
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Function to XXX</span>
 
-<span class="sd">        TODO: is this function finished?</span>
+<span class="sd">        TODO</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 
         <span class="k">return</span> <span class="kc">None</span></div></div>
@@ -541,9 +552,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html
index 858c832f5..2c758ddfe 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/spacing_functions.html
@@ -93,7 +93,7 @@
 <span class="kn">import</span> <span class="nn">cachetools</span>
 <span class="kn">import</span> <span class="nn">diskcache</span>
 
-<span class="c1"># from binarycpython.utils.grid import Population</span>
+
 
 <span class="kn">import</span> <span class="nn">py_rinterpolate</span>
 
@@ -418,13 +418,14 @@
                 <span class="k">return</span> <span class="n">func</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
 
             <span class="k">return</span> <span class="n">wrapped</span>
-
-        <span class="k">if</span> <span class="n">cache</span><span class="p">:</span>
+                
+        <span class="k">if</span> <span class="n">cache</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="n">__decorator</span> <span class="o">=</span> <span class="n">cache</span><span class="o">.</span><span class="n">memoize</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="n">__decorator</span> <span class="o">=</span> <span class="n">__dummy_decorator</span>
 
-        <span class="nd">@__decorator</span>
+        <span class="c1">#@cache.memoize()    </span>
+        <span class="nd">@__decorator</span><span class="p">()</span> <span class="c1"># note: () works with python3.9+, maybe not for 3.8</span>
         <span class="k">def</span> <span class="nf">_const_dt</span><span class="p">(</span>
             <span class="n">cachedir</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
             <span class="n">num_cores</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
@@ -465,6 +466,7 @@
             <span class="k">if</span> <span class="n">max_evolution_time</span><span class="p">:</span>
                 <span class="n">bse_options</span><span class="p">[</span><span class="s2">&quot;max_evolution_time&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">max_evolution_time</span>
 
+            <span class="kn">from</span> <span class="nn">binarycpython.utils.grid</span> <span class="kn">import</span> <span class="n">Population</span>
             <span class="n">lifetime_population</span> <span class="o">=</span> <span class="n">Population</span><span class="p">()</span>
             <span class="n">lifetime_population</span><span class="o">.</span><span class="n">bse_options</span> <span class="o">=</span> <span class="n">bse_options</span>
 
@@ -773,9 +775,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html b/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html
index 81412f991..ca7256fc9 100644
--- a/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html
+++ b/docs/build/html/_modules/binarycpython/utils/population_extensions/version_info.html
@@ -521,9 +521,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html b/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html
index 13824eed9..1c01f4a22 100644
--- a/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html
+++ b/docs/build/html/_modules/binarycpython/utils/run_system_wrapper.html
@@ -205,9 +205,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/binarycpython/utils/useful_funcs.html b/docs/build/html/_modules/binarycpython/utils/useful_funcs.html
index 00061732f..b6239a664 100644
--- a/docs/build/html/_modules/binarycpython/utils/useful_funcs.html
+++ b/docs/build/html/_modules/binarycpython/utils/useful_funcs.html
@@ -471,9 +471,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html
index 5ff8f71af..29e1c56a4 100644
--- a/docs/build/html/_modules/index.html
+++ b/docs/build/html/_modules/index.html
@@ -109,9 +109,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/_sources/binary_c_parameters.rst.txt b/docs/build/html/_sources/binary_c_parameters.rst.txt
index 2ecbfde05..81bd07a93 100644
--- a/docs/build/html/_sources/binary_c_parameters.rst.txt
+++ b/docs/build/html/_sources/binary_c_parameters.rst.txt
@@ -4,7 +4,7 @@ The following chapter contains all the parameters that the current version of bi
 
 
 This information was obtained by the following binary_c build:
-	**binary_c git branch**: branch_david	**binary_c git revision**: 5845:20220107:201620bd7	**Built on**: Jan  7 2022 12:15:12
+	**binary_c git branch**: HEAD	**binary_c git revision**: 5853:20220225:db09898b6	**Built on**: Feb 25 2022 19:21:31
 
 
 Section: stars
diff --git a/docs/build/html/_sources/examples/notebook_api_functionality.ipynb.txt b/docs/build/html/_sources/examples/notebook_api_functionality.ipynb.txt
index 504ae4b16..49d6f8d3d 100644
--- a/docs/build/html/_sources/examples/notebook_api_functionality.ipynb.txt
+++ b/docs/build/html/_sources/examples/notebook_api_functionality.ipynb.txt
@@ -105,7 +105,7 @@
       "        Function that contains random snippets. Do not expect this to remain available, or reliable. i.e. dont use it.\n",
       "\n",
       "FILE\n",
-      "    /home/izzard/.local/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so\n",
+      "    /home/david/.pyenv/versions/binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so\n",
       "\n",
       "\n"
      ]
@@ -166,7 +166,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<capsule object \"STORE\" at 0x146f912dbc60>\n",
+      "<capsule object \"STORE\" at 0x7fc1f0c3ff00>\n",
       "SINGLE_STAR_LIFETIME 10 28.4838\n",
       "\n"
      ]
@@ -270,586 +270,13 @@
       "M_2 : The initial mass of star two (in solar units, internally this is star index 1). : (null)\n",
       "M_3 : The initial mass of star three (in solar units, internally this is star index 2). : (null)\n",
       "M_4 : The initial mass of star four (in solar units, internally this is star index 3). : (null)\n",
-      "vrot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot2,3,4. : (null)\n",
-      "vrot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,3,4. : (null)\n",
-      "vrot3 : The initial equatorial rotational velocity of star three (in km/s, internally this is star index 2). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,4. : (null)\n",
-      "vrot4 : The initial equatorial rotational velocity of star four (in km/s, internally this is star index 3). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,3. : (null)\n",
-      "Prot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). See also Prot2,3,4. : (null)\n",
-      "Prot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). See also Prot1,3,4. : (null)\n",
-      "Prot3 : The initial equatorial rotational period of star three (in days, internally this is star index 2). See also Prot1,2,4. : (null)\n",
-      "Prot4 : The initial equatorial rotational period of star four (in days, internally this is star index 3). See also Prot1,2,3. : (null)\n",
-      "inclination1 : The initial inclination of star one (in degrees). : (null)\n",
-      "inclination2 : The initial inclination of star two (in degrees). : (null)\n",
-      "inclination3 : The initial inclination of star three (in degrees). : (null)\n",
-      "inclination4 : The initial inclination of star four (in degrees). : (null)\n",
-      "B_1 : The initial magnetic field of star one (in Gauss, internally this is star index 0). : (null)\n",
-      "B_2 : The initial magnetic field of star two (in Gauss, internally this is star index 1). : (null)\n",
-      "B_3 : The initial magnetic field of star three (in Gauss, internally this is star index 2). : (null)\n",
-      "B_4 : The initial magnetic field of star four (in Gauss, internally this is star index 3). : (null)\n",
-      "B_inclination1 : The initial inclination of the magnetic field of star one (in degrees). : (null)\n",
-      "B_inclination2 : The initial inclination of the magnetic field of star two (in degrees). : (null)\n",
-      "B_inclination3 : The initial inclination of the magnetic field of star three (in degrees). : (null)\n",
-      "B_inclination4 : The initial inclination of the magnetic field of star four (in degrees). : (null)\n",
-      "stellar_type_1 : Set the stellar type of star 1 (internal index 0), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_2 : Set the stellar type of star 2 (internal index 1), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_3 : Set the stellar type of star 3 (internal index 2), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_4 : Set the stellar type of star 4 (internal index 3), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "max_stellar_type_1 : The maximum stellar type of star 1 (internal index 0). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value. \n",
-      " : (null)\n",
-      "max_stellar_type_2 : The maximum stellar type of star 2 (internal index 1). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "max_stellar_type_3 : The maximum stellar type of star 3 (internal index 2). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "max_stellar_type_4 : The maximum stellar type of star 4 (internal index 3). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "probability : The probability is a weighting applied to the star based on, say, the initial mass function. When running a grid of stars to simulate *all* stars, the summed probability of all the stars should be 1.0. : (null)\n",
-      "phasevol : The system's phase volume, used by binary_grid. : (null)\n",
-      "stellar_structure_algorithm : Set the stellar structure algorithm. 0=modified BSE (default), 1=none, 2=external function (must be defined by the calling code), 3=binary_c (not yet implemented). : (null)\n",
-      "solver : The type of solver. Default is the Forward-Euler (0), but could be RK2 (1), RK4 (2) or a predictor-corretor (3). : (null)\n",
-      "max_evolution_time : Set the maximum age for the stars (Myr). : (null)\n",
-      "max_model_number : Set the maximum number of models, ignored if 0 (default is 0). : (null)\n",
-      "monte_carlo_kicks : Turn on Monte-Carlo SN kicks. On (True) by default, and indeed other algorithms are probably broken. : (null)\n",
-      "disable_debug : Disables debug output. Only has an effect when DEBUG is 1, which probably requires a rebuild. Default FALSE. : (null)\n",
-      "timestep_logging : Turn on timestep logging (default is False). : (null)\n",
-      "rejects_in_log : Show timestep rejections in the main log (default is False). : (null)\n",
-      "vandenHeuvel_logging : Turn on van den Heuvel logging (default is False). : (null)\n",
-      "evolution_splitting : If True, turn on splitting of an evolutionary run if splitpoint (e.g. supernova) occurs. : (null)\n",
-      "disable_events : Whether to disable the new events code (defaults to False, so we use events by default)\n",
-      " : (null)\n",
-      "evolution_splitting_sn_eccentricity_threshold : Threshold eccentricity above which evolution splitting happens in a system with no SN kick. (0.01) : (null)\n",
-      "evolution_splitting_sn_n : Number of runs to split into when a SN occurs. : (null)\n",
-      "evolution_splitting_maxdepth : Max number of splits in an evolutionary run. : (null)\n",
-      "equation_of_state_algorithm : Set the equation of state algorithm. 0 = Paczynski. : (null)\n",
-      "opacity_algorithm : Set the opacity algorithm. 0 = Paczynski, 1 = Ferguson/Opal. : (null)\n",
-      "wind_mass_loss : Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018). : 0\n",
-      "gbwind : Wind prescription for first red giant branch stars.  0=Reimers (Hurley et al 2000/2002; choose gb_reimers_eta=0.5 for their mass loss rate), 1=Schroeder+Cuntz 2005 (set gb_reimers_eta=1.0 for their mass loss rate). : (null)\n",
-      "postagbwind : Apply special post-(A)GB prescription. Default is POSTAGB_WIND_USE_GIANT which means we just use whatever is prescribed on the giant branch. Other options include: POSTAGB_WIND_NONE = 1 (no wind on the post (A)GB), POSTAGB_WIND_KRTICKA2020 = 2 which uses Krticka, Kubát and Krticková (2020, A&A 635, A173). : (null)\n",
-      "Teff_postAGB_min : The minimum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_max. (6000 K) : (null)\n",
-      "Teff_postAGB_max : The maximum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_min. (120000 K) : (null)\n",
-      "mattsson_Orich_tpagbwind : Experimental : turns on Mattsson's TPAGB wind when the star is oxygen rich. Requires MATTSSON_MASS_LOSS. : (null)\n",
-      "magnetic_braking_factor : Multiplier for the magnetic braking angular momentum loss rate. : (null)\n",
-      "magnetic_braking_gamma : gamma factor in Rappaport style magnetic braking expression. : (null)\n",
-      "magnetic_braking_algorithm : Algorithm for the magnetic braking angular momentum loss rate. 0 = Hurley et al. 2002, 1 = Andronov, Pinnsonneault and Sills 2003, 2 = Barnes and Kim 2010  : (null)\n",
-      "helium_flash_mass_loss : Mass to be lost at the helium flash. : (null)\n",
-      "gb_reimers_eta : First red giant branch wind multiplication factor, cf. eta in Reimers' mass loss formula. (This multiplies the 4e-13 in Reimers' formula, or the 8e-14 in Schroeder and Cuntz.) : (null)\n",
-      "gbwindfac : Multiplier for the giant branch wind mass loss rate : (null)\n",
-      "tpagbwindfac : Multiplier for the TPAGB wind mass loss rate : (null)\n",
-      "eagbwindfac : Multiplier for the EAGB wind mass loss rate : (null)\n",
-      "nieuwenhuijzen_windfac : Multiplier for the Nieuwenhuijzen & de Jager wind mass loss rate : (null)\n",
-      "tpagbwind : Wind prescription during the TPAGB. 0=Karakas 2002 (a modified Vassiliadis and Wood 1993), 1=Hurley et al 2000/2002 (Vassiliadis and Wood 1993), 2=Reimers, 3=Bloecker, 4=Van Loon,  5=Rob's C-wind (broken?), 6,7=Vassiliadis and Wood 1993 (Karakas,Hurley variants respectively) when C/O>1, 8=Mattsson, 9 = Goldman et al. (2017), 10 = Beasor et al. (2020). : (null)\n",
-      "eagbwind : Wind prescription during the EAGB. 0=BSE (Hurley+2002, based on VW93), 1 = Goldman et al. (2017), 2 = Beasor et al. (2020). : (null)\n",
-      "wind_gas_to_dust_ratio : Gas to dust ratio used in wind calculations (e.g. Goldman et al. 2017). Typically 200 (Milky Way)-500 (Magellanic Clouds). Default is 200, approximately as in MW stars. : (null)\n",
-      "vwind_multiplier : Multiplier for the stellar wind velocity. : (null)\n",
-      "vwind_beta : Beta for stellar wind speed calculations, where vwind=sqrt(beta) * escape velocity. Default 0.125 (from BSE, Hurley et al. 2002).  : (null)\n",
-      "superwind_mira_switchon : In the Vassiliadis and Wood (1993) AGB wind prescription, the superwind is turned on at a given Mira period, usually 500 days. You can vary when this switch-on happens with this parameter. : (null)\n",
-      "vw93_mira_shift : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate depends on the Mira period plus this offset. Requires VW93_MIRA_SHIFT. : (null)\n",
-      "vw93_multiplier : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate is multiplied by this factor. Requires VW93_MULTIPLIER. : (null)\n",
-      "tpagb_reimers_eta : TPAGB Reimers wind multiplication factor, cf. eta in Reimers' mass loss formula. (This multiplies the 4e-13 in Reimers' formula, or the 8e-14 in Schroeder and Cuntz.) Note that Reimers is not the default TPAGB wind prescription. See also tpagbwind. : (null)\n",
-      "Tout_Pringle_1992_multiplier : Multiplier for the Tout & Pringle (1992) magnetic wind. (0.0) : (null)\n",
-      "artificial_mass_accretion_rate%d : Constant mass accretion rate for star <n>. : (null)\n",
-      "artificial_mass_accretion_rate_by_stellar_type%d : Constant mass accretion rate for stellar type <n>. : (null)\n",
-      "artificial_angular_momentum_accretion_rate%d : Constant angular momentum accretion for star <n>. : (null)\n",
-      "artificial_orbital_angular_momentum_accretion_rate : Constant angular momentum accretion rate on the orbit. : (null)\n",
-      "artificial_accretion_start_time : Time at which artificial accretion stars. Ignored if <0 (default is -1). : (null)\n",
-      "artificial_accretion_end_time : Time at which artificial accretion ends. Ignored if <0 (default is -1). : (null)\n",
-      "wr_wind : Massive-star (WR) wind prescription. 0 = Hurley et al 2000/2002, 1=Maeder and Meynet, 2=Nugis and Lamers, 3=John Eldridge's version of Vink's early-2000s wind (See Lynnette Dray's thesis, or John Eldridge's thesis) : (null)\n",
-      "wr_wind_fac : Massive-star (WR) wind multiplication factor. : (null)\n",
-      "wrwindfac : Massive-star (WR) wind multiplication factor. Synonymous with wr_wind_fac (which you should use instead). : (null)\n",
-      "BH_prescription : Black hole mass prescrition: relates the mass of a newly formed black hole to its progenitor's (CO) core mass. BH_HURLEY2002 = 0 = Hurley et al 2000/2002, BH_BELCZYNSKI = 1 = Belczynski (early 2000s), BH_SPERA2015 = Spera+ 2015, BH_FRYER12_DELAYED = 3 = Fryer et al. (2012) delayed prescription, BH_FRYER12_RAPID = 4 = Fryer et al. (2012) rapid prescription, BH_FRYER12_STARTRACK = 5 = Fryer et al. (2012) startrack prescription. : (null)\n",
-      "sn_kick_distribution_II : Set the distribution of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_ECAP : Set the distribution of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_NS_NS : Set the distribution of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IBC : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_GRB_COLLAPSAR : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_TZ : Set the distribution of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_AIC_BH : Set the distribution of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_BH_BH : Set the distribution of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_BH_NS : Set the distribution of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IA_Hybrid_HeCOWD : Set the distribution of speeds applied to any survivor of a hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IA_Hybrid_HeCOWD_subluminous : Set the distribution of speeds applied to any survivor of a subluminous hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_II : Set the dispersion of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_ECAP : Set the dispersion of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_NS_NS : Set the dispersion of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IBC : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_GRB_COLLAPSAR : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_TZ : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_AIC_BH : Set the dispersion of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_BH_BH : Set the dispersion of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_BH_NS : Set the dispersion of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IA_Hybrid_HeCOWD : Set the dispersion of speeds applied to the survivor of a SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IA_Hybrid_HeCOWD_subluminous : Set the dispersion of speeds applied to the survivor of a subluminous SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_companion_IA_He : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia He supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_ELD : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia ELD (sub-Mch) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_CHAND : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia Mch supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_AIC : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when an accretion induced collapse (supernova) occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_ECAP : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when an electron capture supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_He_Coal : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia helium merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_CHAND_Coal : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia Mch merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_NS_NS : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a neutron-star neutron-star merger. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_GRB_COLLAPSAR : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a GRB Collapsar (rapidly rotating SN Ibc) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_HeStarIa : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a He-star Ia supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IBC : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type Ib/c supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_II : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type II supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IIa : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type IIa supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_WDKICK : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a WD is kicked. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_TZ : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Thorne-Zytkow object is formed. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_AIC_BH : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a neutron star collapses to a black hole. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_BH_BH : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when two black holes merge. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_BH_NS : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a black hole merges with a neutron star. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_Hybrid_HeCOWD : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_Hybrid_HeCOWD_subluminous : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a subluminous hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "wd_sigma : Set the speed at which white dwarfs are kicked when they form, in km/s. Default is zero (i.e. no kick). Requires WD_KICKS. : (null)\n",
-      "wd_kick_direction : Set the direction of white dwarf kicks. 0 = random, 1 = up, 2 = forward, 3 = backward, 4 = inward, 5 = outward. Requires WD_KICKS. : (null)\n",
-      "wd_kick_when : Decide when to kick a white dwarf. 0=at birth, 1=at first RLOF, 2=at given pulse number (see wd_kick_pulse_number), 3 at every pulse Requires WD_KICKS. : (null)\n",
-      "wd_kick_pulse_number : Apply a kick to a star at a desired pulse number on the TPAGB (i.e. pre-WD). Requires WD_KICKS. : (null)\n",
-      "minimum_helium_ignition_core_mass : Minimum helium core mass required to ignite helium in the case that the hydrogen envelope is stripped on the giant branch, e.g. to make an sdB or sdO star. Typically 0.4, if 0.0 then the BSE algorithm (based on the total mass) is used. : (null)\n",
-      "minimum_CO_core_mass_for_carbon_ignition : Minimum CO core mass for carbon ignition, assuming Mc,bagb>1.6Msun. Typically around 1.08Msun (Pols+1998). : (null)\n",
-      "minimum_CO_core_mass_for_neon_ignition : Minimum CO core mass for neon ignition. Typically around 1.42Msun. Stars that have cores that ignite carbon, but not neon explode in electon-capture supernovae. : (null)\n",
-      "minimum_mcbagb_for_nondegenerate_carbon_ignition : Minimum Mc,bagb (core mass at the base of the AGB) for non-degenerate carbon ignition. Typically around 2.25Msun (Pols+1998). : (null)\n",
-      "maximum_mcbagb_for_degenerate_carbon_ignition : Maximum Mc,bagb (core mass at the base of the AGB) for degenerate carbon ignition. Typically around 1.6Msun (Pols+1998). : (null)\n",
-      "max_neutron_star_mass : Maximum mass of a neutron star before it collapses to a black hole. Typically around 2Msun. : (null)\n",
-      "chandrasekhar_mass : The Chandrasekhar mass, usually 1.44Msun : (null)\n",
-      "delta_mcmin : A parameter to reduce the minimum core mass for third dredge up to occur on the TPAGB. As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)\n",
-      "lambda_min : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. See also lambda_multiplier. : (null)\n",
-      "lambda_multiplier : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)\n",
-      "minimum_envelope_mass_for_third_dredgeup : The minimum envelope mass for third dredge up on the TPAGB. Early, solar metallicity models by Straniero et al suggested 0.5Msun is typical. However, circumstantial evidence (Izzard et al 2009) as well as newer models by Stancliffe and Karakas suggest that at low metallicity a value nearer zero is more appropriate. : (null)\n",
-      "mass_of_pmz : The mass in the partial mixing zone of a TPAGB star, using the Karakas 2012 tables. Ask Carlo Abate for more details, or see the series of papers Abate et al 2012, 2013, 2014. Requires NUCSYN and USE_TABULAR_INTERSHELL_ABUNDANCES_KARAKAS_2012. : (null)\n",
-      "c13_eff : The \"efficiency\" of partial mixing in a TPAGB star intershell region, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)\n",
-      "mc13_pocket_multiplier : Multiplies the mass in the partial mixing zone of a TPAGB star, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)\n",
-      "tides_convective_damping : Tidal convective damping algorithm. 0=TIDES_HURLEY2002 Zahn 197x timescales + Hut, as in Hurley et al (2002), 1 = TIDES_ZAHN1989 : Zahn 1989 lambdas + Hut. : (null)\n",
-      "E2_prescription : Choose how to calculate the E2 structural parameter (used in tidal timescale calculations). 0=Hurley 1=Izzard (see Siess et al 2013). : (null)\n",
-      "dtfac : A parameter to decrease the timestep ONLY during the TPAGB phase. : (null)\n",
-      "hbbtfac : A parameter to modulate the temperature at the base of the hot-bottom burning zone in TPAGB stars. (Works only if NUCSYN is defined) : (null)\n",
-      "wind_multiplier_%d : Wind multiplier for the stellar type specified by the intger %d. By default these are all 1.0. : (null)\n",
-      "wind_type_multiplier_%d : Wind multiplier for different types of wind (MS, GB, AGB, WR, LBV, OTHER), given by the integer %d. By default these are all 1.0. : (null)\n",
-      "pre_main_sequence : Set to True to turn on pre-main sequence evolution. Currently this is not a special stellar type, rather the first (small) fraction of the main sequence has increased radii to match the Railton et al 2014 fits to Tout's pre-main sequence stars. Requires PRE_MAIN_SEQUENCE. See also pre_main_sequence_fit_lobes. : (null)\n",
-      "pre_main_sequence_fit_lobes : Set to True force a pre-main sequence star into its Roche lobe. This is done by artificially aging it. Requires PRE_MAIN_SEQUENCE : (null)\n",
-      "small_envelope_method : Choose the method used to determine the stellar radius when the envelope mass is very thin. 0 = Hurley et al. (2002), 1 = Miller Bertolami et al. (2016+) for GB and AGB stars only. : (null)\n",
-      "timestep_modulator : Multiplier applied to the global timestep. Requires TIMESTEP_MODULATION. : (null)\n",
-      "timestep_multiplier%d : Multiplier applied to timestep limit <n>. : (null)\n",
-      "maximum_timestep : The maximum timestep (MYr). : (null)\n",
-      "zoomfac_multiplier_decrease : When a timestep is rejected, decrease the timestep by this factor (0.5). : (null)\n",
-      "zoomfac_multiplier_increase : When a timestep is rejected, zooms, then succeeds, increase the timestep by this factor (1.2). : (null)\n",
-      "maximum_timestep_factor : The maximum factor between two subsequent timesteps (1.2). : (null)\n",
-      "maximum_nuclear_burning_timestep : The maximum timestep (MYr) in any nuclear burning phase. : (null)\n",
-      "nova_retention_method : Algorithm used to calculate the amount of mass retained during a nova explosion. 0=use nova_retention_fraction. (other methods pending) : (null)\n",
-      "MINT_metallicity : This sets the metallicity for MINT. It is ignored if set to -1.0, the default, in which case the normal metallicity parameter is used. : (null)\n",
-      "gaia_Teff_binwidth : log10(Effective temperature) bin width used to make Gaia-like HRDs\n",
-      " : (null)\n",
-      "gaia_L_binwidth : log10(luminosity) bin width used to make Gaia-like HRDs\n",
-      " : (null)\n",
-      "gaia_colour_transform_method : Use this to select the method used to transform to Gaia colours from other colour schemes. GAIA_CONVERSION_UBVRI_UNIVARIATE_JORDI2010 = 0 Jordi et al.'s univariate UBVRI fits, GAIA_CONVERSION_UBVRI_BIVARIATE_JORDI2010 = 1 Jordi et al.'s bivariate UBVRI fits, GAIA_CONVERSION_ugriz_UNIVARIATE_JORDI2010 = 2 Jordi et al.'s univariate UBVRI fits, GAIA_CONVERSION_ugriz_BIVARIATE_JORDI2010 = 3 Jordi et al.'s univariate ugriv fits, GAIA_CONVERSION_UBVRI_UNIVARIATE_EVANS2018 = 4 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_ugriz_UNIVARIATE_EVANS2018 = 5 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_UBVRI_RIELLO2020 = 6 Riello et al. (2020, DR3) fits, GAIA_CONVERSION_ugriz_RIELLO2020 = 7 Riello et al. (2020, DR3) fits. : (null)\n",
-      "rotationally_enhanced_mass_loss : Set to 1 to enable rotationally enhanced mass loss rate algorithms: 0= none, 1=formula cf. Langer models (=ROTATIONALLY_ENHANCED_MASSLOSS_LANGER_FORMULA), 2=limit accretion rate before wind loss is applied, 3 = both 1 and 2. See also rotationally_enhanced_exponent : (null)\n",
-      "AGB_core_algorithm : Algorithm to use for calculating AGB core masses. 0=Hurley et al. 2002 if no NUCSYN, Karakas 2002 if NUCSYN is defined; 1=Hurley et al. 2002 (overshooting models); 1=Karakas 2002 (non-overshooting models). : (null)\n",
-      "AGB_radius_algorithm : Algorithm to use for calculating radii on the TPAGB. : (null)\n",
-      "AGB_luminosity_algorithm : Algorithm to use for calculating luminosities on the TPAGB. : (null)\n",
-      "AGB_3dup_algorithm : Algorithm to use for calculating third dredge up efficiency on the TPAGB. : (null)\n",
-      "overspin_algorithm : Algorithm to determine what we do when a star is rotating at its breakup velocity. OVERSPIN_BSE (0) conservatively transfers the angular momentum back to the orbit. OVERSPIN_MASSLOSS uses the rotationally_enhanced_massloss parameter to lose mass which carries away the angular momentum. : (null)\n",
-      "rotationally_enhanced_exponent : The exponent (power) by which rotationally enhanced mass loss is raised. Requires ROTATIONALLY_ENHANCED_MASS_LOSS. See also rotationally_enhanced_mass_loss. : (null)\n",
-      "batchmode : Set the batchmode control variable. Use only if you know what you are doing! : (null)\n",
-      "speedtests : If True, turns on speedtests during version information (off by default). : (null)\n",
-      "use_fixed_timestep_%d : Set to True to use fixed timestep <n>, False to turn off. Fixed timesteps are on (this is True) by default. : (null)\n",
-      "task%d : Control tasks to be performed by binary_c. By default, these are all TRUE. For more information see binary_c_macros.h, particularly the BINARY_C_TASK_* macros. : (null)\n",
-      "orbiting_object : Usage: --orbiting_object mass,spinrate,central_object,period. : 1.0\n",
-      "orbiting_objects_log : If True, turn on orbiting-object log. : (null)\n",
-      "orbiting_objects_log : If True, turn on orbiting-object log. : (null)\n",
-      "orbiting_objects_wind_accretion_multiplier : Multiplier for wind accretion on orbiting objects. Hurley et al 2002 use 1.5, which is the default. : (null)\n",
-      "orbiting_objects_close_pc_threshold : How close are orbiting objects allowed to be? Set this to be the absolute percentage difference minimum. : (null)\n",
-      "orbiting_objects_tides_multiplier : Multiplier for tidal torques on orbiting objects. : (null)\n",
-      "evaporate_escaped_orbiting_objects : If True, evaporate orbiting objects that have escaped the system. : (null)\n",
-      "RLOF_transition_objects_escape : If True, objects that escape their Roche lobe are ejected from the system, otherwise they are placed just outside the minimum stable orbit. : (null)\n",
-      "PN_resolve : If True, the timestep will be shortened to resolve better the PN phase (FALSE). : (null)\n",
-      "PN_resolve_minimum_luminosity : The luminosity above which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_resolve_maximum_envelope_mass : The envelope mass below which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_resolve_minimum_effective_temperature : The minimum effective temperature above which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_fast_wind : If True, thin-envelope PNe will have fast winds (FALSE). : (null)\n",
-      "PN_fast_wind_dm_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)\n",
-      "PN_fast_wind_mdot_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)\n",
-      "PN_fast_wind_dm_AGB : The envelope mass below which fast wind used during the AGB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)\n",
-      "PN_fast_wind_mdot_AGB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)\n",
-      "HeWD_HeWD_ignition_mass : HeWD-HeWD mergers above this mass reignite helium. (0.3) : (null)\n",
-      "wind_Nieuwenhuijzen_luminosity_lower_limit : Above this luminosity we activate the Nieuwenhuijzen and de Jager wind (4e3 Lsun). : (null)\n",
-      "wind_LBV_luminosity_lower_limit : Above this luminosity we activate the LBV wind (6e5 Lsun). : (null)\n",
-      "colour%d : Sets colour %d (0 to NUM_ANSI_COLOURS-1) to the extended ANSI set colour you choose (1-255, 0 means ignore). The colour numbers are defined in src/logging/ansi_colours.h : (null)\n",
-      "apply_Darwin_Radau_correction : Apply Darwin-Radau correction to the moment of inertia to take rotation into account? : (null)\n",
-      "degenerate_core_merger_nucsyn : If TRUE, assume that in a degnerate core merger, energy is generated from nucleosynthesis of the whole core, and that this can disrupt the core. The BSE algorithm (Hurley et al. 2002) assumes this to be TRUE, but binary_c assumes FALSE by default. (FALSE) : (null)\n",
-      "degenerate_core_helium_merger_ignition : If TRUE, assume that when there is a degenerate helium core merger, the star reignites helium. This is required to make R-type carbon stars. (TRUE) : (null)\n",
-      "degenerate_core_merger_dredgeup_fraction : If non-zero, mix this fraction of the degenerate core during a merger.(0.0). : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Binary\n",
-      "############################################################\n",
-      "separation : Set the orbital separation (actually the semi-major axis) of the binary (internal index 0, stellar indices 0 and 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "separation_triple : Set the orbital separation (actually the semi-major axis) of the triple (internal index 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "separation_quadruple : Set the orbital separation (actually the semi-major axis) of the quadruple (internal index 2) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "orbital_period : Set the initial orbital period of the binary, stars 1 and 2 (internal indices 0 and 1) in days. See also separation. : (null)\n",
-      "orbital_period_triple : Set the initial orbital period of the triple in days. See also separation. : (null)\n",
-      "orbital_period_quadruple : Set the orbital period of the outer binary in a quadrulple (stars 3 and 4, internal indices 2 and 3) in days. See also separation. : (null)\n",
-      "eccentricity : Set the initial eccentricity of the binary orbit (stars 1 and 2, internal indices 0 and 1). : (null)\n",
-      "eccentricity_triple : Set the initial eccentricity of the triple orbit. : (null)\n",
-      "eccentricity_quadruple : Set the initial eccentricity of the outer binary of a quadruple (stars 3 and 4, internal indices 2 and 3). : (null)\n",
-      "incliniation : Set the initial orbital_inclination of the binary relative to zero. : (null)\n",
-      "incliniation_triple : Set the initial orbital_inclination of the triple orbit relative to zero. : (null)\n",
-      "incliniation_quadruple : Set the initial orbital_inclinationy of the quadruple orbit relative to zero. : (null)\n",
-      "orbital_phase : Set the initial orbital phase of the binary orbit. : (null)\n",
-      "orbital_phase_triple : Set the initial orbital phase of the triple orbit. : (null)\n",
-      "orbital_phase_quadruple : Set the initial orbital phase of the quadruple orbit. : (null)\n",
-      "argument_of_periastron : Set the initial argument of periastron of the binary orbit. : (null)\n",
-      "argument_of_periastron_triple : Set the initial argument of periastron of the triple orbit. : (null)\n",
-      "argument_of_periastron_quadruple : Set the initial argument of periastron of the quadruple orbit. : (null)\n",
-      "disc_timestep_factor : Factor that multiplies the natural timestep of a disc. : (null)\n",
-      "white_dwarf_cooling_model : White dwarf cooling model, relates age to luminosity. WHITE_DWARF_COOLING_MESTEL = 0 is Mestel's model, WHITE_DWARF_COOLING_MESTEL_MODIFIED = 1 is Hurley's modified Mestel model, WHITE_DWARF_COOLING_CARRASCO2014 = 2 is based on Carrasco (2014) tables.   : (null)\n",
-      "white_dwarf_radius_model : White dwarf radius model, radius to mass (and perhaps age). WHITE_DWARF_RADIUS_NAUENBERG1972 = 0 Nauenberg (1972), WHITE_DWARF_RADIUS_MU = 1 mu-dependent variant, WHITE_DWARF_RADIUS_CARRASCO2014 = 2 is based on Carrasco (2014) tables. : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_accretion_method : Chooses where the mass that is accreted from the inner edge of a circumbinary disc goes, i.e. to which star. 0 = Young and Clarke 2015, 1 = Gerosa et al 2015, 2 = 50:50 (i.e. not dependence on mass). : (null)\n",
-      "cbdisc_inner_edge_stripping : If True, allow inner edge mass stripping. : (null)\n",
-      "cbdisc_end_evolution_after_disc : If True, stop evolution when a disc evaporates. : (null)\n",
-      "cbdisc_no_wind_if_cbdisc : If True, disable stellar winds when there is a circumbinary disc. : (null)\n",
-      "cbdisc_outer_edge_stripping : If True, allow outer edge mass stripping. : (null)\n",
-      "disc_n_monte_carlo_guesses : Number of monte carlo guesses to try in the disc solver if the normal list of guesses fails (0). : (null)\n",
-      "disc_log : If 1, turn on the disc log. Requires DISC_LOG to be defined on build. : (null)\n",
-      "disc_log2d : If 1, turn on the 2d disc log. Requires DISC_LOG to be defined on build. : (null)\n",
-      "disc_log_dt : If non-zero, only allows disc log output every disc_log_dt Myr. : (null)\n",
-      "disc_log_directory : Directory into which disc logging is sent (must exist!). : /tmp/\n",
-      "post_ce_adaptive_menv : If TRUE, and if post_ce_objects_have_envelopes is TRUE, then the envelope mass of a post-CE star is such that it sits just inside its Roche lobe. If FALSE then a fixed (thin) envelope mass is applied that depends on the stellar type (see macros POST_CE_ENVELOPE_DM_GB, POST_CE_ENVELOPE_DM_EAGB and POST_CE_ENVELOPE_DM_TPAGB). : (null)\n",
-      "post_ce_objects_have_envelopes : If TRUE then post-common-envelope objects have thin envelopes. You need this if you are to have post-CE post-AGB stars. Note that this *may* be unstable, i.e. you may end up having many CEEs. The mass in the envelope is controlled by post_ce_adaptive_menv. TRUE by default. : (null)\n",
-      "PN_comenv_transition_time : post-common envelope transition time in years (1e2).  This is the time taken to move from CEE ejection to Teff > 30e4 K. Hall et al. (2013) suggest ~100 years. : (null)\n",
-      "minimum_time_between_PNe : The minimum time (Myr) between planetary nebula detections. This prevents multiple, fast common envelopes triggering two PNe (0.1). : (null)\n",
-      "PN_Hall_fading_time_algorithm : In stars with low mass (<0.45Msun) cores, you can choose to set the PN fading time to either the minimum (PN_HALL_FADING_TIME_ALGORITHM_MINIMUM) or maximum (PN_HALL_FADING_TIME_ALGORITHM_MAXIMUM) as shown in Fig. 6 of Hall et al. (2013). : (null)\n",
-      "PPN_envelope_mass : Desired pre-planetary nebula (post-AGB) envelope mass. : (null)\n",
-      "cbdisc_eccentricity_pumping_method : Select from various eccentricity-pumping methods when there is a circumbinary disc. Requires DISCS. 0 = off. : (null)\n",
-      "cbdisc_viscous_photoevaporative_coupling : Set to 1 to turn on viscous-photoevaporative coupling in circumbinary discs. Requires DISCS. 0 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_NONE = off, 1 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_INSTANT instant, 2 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_VISCOUS slow, viscous wind. : (null)\n",
-      "cbdisc_inner_edge_stripping_timescale : Defines the timescale for mass loss from by inner edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_in. : (null)\n",
-      "cbdisc_outer_edge_stripping_timescale : Defines the timescale for mass loss from by outer edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_out. : (null)\n",
-      "cbdisc_viscous_L2_coupling : Set to 1 to turn on viscous-L2-loss coupling in circumbinary discs. Requires DISCS. 0 = off. : (null)\n",
-      "gravitational_radiation_model : Model for gravitational radiation from the system. 0=Hurley et al 2002 (Landau and Lifshitz 1951). 1 = as 0 but only when there is no RLOF. 2 = none. : (null)\n",
-      "nova_irradiation_multiplier : Multiplier for nova-radiative induced mass loss. (Shara+1986) : (null)\n",
-      "gravitational_radiation_modulator_J : Modulator for gravitational wave radiation angular momentum loss rate (1.0). : (null)\n",
-      "gravitational_radiation_modulator_e : Modulator for gravitational wave radiation eccentricity pumping rate (1.0). : (null)\n",
-      "nova_faml_multiplier : Nova friction-induced angular momentum loss multiplier. (Shara+1986) : (null)\n",
-      "RLOF_angular_momentum_transfer_model : Choose angular momentum transfer model in RLOF. 0=BSE (with discs), 1=conservative : (null)\n",
-      "post_SN_orbit_method : Method by which the post-SN orbit is calculated. 0=BSE, 1=Tauris&Taken 1998. : (null)\n",
-      "multiplicity : Multiplicity: 1=single star, 2=binary, 3=triple, 4=quadruple. : (null)\n",
-      "accretion_limit_eddington_steady_multiplier : Steady accretion is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_steady_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_eddington_LMMS_multiplier : Accretion from a low-mass, convective, main_sequence star is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_LMMS_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_eddington_WD_to_remnant_multiplier : Accretion from a WD onto a remnant star (e.g. another white dwarf, neutron star or black hole) is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_WD_to_remnant_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_thermal_multiplier : Mass transfer onto a MS, HG or CHeB star is limited by the accretor's thermal rate times this multiplier. : (null)\n",
-      "accretion_limit_dynamical_multiplier : Mass transfer is limited by the accretor's dynamical rate times this multiplier. : (null)\n",
-      "donor_limit_envelope_multiplier : Mass transfer by RLOF is limited by this fraction of the donor's envelope mass per timestep : (null)\n",
-      "donor_limit_thermal_multiplier : Mass transfer by RLOF is limited by the accretor's thermal rate times this multiplier. : (null)\n",
-      "donor_limit_dynamical_multiplier : Mass transfer by RLOF is limited by the donor's dynamical rate times this multiplier. : (null)\n",
-      "Bondi_Hoyle_accretion_factor : Wind accretion rate, as calculated by the Bondi-Hoyle-Littleton formula, multiplcation factor. Hurley et al 2002 use 1.5, which is the default. : (null)\n",
-      "tidal_strength_factor : A modulator for the tidal strength. If this factor > 1 then tides are stronger, i.e. tidal timescales are reduced. : (null)\n",
-      "hachisu_qcrit : Critical q=Maccretor/Mdonor above which Hachisu's disk wind turns on. : (null)\n",
-      "hachisu_disk_wind : Set to True to turn on Hachisu's disk wind when material accretes too fast onto a white dwarf. This helps to make more SNeIa. See also hachisu_qcrit. : (null)\n",
-      "mass_accretion_for_eld : The mass that must be accreted onto a COWD for it to ignite as an edge-lit detonation SNIa. : (null)\n",
-      "WDWD_merger_algorithm : Algorithm to be used when merging two white dwarfs. 0 = Hurley et al. (2002), 1 = Perets+ (2019), 2 = Chen+ (2016, todo)  : (null)\n",
-      "type_Ia_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from Chandrasekhar-mass exploders. 0 = DD7 (Iwamoto 1999), 1 = Seitenzahl 2013 3D hydro yields (you must also set Seitenzahl2013_model)  : (null)\n",
-      "Seitenzahl2013_model : Which of Seitenzahl et al. 2013's models to use? One of N1,N3,N5,N10,N20,N40,N100L,N100,N100H,N150,N200,N300C,N1600,N1600C,N100_Z0.5,N100_Z0.1,N100_Z0.01 (defaults to N100). : N1\n",
-      "type_Ia_sub_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from sub-Chandrasekhar-mass exploders. (Currently unused.) : (null)\n",
-      "max_HeWD_mass : The maximum mass a HeWD can have before it ignites helium (0.7). : (null)\n",
-      "merger_mass_loss_fraction : Fraction of the total mass which is lost when stars merge. : (null)\n",
-      "merger_angular_momentum_factor : When two stars merge the resulting single star retains a fraction of the total system angular momentum (or the critical spin angular momentum, if it is smaller) multiplied by this factor. : (null)\n",
-      "wind_angular_momentum_loss : Prescription for losing angular momentum in a stellar wind. 0=Hurley et al 2002 ('Tout') prescription, 1=lw i.e. a factor multiplying the specific orbital angular momentum, 2=lw hybrid for fast winds. Set wind_djorb_fac to the desired factor.. : (null)\n",
-      "wind_djorb_fac : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=0 (the Tout/Hurley et al 2002 prescription). See wind_angular_momentum_loss. : (null)\n",
-      "lw : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=1,2 (the 'lw' prescription). See wind_angular_momentum_loss. : (null)\n",
-      "VW93_EAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)\n",
-      "VW93_TPAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)\n",
-      "use_periastron_Roche_radius : Set this to True to use the Roche lobe radius at periastron, rather than (the default to) assume a circular orbit. This will be useful one day when we treat RLOF in eccentric orbits properly, hopefully. : (null)\n",
-      "qcrit_LMMS : Apply critical q=Mdonor/Maccretor value for low-mass main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_LMMS : Apply critical q=Mdonor/Maccretor value for (low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "mass_for_Hestar_Ia_upper : Only helium stars below this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_lower. : (null)\n",
-      "mass_for_Hestar_Ia_lower : Only helium stars above this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_upper. : (null)\n",
-      "alphaCB : Circumbinary disk viscosity parameter, alpha. : (null)\n",
-      "minimum_donor_menv_for_comenv : Minimum donor envelope mass for common envelope evolution to be triggered (Msun). Default 0. : (null)\n",
-      "comenv_prescription : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)\n",
-      "comenv_prescription%d : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)\n",
-      "comenv_ejection_spin_method : When a common envelope is ejected, we need to decide how fast the stars are left spinning. COMENV_EJECTION_SPIN_METHOD_DO_NOTHING (0) is the default, this just leaves the stars/stellar cores spinning with the same spin rate (omega = angular velocity) with which they entered the common envelope phase. COMENV_EJECTION_SPIN_METHOD_SYCHRONIZE instead tidally synchronizes the stars with their new orbital angular velocity. : (null)\n",
-      "comenv_merger_spin_method : When a common envelope binary merges, we need to decide how fast the resulting single star is left spinning. COMENV_MERGER_SPIN_METHOD_SPECIFIC (0) is the default, this preserves angular momentum but limits the specific angular momentum of the merged star to the specific angular momentum of the system at the onset of common envelope evolution. COMENV_MERGER_SPIN_METHOD_CONSERVE_ANGMOM (1) sets the merger's angular momentum to be that of the system at the onset of common envelope evolution (which means the star may be rotating supercritically). COMENV_MERGER_SPIN_METHOD_CONSERVE_OMEGA (2) sets the spin rate (angular frequency = omega) of the merged star to be that of the orbit just at the onset of common envelope evolution. : (null)\n",
-      "comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)\n",
-      "comenv_ms_accretion_fraction : Experimental. During common envelope evolution, a main sequence may accrete a fraction of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_mass. : (null)\n",
-      "comenv_ns_accretion_mass : Experimental. During common envelope evolution, a neutron star may accrete some of the envelope's mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_fraction. : (null)\n",
-      "comenv_ns_accretion_fraction : Experimental. During common envelope evolution, a neutron star may accrete a fraction of the envelope's mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_mass. : (null)\n",
-      "alpha_ce : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)\n",
-      "alpha_ce%d : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)\n",
-      "lambda_ce : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to LAMBDA_CE_DEWI_TAURIS == -1 binary_c uses the Dewi and Tauris fits instead, LAMBDA_CE_WANG_2016 == -2 uses the formalism of Wang, Jia and Li (2016), if LAMBDA_CE_POLYTROPE == -3 then a polytropic formalism is used (see also comenv_splitmass) and if LAMBDA_CE_KLENCKI_2020 == -4 use Klencki et al. (2020). : (null)\n",
-      "lambda_ce%d : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to -1 binary_c uses the Dewi and Tauris fits instead, -2 uses the formalism of Wang, Jia and Li (2016) and if -3 then a polytropic formalism is used (see also comenv_splitmass). : (null)\n",
-      "comenv_splitmass : When lambda_ce=-2, the envelope binding energy, lambda, is calculated using a polytropic formalism. The comenv_splitmass defines the point, in the units of the core mass, above which material is ejected. : (null)\n",
-      "nelemans_recalc_eccentricity : If True, recalculate the eccentricity after angular momentum is removed.  : (null)\n",
-      "comenv_post_eccentricity : Eccentricity remaining after common envelope ejection. : (null)\n",
-      "nelemans_gamma : Set the fraction of the orbital specific angular momentum that is used to eject the common envelope according to the Nelemans and Tout prescription. See also nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)\n",
-      "nelemans_minq : Only activate the Nelemans and Tout common envelope prescription for q>nelemans_minq. See also nelemans_gamma, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)\n",
-      "nelemans_max_frac_j_change : Maximum fractional angular momentum change in the Nelemans and Tout common envelope prescription. See also nelemans_gamma, nelemans_minq, nelemans_n_comenvs. : (null)\n",
-      "nelemans_n_comenvs : Set the maximum number of common envelope ejections allowed to follow the Nelemans and Tout prescription, after which the standard alpha prescription is used. : (null)\n",
-      "lambda_ionisation : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)\n",
-      "lambda_ionisation%d : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)\n",
-      "lambda_enthalpy : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)\n",
-      "lambda_enthalpy%d : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)\n",
-      "cbdisc_albedo : Circumbinary-disc albedo. Requires DISCS. : (null)\n",
-      "cbdisc_gamma : Circumbinary disc gamma (equation of state) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_alpha : Circumbinary disc alpha (viscosity) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_kappa : Circumbinary disc kappa (opacity) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_evaporation_timescale : Circumbinary disc minimum evaporation timescale (years). If (slow, not edge stripped) mass loss would evaporate the disc on a timescale less than this, simply evaporate the disc immediated. Usually set to 1y, ignore if zero. Requires DISCS. : (null)\n",
-      "cbdisc_torquef : Circumbinary disc binary torque multiplier. Requires DISCS. : (null)\n",
-      "cbdisc_max_lifetime : Circumbinary disc maximum lifetime (years, ignored if 0). Requires DISCS. : (null)\n",
-      "cbdisc_init_dM : On cbdisc start, reduce mass by a fraction dM if it won't converge. Requires DISCS. : (null)\n",
-      "cbdisc_init_dJdM : On cbdisc start, reduce angular momentum by a fraction dJ/dM*dM if it won't converge. Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_constant_rate : Circumbinary disc constant mass loss rate (Msun/year). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_FUV_multiplier : Circumbinary disc FUV mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_Xray_multiplier : Circumbinary disc X-ray mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_ISM_ram_pressure_multiplier : Circumbinary disc interstellar medium ram pressure stripping mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_ISM_pressure : Circumbinary disc interstellar medium ram pressure in units of Boltzmann constant per Kelvin (I think...). Requires DISCS. Typically 3000.0. See e.g. http://www.astronomy.ohio-state.edu/~pogge/Ast871/Notes/Intro.pdf page 15 or https://arxiv.org/pdf/0902.0820.pdf Fig. 1 (left panel). : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_multiplier : Circumbinary disc inner edge viscous mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_angular_momentum_multiplier : Circumbinary disc inner edge viscous angular momentum multiplier (no units). The inner edge angular momentum Requires DISCS. : (null)\n",
-      "cbdisc_resonance_multiplier : Circumbinary disc resonant interaction multiplier, affects eccentricity pumping and angular momentum rates. Requires DISCS. : (null)\n",
-      "cbdisc_resonance_damping : Circumbinary disc resonant interaction damping: should be on (True) to damp the l=1, m=2 resonance when the disc inner edge lies outside the resonance location. Requires DISCS. : (null)\n",
-      "cbdisc_fail_ring_inside_separation : If True, while converging on a structure, circumbinary discs with Rring < the binary separation are immediately failed. : (null)\n",
-      "cbdisc_mass_loss_inner_L2_cross_multiplier : Circumbinary disc inner edge L2-crossing mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_minimum_luminosity : Circumbinary disc minimum luminosity. If the disc becomes dimmer than this, the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_mass : Circumbinary disc minimum mass. If the disc becomes less massive than this, the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_fRing : Circumbinary disc minimum fRing. If the disc becomes a ring, and fRing = |Rout/Rin-1| < this value (and this value is non-zero), the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "comenv_disc_angmom_fraction : If >0 Fraction of the common envelope's angular momentum that goes into the circumbinary disc. If -1 then uses the moments of inertia to calculate (deprecated), if -2 use the common envelope's specific angular momentum, if -3 uses the L2 point at the end of the common envelope to set the angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)\n",
-      "comenv_disc_mass_fraction : Fraction of the common envelope's mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)\n",
-      "wind_disc_angmom_fraction : If >0 Fraction of the wind envelope's angular momentum that goes into the circumbinary disc. If -1 then uses the L2 point's specific angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)\n",
-      "wind_disc_mass_fraction : Fraction of the stellar wind's mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)\n",
-      "WRLOF_method : Choose whether and how to apply wind-Roche-lobe-overflow. 0=none, 1=q-dependent, 2=quadratic See Abate et al 2013/14 for details. Requires WRLOF_MASS_TRANSFER. : (null)\n",
-      "minimum_timestep : The minimum timestep (Myr). : (null)\n",
-      "timestep_solver_factor : Factor applied in timestep_limits, e.g. to prevent X changing too fast by comparing to X/dX/dt, which is usually 1 but can be higher to lengthen timesteps when using an alternative solver. : (null)\n",
-      "RLOF_mdot_factor : Multiplier applied to the mass transfer rate during Roche-lobe overflow. Requires RLOF_MDOT_MODULATION. : (null)\n",
-      "RLOF_f : Factor to enlarge a Roche lobe, nominally because of radiation pressure (see Dermine et al paper). Requires RLOF_RADIATION_CORRECTION. : (null)\n",
-      "minimum_separation_for_instant_RLOF : If True, instead of evolving the system just report the minimum separation (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_orbital_period_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)\n",
-      "minimum_orbital_period_for_instant_RLOF : If True, instead of evolving the system just report the minimum orbital period (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_separation_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)\n",
-      "maximum_mass_ratio_for_instant_RLOF : If True, instead of evolving the system just report the maximum mass ratio (on the zero-age main sequence) that would lead to instant RLOF, given M1 and orbital period. Used by binary_grid. See also minimum_separation_for_instant_RLOF and minimum_orbital_period_for_instant_RLOF. : (null)\n",
-      "RLOF_method : Use RLOF_method to choose the algorithm you use for Roche-lobe overflow mass loss rate calculations. 0=Hurley et al 2002, 1=Adaptive (for radiative stars) R=RL method, 2=Ritter (probably broken), 3=Claeys etal 2014 variant on Hurley et al 2002. : (null)\n",
-      "RLOF_interpolation_method : When a star overflows its Roche lobe, it always has R>RL because of the limited time resolution of the simulation. Binary_c then uses an algorithm to get back to when R~RL (within a desired tolerance, set in RLOF_ENTRY_THRESHOLD which is usually 1.02, i.e. overflow of 2%). You can choose algorithm 0, the Hurley et al 2002 method which reverses time (i.e. uses a Newton-like scheme), or 1 to use the binary_c method which rejects a timestep (and hence does no logging on that timestep) and repeats with half the timestep until R~RL. The latter is now the default, because this means there are no negative timesteps which break various other algorithms (e.g. nucleosynthesis). : (null)\n",
-      "nova_retention_fraction : The mass accreted during a nova as fraction of mass transferred : (null)\n",
-      "beta_reverse_nova : The fraction of mass ejected in a nova explosion which is accreted back onto the companion star. Set to -1 to automatically calculate based on a geometric argument, or 0 or positive to set the value. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_hydrogen_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is hydrogen rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_helium_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is helium rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_other_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is neither hydrogen nor helium rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a hydrogen-rich donor. Below this mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a helium-rich donor. Below this mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_other_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope when the donor is neither hydrogen nor helium rich. Below this mass transfer leads to stable burning. : (null)\n",
-      "CRAP_parameter : Tidally enhanced mass loss parameter. See Tout and Eggleton's paper on the subject. (Was the parameter bb). : (null)\n",
-      "individual_novae : If individual_novae is True, novae are resolved such that each explosion is performed separtaely. : (null)\n",
-      "nova_timestep_accelerator_num : The nova timestep is accelerated if the nova number exceeds nova_timestep_accelerator_num. If zero or negative, acceleration is off. See also nova_timestep_accelerator_index and nova_timestep_accelerator_max. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nova_timestep_accelerator_index : The index at which the nova timestep is accelerated. A larger value gives longer timesteps. See also nova_timestep_accelerator_num and nova_timestep_accelerator_max. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nova_timestep_accelerator_max : The nova timestep is accelerated by a factor that is capped at nova_timestep_accelerator_max. This parameter is ignored if it is zero or negative. See also nova_timestep_accelerator_num and nova_timestep_accelerator_index. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nonconservative_angmom_gamma : Mass lost from the system (but NOT from a stellar wind) takes a fraction gamma of the orbital angular momentum with it. Set to -1 to take the specific angular momentum of the donor star. Set to -2 to take super-Eddington, nova and disk-wind angular momenta as if a wind from the accretor. : (null)\n",
-      "max_stellar_angmom_change : Maxmimum fractional change in stellar angular momentum allowed before a timestep is rejected (0.05). : (null)\n",
-      "comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Nucsyn\n",
-      "############################################################\n",
-      "third_dup : If True, enables third dredge up. Requires NUCSYN and NUCSYN_THIRD_DREDGE_UP. : (null)\n",
-      "third_dup_multiplier : Usage: --third_dup_multiplier <i> <f>. Multiplies the abundance of element <i> by <f> during third dredge up. : 1.0\n",
-      "NeNaMgAl : Enables NeNaMgAl reaction network. Requires NUCSYN and NUCSYN_HBB. : Ignore\n",
-      "nucsyn_network%d : Usage: --nucsyn_network%d <boolean>. Turn a nuclear network on or off. : (null)\n",
-      "nucsyn_network_error%d : Usage: --nucsyn_network_error%d <f>. Threshold error in nuclear network solver for network %d. : (null)\n",
-      "nucreacmult%d : Usage: --nucreacmult%d <f>. Multiply nuclear reaction given by the integer %d (integer) by f (float).  : (null)\n",
-      "nucsyn_metallicity : This sets the metallicity of the nucleosynthesis algorithms, i.e. the amount (by mass) of matter which is not hydrogen or helium. Usually you'd just set this with the metallicity parameter, but if you want the nucleosynthesis to be outside the range of the stellar evolution algorithm (e.g. Z=0 or Z=0.04) then you need to use nucsyn_metallicity. That said, it's also outside the range of some of the nucleosynthesis algorithms as well, so you have been warned! : (null)\n",
-      "nucsyn_solver : Choose the solver used in nuclear burning. 0 = KAPS_RENTROP is a Kaps-Rentrop scheme (fast, not great for stiff problems), 1 = LSODA (Adams/BSF switcher), 2 = CVODE library (https://computing.llnl.gov/projects/sundials. Default 0.  : 0\n",
-      "initial_abundance_mix : initial abundance mixture: 0=AG89, 1=Karakas 2002, 2=Lodders 2003, 3=Asplund 2005 (not available?), 4=Garcia Berro, 5=Grevesse Noels 1993 : 0\n",
-      "init_abund : Usage: --init_abund <i> <X>. Sets the initial abundance of isotope number <i> to mass fraction <X>. : 0.02\n",
-      "init_abund_mult : Usage: --init_abund_mult <i> <f>. Multiplies the initial abundance of isotope number <i> by <f>. : 1.0\n",
-      "init_abund_dex : Usage: --init_abund_dex <i> <f>. Changes the initial abundance of isotope number <i> by <f> dex. : 0.0\n",
-      "init_abunds_only : If True, outputs only the initial abundances, then exits. : (null)\n",
-      "initial_abunds_only : If True, outputs only the initial abundances, then exits. : (null)\n",
-      "no_thermohaline_mixing : If True, disables thermohaline mixing. : (null)\n",
-      "lithium_GB_post_Heflash : Sets the lithium abundances after the helium flash. Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "lithium_GB_post_1DUP : Sets the lithium abundance after first dredge up. Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "lithium_hbb_multiplier : Multiplies the lithium abundances on the AGB during HBB (based on Karakas/Fishlock et al models).Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "angelou_lithium_decay_function : Functional form which describes Li7 decay. Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Choices are : 0 expoential (see angelou_lithium_decay_time). : (null)\n",
-      "angelou_lithium_LMMS_time : Time at which lithium manufacture is triggered in a low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_time : Time at which lithium manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_time : Time at which lithium manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_time : Time at which lithium manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_time : Time at which lithium manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_time : Time at which lithium manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_time : Time at which lithium manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_LMMS_decay_time : Decay time for surface lithium abundance during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_decay_time : Decay time for surface lithium abundance on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_decay_time : Decay time for surface lithium abundance on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_decay_time : Decay time for surface lithium abundance on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_decay_time : Decay time for surface lithium abundance during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_decay_time : Decay time for surface lithium abundance on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_decay_time : Decay time for surface lithium abundance on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_LMMS_massfrac : Lithium mass fraction when its manufacture is triggered during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_massfrac : Lithium mass fraction when its manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_massfrac : Lithium mass fraction when its manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_massfrac : Lithium mass fraction when its manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_massfrac : Lithium mass fraction when its manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_vrot_trigger : Equatorial rotational velocity at which lithium manufacture is triggered (km/s). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.\n",
-      " : (null)\n",
-      "angelou_lithium_vrotfrac_trigger : Fraction of Keplerian (breakup) equatorial rotational velocity at which lithium manufacture is triggered (must be <1, ignored if 0). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.\n",
-      " : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Output\n",
-      "############################################################\n",
-      "cf_amanda_log : Enable logging to compare to Amanda's models. : (null)\n",
-      "float_overflow_checks : Turn on to enable floating-point overflow checks at the end of each timestep, if they are available. 0=off, 1=warn (stderr) on failure, 2=exit on failure (0) : (null)\n",
-      "save_pre_events_stardata : Enable this to save a copy of stardata to stardata->pre_events_stardata just before an event. : (null)\n",
-      "disable_end_logging : Disable the logging that happens at the end of the evolution. : (null)\n",
-      "ensemble : Turn on ensemble calculations and output. : (null)\n",
-      "ensemble_filters_off : Sets all ensemble filters to be off (FALSE) - these can then be enabled one-by-one with --ensemble_filter_[...] TRUE. : (null)\n",
-      "ensemble_filter_%d : Turn on or off ensemble filter <n>. For a list of filters, see ensemble_macros.h. : (null)\n",
-      "ensemble_legacy_ensemble : Turn on ensemble legacy population output. : (null)\n",
-      "legacy_yields : Turn on ensemble legacy yield output. : (null)\n",
-      "ensemble_defer : Defer ensemble output. : (null)\n",
-      "ensemble_dt : When doing ensemble calculations, data are stored and/or output every ensemble_dt Myr. See also ensemble, ensemble_logdt, ensemble_startlogtime. : (null)\n",
-      "ensemble_logdt : When doing ensemble calculations, and when logensembletimes is set, the ensemble is stored/output every ensemble_logdt Myr. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)\n",
-      "ensemble_startlogtime : Start log ensemble data storage/calculations/output at ensemble_startlogtime. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)\n",
-      "ensemble_logtimes : When doing ensemble calculations/output, set this to act at log times rather than linear times. : (null)\n",
-      "postagb_legacy_logging : Turn on post-AGB legacy logging. : (null)\n",
-      "disc_legacy_logging : Turn on disc legacy logging. : (null)\n",
-      "EMP_logg_maximum : Maximum logg that EMP stars are allowed to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_minimum_age. : (null)\n",
-      "EMP_minimum_age : Minimum age that EMP stars are required to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum. : (null)\n",
-      "EMP_feh_maximum : Maximum [Fe/H] that an EMP stars may have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default -2.0. : (null)\n",
-      "CEMP_cfe_minimum : Minimum [C/Fe] that CEMP stars are required to have. See Izzard et al 2009. See also NEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 0.7. : (null)\n",
-      "NEMP_cfe_minimum : Minimum [N/Fe] that NEMP stars are required to have. See Izzard et al 2009, Pols et al. 2012. See also CEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 1.0. : (null)\n",
-      "thick_disc_start_age : Lookback time for the start of the thick disc star formation, e.g. 13e3 Myr. Units = Myr. : (null)\n",
-      "thick_disc_end_age : Lookback time for the end of the thick disc star formation, e.g. 4e3 Myr. Units = Myr. : (null)\n",
-      "thick_disc_logg_min : Minimum logg for thick disc giants to be logged. : (null)\n",
-      "thick_disc_logg_max : Maximum logg for thick disc giants to be logged. : (null)\n",
-      "escape_velocity : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 1e9 km/s. See also escape_fraction. : (null)\n",
-      "escape_fraction : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 0.0. See also escape_velocity. : (null)\n",
-      "colour_log : If set to True, thelog is coloured with ANSI colour formatting. Requires FILE_LOG to be defined. : \n",
-      "log_filename : Location of the output logging filename. If set to \"/dev/null\" then there is no logging. : \n",
-      "log_arrows : Add arrows to the output log to show whether values are increasing or decreasing. : \n",
-      "stopfile : File which, when it exists, will stop the current binary_c repeat run. : \n",
-      "stardata_dump_filename : Location of the stardata dump file. : \n",
-      "stardata_load_filename : Location of the stardata file to load. : \n",
-      "api_log_filename_prefix : Location of the output logging filename prefix for the API. If set to \"/dev/null\" then there is no logging. : 0\n",
-      "hrdiag_output : Set to True to output high time-resolution Hertzstrpung-Russell diagram information. Requires HRDIAG. : (null)\n",
-      "internal_buffering : Experimental. Set to non-zero values to implement internal buffering prior to output. For use with binary_grid, you shouldn't really be playing with this. : (null)\n",
-      "eccentric_RLOF_model : Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE.\n",
-      " : (null)\n",
-      "force_circularization_on_RLOF : If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) : (null)\n",
-      "wtts_log : If True, enables log file output for WTTS2. : (null)\n",
-      "fabian_imf_log_time : Time at which to output for Fabian Schneider's IMF project. Requires FABIAN_IMF_LOG : Ignore\n",
-      "fabian_imf_log_timestep : Timestep for Fabian Schneider's IMF project logging. Requires FABIAN_IMF_LOG : Ignore\n",
-      "version : Display binary_c version and build information. Also performs timing tests. : Ignore\n",
-      "dumpversion : Display binary_c version number (short format). : Ignore\n",
-      "version_only : Display binary_c version number and build information, but do not perform timing tests or anything that requires stardata to be non-NULL. : Ignore\n",
-      "tides_diagnosis_log : Enable logging to test MINT tides. Requires MINT. Choices are: 0 disabled, 1 enable lambda test. : Ignore\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Input\n",
-      "############################################################\n",
-      "MINT_dir : Location of MINT algorithm data. : \n",
-      "MINT_data_cleanup : Activate checks on incoming data to try to account for problems. Will make data-loading slower, but may fix a few things. : \n",
-      "MINT_MS_rejuvenation : Turn on or off (hydrogen) main-sequence rejuvenation. : \n",
-      "MINT_remesh : Turn on or off MINT's remeshing. : \n",
-      "MINT_use_ZAMS_profiles : Use chemical profiles at the ZAMS if MINT_use_ZAMS_profiles is TRUE, otherwise set homogeneous abundances. (Default is TRUE, so we use the profiles if they are available.) : \n",
-      "MINT_fallback_to_test_data : If TRUE, use the MINT test_data directory as a fallback when data is unavailable. (FALSE) : \n",
-      "MINT_disable_grid_load_warnings : Use this to explicitly disable MINT's warnings when loading a grid with, e.g., missing or too much data. : \n",
-      "MINT_Kippenhahn : Turn on or off MINT's Kippenhahn diagrams. If 0, off, if 1, output star 1 (index 0), if 2 output star 2 (index 1). Default 0. : \n",
-      "MINT_nshells : Set the initial number of shells MINT uses in each star when doing nuclear burning. Note: remeshing can change this. If MINT_nshells is 0, shellular burning and other routines that require shells will not be available. (200) : \n",
-      "MINT_maximum_nshells : Set the maximum number of shells MINT uses in each star when doing nuclear burning. Note that this will be limited to MINT_HARD_MAX_NSHELLS. (1000) : \n",
-      "MINT_minimum_nshells : Set the minimum number of shells MINT uses in each star when doing nuclear burning. Note that this will be greater than or equal to MINT_HARD_MIN_NSHELLS, which is 0 by default. (0) : \n",
-      "MINT_Kippenhahn_stellar_type : Stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for which Kippenhahn plot data should be output. : \n",
-      "MINT_Kippenhahn_companion_stellar_type : Companion stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for the companion for which Kippenhahn plot data should be output. : \n",
-      "MINT_nuclear_burning : Turn on or off MINT's nuclear burning algorithm. : \n",
-      "MINT_minimum_shell_mass : Minimum shell mass in MINT's nuclear burning routines. : \n",
-      "MINT_maximum_shell_mass : Maximum shell mass in MINT's nuclear burning routines. : \n",
-      "\n",
-      "############################################################\n",
-      "##### Section I/O\n",
-      "############################################################\n",
-      "go : batchmode control command : Ignore\n",
-      "gogo : batchmode control command : Ignore\n",
-      "reset_stars : Reset the star structures. Used in batchmode : Ignore\n",
-      "reset_stars_defaults : Reset the star structures and set defaults. Used in batchmode : Ignore\n",
-      "defaults : Reset all defaults. Used in batchmode : Ignore\n",
-      "echo : Activate batchmode command echoing, i.e. when you enter a command, binary_c repeats the command then executes it. : Ignore\n",
-      "noecho : Deactivate batchmode command echoing. See 'echo'. : Ignore\n",
-      "noechonow : Deactivate batchmode command echoing. See 'echo'. : Ignore\n",
-      "bye : Quit binary_c. Used in batchmode. : Ignore\n",
-      "fin : batchmode control command : Ignore\n",
-      "reset_prefs : Reset preferences struct. Used in batchmode : Ignore\n",
-      "status : Output batchmode status information. : Ignore\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Algorithms\n",
-      "############################################################\n",
-      "repeat : If > 1, repeats the system as many times as required. Handy if you're using Monte-Carlo kicks and want to sample the parameter space well. Also, if you are running speed tests this is good to give a statistically more reasonable result. (See e.g. 'tbse pgo'). : (null)\n",
-      "random_systems : Experimental. Use this to apply random initial system parameters (masses, separations, etc.). Useful for testing only. : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Misc\n",
-      "############################################################\n",
-      "random_seed : Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)\n",
-      "random_systems_seed : Random number seed for the generation of random systems. See random_systems and random_seed. : (null)\n",
-      "random_skip : Skip the first <random_seed> random numbers that are generated. Usually this is 0 so they are all used. : (null)\n",
-      "idum : [NB: deprecated, please use 'random_seed' instead.] Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)\n",
-      "reverse_time : Make time go backwards. To be considered very experimental! : (null)\n",
-      "start_time : Start time for the simulation. : (null)\n",
-      "warmup_cpu : Uses the CPU at maximum power the given number of seconds, prior to running normal stellar evolution. : Ignore\n",
-      "help : Display help pages. Usage: --help <help topic>. : Ignore\n",
-      "argopts : Display argument options. Usage: --argopts <argument>. : Ignore\n",
-      "help_all : Display all help pages. : Ignore\n",
-      "list_args : Display list of arguments with their default values. Useful for batchmode. : Ignore\n",
-      "\n"
+      "(abridged)\n"
      ]
     }
    ],
    "source": [
-    "print(_binary_c_bindings.return_help_all())"
+    "print('\\n'.join(_binary_c_bindings.return_help_all().splitlines()[:10]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -873,12 +300,14 @@
       "__ARG_BEGIN\n",
       "metallicity = 0.02\n",
       "effective_metallicity = -1\n",
-      "M_1 = 0\n"
+      "M_1 = 0\n",
+      "(abridged)\n"
      ]
     }
    ],
    "source": [
-    "print('\\n'.join(_binary_c_bindings.return_arglines().splitlines()[:4]))"
+    "print('\\n'.join(_binary_c_bindings.return_arglines().splitlines()[:4]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -966,7 +395,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -980,7 +409,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/_sources/examples/notebook_custom_logging.ipynb.txt b/docs/build/html/_sources/examples/notebook_custom_logging.ipynb.txt
index 8dfb85034..8627ffb47 100644
--- a/docs/build/html/_sources/examples/notebook_custom_logging.ipynb.txt
+++ b/docs/build/html/_sources/examples/notebook_custom_logging.ipynb.txt
@@ -23,7 +23,7 @@
     "    create_and_load_logging_function,\n",
     ")\n",
     "from binarycpython.utils.run_system_wrapper import run_system\n",
-    "from binarycpython.utils.grid import Population"
+    "from binarycpython import Population"
    ]
   },
   {
@@ -461,11 +461,19 @@
     "# print (abridged) output\n",
     "print(\"\\n\".join(output.splitlines()[-2:]))"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "c708268f-0b0c-48ea-9155-ec632a0acc3a",
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -479,7 +487,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/_sources/examples/notebook_ensembles.ipynb.txt b/docs/build/html/_sources/examples/notebook_ensembles.ipynb.txt
new file mode 100644
index 000000000..44ef8a7ef
--- /dev/null
+++ b/docs/build/html/_sources/examples/notebook_ensembles.ipynb.txt
@@ -0,0 +1,33 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d4799c94-afd8-41db-ab82-e0a6e278ed77",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "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.9.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/build/html/_sources/examples/notebook_extra_features.ipynb.txt b/docs/build/html/_sources/examples/notebook_extra_features.ipynb.txt
index 44c19c112..a0f0fc0d9 100644
--- a/docs/build/html/_sources/examples/notebook_extra_features.ipynb.txt
+++ b/docs/build/html/_sources/examples/notebook_extra_features.ipynb.txt
@@ -18,11 +18,11 @@
    "metadata": {},
    "outputs": [],
    "source": [
+    "from binarycpython import Population\n",
     "from binarycpython.utils.functions import (\n",
     "    get_help,\n",
     "    get_help_all,\n",
     "    get_help_super,\n",
-    "    return_binary_c_version_info,\n",
     "    get_defaults\n",
     ")\n",
     "# help(binarycpython.utils.functions)"
@@ -116,8 +116,7 @@
    "metadata": {},
    "source": [
     "## Build information of binary_c\n",
-    "Sometimes we want to know with which settings binary_c has been built. We can use the function `return_binary_c_version_info` for this.\n",
-    "This function will parse the version info of binary_c and return a dictionary with all the settings."
+    "It can be useful to fetch the information with which the current version of binary_c has been configured with. We can do that through the Population object, by calling the instance method `return_binary_c_version_info`. This function will parse the version info of binary_c and return a dictionary with all the settings."
    ]
   },
   {
@@ -130,13 +129,13 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'nucleosynthesis_sources', 'miscellaneous'])\n"
+      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'units', 'nucleosynthesis_sources', 'miscellaneous'])\n"
      ]
     }
    ],
    "source": [
-    "version_info_dict = return_binary_c_version_info(parsed=True)\n",
-    "print(version_info_dict.keys())"
+    "version_info = Population().return_binary_c_version_info(parsed=True)\n",
+    "print(version_info.keys())"
    ]
   },
   {
@@ -168,27 +167,11 @@
     "\n",
     "TODO:"
    ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "b3c259ef-9f89-4b26-9ce3-45af625bc398",
-   "metadata": {},
-   "source": [
-    "## Getting help\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "bf3c1e28-1662-47a7-abab-aa6fb0ef0882",
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -202,7 +185,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/_sources/examples/notebook_individual_systems.ipynb.txt b/docs/build/html/_sources/examples/notebook_individual_systems.ipynb.txt
index deb72fc55..d752fc66e 100644
--- a/docs/build/html/_sources/examples/notebook_individual_systems.ipynb.txt
+++ b/docs/build/html/_sources/examples/notebook_individual_systems.ipynb.txt
@@ -62,7 +62,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "SINGLE_STAR_LIFETIME 1 12461.2\n",
+      "SINGLE_STAR_LIFETIME 1 12461.1\n",
       "\n"
      ]
     }
@@ -90,17 +90,17 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=62172 RANDOM_COUNT=0\n",
+      "      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=22065 RANDOM_COUNT=0\n",
       "     0.0000    1.000    0.000  1  15            -1       -1   -1.00   0.000   0.000  \"INITIAL \"\n",
       " 11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  \"OFF_MS\"\n",
       " 11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 11582.2424    1.000    0.000  3  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 12325.1085    0.817    0.000  4  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 12457.1301    0.783    0.000  5  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"shrinkAGB\"\n",
-      " 12461.1627    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 15000.0000    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"MAX_TIME\"\n",
+      " 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
+      " 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"shrinkAGB\"\n",
+      " 12461.1490    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
+      " 15000.0000    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"MAX_TIME\"\n",
       "\n"
      ]
     }
@@ -236,13 +236,13 @@
       "4         0.000002       1.0          1.0          1.0\n",
       "5         0.000003       1.0          1.0          1.0\n",
       "...            ...       ...          ...          ...\n",
-      "1345  12461.080763   0.71617          1.0          6.0\n",
-      "1346  12461.162734  0.644553          1.0         11.0\n",
-      "1347  13461.162734  0.644553          1.0         11.0\n",
-      "1348  14461.162734  0.644553          1.0         11.0\n",
-      "1349       15000.0  0.644553          1.0         11.0\n",
+      "1250  12461.061259  0.718593          1.0          6.0\n",
+      "1251  12461.149038  0.678026          1.0         11.0\n",
+      "1252  13461.149038  0.678026          1.0         11.0\n",
+      "1253  14461.149038  0.678026          1.0         11.0\n",
+      "1254       15000.0  0.678026          1.0         11.0\n",
       "\n",
-      "[1349 rows x 4 columns]\n"
+      "[1254 rows x 4 columns]\n"
      ]
     }
    ],
@@ -299,10 +299,8 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options\n",
-      "adding: M_1=10 to BSE_options\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
       "SINGLE_STAR_LIFETIME 10 28.4838\n",
       "\n"
@@ -360,9 +358,9 @@
       ");\n",
       " to grid_options\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
-      "Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_dafa15d2b1e64e19972ac0e9eb5c9a55.so\n",
+      "Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_34a350b8f15c4d149deab88632948c99.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",
@@ -381,7 +379,7 @@
     "\n",
     "    stardata->star[0].stellar_type //5\n",
     ");\n",
-    "\"\"\"   \n",
+    "\"\"\"\n",
     "\n",
     "example_pop.set(C_logging_code=custom_logging_print_statement)\n",
     "\n",
@@ -397,7 +395,7 @@
    "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."
+    "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."
    ]
   },
   {
@@ -464,13 +462,12 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: parse_function=<function object_parse_function at 0x149c2e81ec10> to grid_options\n",
-      "<<<< Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to custom_options >>>>\n",
-      "adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options\n",
+      "adding: parse_function=<function object_parse_function at 0x7f35b603e9d0> to grid_options\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-david/notebooks/notebook_individual_systems to custom_options >>>>\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
-      "Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_0639ee205c7d4782b4a27378f5d890bd.so\n",
+      "Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_446fe4cddfa94946bcafd55591ef3730.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"
      ]
@@ -570,7 +567,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -584,7 +581,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/_sources/examples/notebook_population.ipynb.txt b/docs/build/html/_sources/examples/notebook_population.ipynb.txt
index 760b1480e..ebc19cff0 100644
--- a/docs/build/html/_sources/examples/notebook_population.ipynb.txt
+++ b/docs/build/html/_sources/examples/notebook_population.ipynb.txt
@@ -25,7 +25,7 @@
     "import os\n",
     "\n",
     "from binarycpython.utils.custom_logging_functions import temp_dir\n",
-    "from binarycpython.utils.grid import Population\n",
+    "from binarycpython import Population\n",
     "\n",
     "TMP_DIR = temp_dir(\"notebooks\", \"notebook_population\")\n",
     "\n",
@@ -58,13 +58,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: M_1=10 to BSE_options\n",
-      "adding: orbital_period=45000000080 to BSE_options\n",
-      "adding: max_evolution_time=15000 to BSE_options\n",
-      "adding: eccentricity=0.02 to BSE_options\n",
       "adding: num_cores=2 to grid_options\n",
-      "adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population to grid_options\n",
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_population to grid_options\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
       "1\n",
       "example_pop.dat\n",
@@ -139,13 +135,17 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Writing settings to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json\n"
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n"
      ]
     },
     {
      "data": {
       "text/plain": [
-       "'/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json'"
+       "'/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz'"
       ]
      },
      "execution_count": 3,
@@ -185,9 +185,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Help on method add_grid_variable in module binarycpython.utils.grid:\n",
+      "Help on method add_grid_variable in module binarycpython.utils.population_extensions.gridcode:\n",
       "\n",
-      "add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int], gridtype: str = 'centred', branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None) -> None method of binarycpython.utils.grid.Population instance\n",
+      "add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int] = -1, gridtype: str = 'centred', branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None, index: Optional[int] = None, dry_parallel: Optional[bool] = False) -> None method of binarycpython.utils.grid.Population instance\n",
       "    Function to add grid variables to the grid_options.\n",
       "    \n",
       "    The execution of the grid generation will be through a nested for loop.\n",
@@ -198,17 +198,15 @@
       "    beware that if you insert some destructive piece of code, it will be executed anyway.\n",
       "    Use at own risk.\n",
       "    \n",
-      "    Tasks:\n",
-      "        - TODO: Fix this complex function.\n",
-      "    \n",
       "    Args:\n",
       "        name:\n",
       "            name of parameter used in the grid Python code.\n",
       "            This is evaluated as a parameter and you can use it throughout\n",
       "            the rest of the function\n",
       "    \n",
-      "            Examples:\n",
-      "                name = 'lnm1'\n",
+      "            Examples::\n",
+      "    \n",
+      "                name = 'lnM_1'\n",
       "    \n",
       "        parameter_name:\n",
       "            name of the parameter in binary_c\n",
@@ -223,47 +221,66 @@
       "        longname:\n",
       "            Long name of parameter\n",
       "    \n",
-      "            Examples:\n",
+      "            Examples::\n",
+      "    \n",
       "                longname = 'Primary mass'\n",
+      "    \n",
       "        range:\n",
       "            Range of values to take. Does not get used really, the samplerfunc is used to\n",
       "            get the values from\n",
       "    \n",
-      "            Examples:\n",
+      "            Examples::\n",
+      "    \n",
       "                range = [math.log(m_min), math.log(m_max)]\n",
+      "    \n",
       "        samplerfunc:\n",
       "            Function returning a list or numpy array of samples spaced appropriately.\n",
       "            You can either use a real function, or a string representation of a function call.\n",
       "    \n",
-      "            Examples:\n",
-      "                samplerfunc = \"const(math.log(m_min), math.log(m_max), {})\".format(resolution['M_1'])\n",
+      "            Examples::\n",
+      "    \n",
+      "                samplerfunc = \"self.const_linear(math.log(m_min), math.log(m_max), {})\".format(resolution['M_1'])\n",
       "    \n",
       "        precode:\n",
       "            Extra room for some code. This code will be evaluated within the loop of the\n",
-      "            sampling function (i.e. a value for lnm1 is chosen already)\n",
+      "            sampling function (i.e. a value for lnM_1 is chosen already)\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                precode = 'M_1=math.exp(lnM_1);'\n",
       "    \n",
-      "            Examples:\n",
-      "                precode = 'M_1=math.exp(lnm1);'\n",
       "        postcode:\n",
       "            Code executed after the probability is calculated.\n",
+      "    \n",
       "        probdist:\n",
       "            Function determining the probability that gets assigned to the sampled parameter\n",
       "    \n",
-      "            Examples:\n",
-      "                probdist = 'Kroupa2001(M_1)*M_1'\n",
+      "            Examples::\n",
+      "    \n",
+      "                probdist = 'self.Kroupa2001(M_1)*M_1'\n",
+      "    \n",
       "        dphasevol:\n",
       "            part of the parameter space that the total probability is calculated with. Put to -1\n",
       "            if you want to ignore any dphasevol calculations and set the value to 1\n",
-      "            Examples:\n",
-      "                dphasevol = 'dlnm1'\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                dphasevol = 'dlnM_1'\n",
+      "    \n",
       "        condition:\n",
       "            condition that has to be met in order for the grid generation to continue\n",
-      "            Examples:\n",
-      "                condition = 'self.grid_options['binary']==1'\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                condition = \"self.grid_options['binary']==1\"\n",
+      "    \n",
       "        gridtype:\n",
       "            Method on how the value range is sampled. Can be either 'edge' (steps starting at\n",
       "            the lower edge of the value range) or 'centred'\n",
-      "            (steps starting at lower edge + 0.5 * stepsize).\n",
+      "            (steps starting at ``lower edge + 0.5 * stepsize``).\n",
+      "    \n",
+      "        dry_parallel:\n",
+      "            If True, try to parallelize this variable in dry runs.\n",
       "    \n",
       "        topcode:\n",
       "            Code added at the very top of the block.\n",
@@ -313,35 +330,7 @@
    "execution_count": 6,
    "id": "47979841-2c26-4b26-8945-603d013dc93a",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Added grid variable: {\n",
-      "    \"name\": \"lnm1\",\n",
-      "    \"parameter_name\": \"M_1\",\n",
-      "    \"longname\": \"Primary mass\",\n",
-      "    \"valuerange\": [\n",
-      "        2,\n",
-      "        150\n",
-      "    ],\n",
-      "    \"samplerfunc\": \"const(math.log(2), math.log(150), 20)\",\n",
-      "    \"precode\": \"M_1=math.exp(lnm1)\",\n",
-      "    \"postcode\": null,\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",
-      "    \"condition\": \"\",\n",
-      "    \"gridtype\": \"centred\",\n",
-      "    \"branchpoint\": 0,\n",
-      "    \"branchcode\": null,\n",
-      "    \"topcode\": null,\n",
-      "    \"bottomcode\": null,\n",
-      "    \"grid_variable_number\": 0\n",
-      "}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Add grid variables\n",
     "resolution = {\"M_1\": 20}\n",
@@ -351,9 +340,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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",
@@ -364,8 +353,8 @@
     "#     name=\"q\",\n",
     "#     longname=\"Mass ratio\",\n",
     "#     valuerange=[\"0.1/M_1\", 1],\n",
-    "#     samplerfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n",
-    "#     probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n",
+    "#     samplerfunc=\"self.const_linear(0.1/M_1, 1, {})\".format(resolution['q']),\n",
+    "#     probdist=\"self.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",
@@ -377,12 +366,12 @@
     "#    name=\"log10per\", # in days\n",
     "#    longname=\"log10(Orbital_Period)\",\n",
     "#    valuerange=[0.15, 5.5],\n",
-    "#    samplerfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n",
+    "#    samplerfunc=\"self.const_linear(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",
+    "#    probdist=\"self.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"
@@ -434,7 +423,7 @@
    ],
    "source": [
     "# Create custom logging statement: in this case we will log when the star turns into a compact object, and then terminate the evolution.\n",
-    "custom_logging_statement = \"\"\"\n",
+    "custom_logging_code = \"\"\"\n",
     "if(stardata->star[0].stellar_type >= 13)    \n",
     "{\n",
     "    if (stardata->model.time < stardata->model.max_evolution_time)\n",
@@ -454,7 +443,7 @@
     "\"\"\"\n",
     "\n",
     "example_pop.set(\n",
-    "    C_logging_code=custom_logging_statement\n",
+    "    C_logging_code=custom_logging_code\n",
     ")"
    ]
   },
@@ -476,7 +465,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: parse_function=<function parse_function at 0x1528ac7290d0> to grid_options\n"
+      "adding: parse_function=<function parse_function at 0x7f2b6ca163a0> to grid_options\n"
      ]
     }
    ],
@@ -552,38 +541,41 @@
      "output_type": "stream",
      "text": [
       "adding: verbosity=0 to grid_options\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "**************************************\n",
-      "* Total starcount for this run is 20 *\n",
-      "*   Total probability is 0.0444029   *\n",
-      "**************************************\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 19     *\n",
+      "* Total probability is 0.0443872 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
-      "EXAMPLE_COMPACT_OBJECT             4.139293101586e+01 1.29427 8.13626 0.00202467 13\n",
-      "EXAMPLE_COMPACT_OBJECT             2.802986496151e+01 1.33699 10.0967 0.00152924 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.963621764679e+01 1.39754 12.5294 0.00115504 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.427601421985e+01 1.47745 15.5483 0.000872405 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.094409257247e+01 1.57571 19.2947 0.00065893 13\n",
-      "EXAMPLE_COMPACT_OBJECT             9.181971798545e+00 1.68748 23.9436 0.000497691 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.905335716621e+00 1.77287 29.7128 0.000375908 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.451192744924e+00 1.81495 36.872 0.000283924 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.396133472739e+00 1.82088 45.7561 0.000214449 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.396675941641e+00 1.82123 56.7809 0.000161974 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.404641347602e+00 1.82074 70.4621 0.000122339 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.444217227690e+00 1.81636 87.4397 9.2403e-05 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.453317880232e+00 1.81536 108.508 6.97923e-05 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.450828476487e+00 1.81563 134.653 5.27143e-05 13\n",
+      "EXAMPLE_COMPACT_OBJECT             3.598268106227e+01 1.30592 8.75988 0.00193614 13\n",
+      "EXAMPLE_COMPACT_OBJECT             2.436983545111e+01 1.35842 10.9948 0.00144093 13\n",
+      "EXAMPLE_COMPACT_OBJECT             1.690157944401e+01 1.43124 13.7998 0.00107238 13\n",
+      "EXAMPLE_COMPACT_OBJECT             1.242397939068e+01 1.52416 17.3205 0.000798096 13\n",
+      "EXAMPLE_COMPACT_OBJECT             9.756794139032e+00 1.66914 21.7394 0.000593966 13\n",
+      "EXAMPLE_COMPACT_OBJECT             8.401414766976e+00 1.73729 27.2857 0.000442046 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.536373523810e+00 1.80677 34.247 0.000328983 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.393982410080e+00 1.82164 42.9844 0.000244839 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.396470605248e+00 1.82129 53.9508 0.000182216 13\n",
+      "Do join of subprocesses ...\n",
+      "EXAMPLE_COMPACT_OBJECT             7.399005684057e+00 1.82041 67.7151 0.00013561 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.443375325717e+00 1.81645 84.9909 0.000100925 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.451195752942e+00 1.81559 106.674 7.51114e-05 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.452661646076e+00 1.81543 133.89 5.59e-05 13\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-50fb66cc659c46c8bbc29fe0c8651c2f finished! *\n",
-      "*           The total probability is 0.0444029.          *\n",
-      "*  It took a total of 3.30s to run 20 systems on 2 cores *\n",
-      "*                   = 6.60s of CPU time.                 *\n",
-      "*              Maximum memory use 433.070 MB             *\n",
+      "*  Population-ce756bb317f64099a459bf8b55a746ac finished! *\n",
+      "*           The total probability is 0.0443872.          *\n",
+      "*  It took a total of 0.73s to run 19 systems on 2 cores *\n",
+      "*                   = 1.46s of CPU time.                 *\n",
+      "*              Maximum memory use 293.406 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n"
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
      ]
     }
    ],
@@ -614,7 +606,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "{'population_name': '50fb66cc659c46c8bbc29fe0c8651c2f', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.04440288843805411, 'total_count': 20, 'start_timestamp': 1635760967.3245144, 'end_timestamp': 1635760970.6249793, 'total_mass_run': 684.2544031669784, 'total_probability_weighted_mass_run': 0.28134439269236855, 'zero_prob_stars_skipped': 0}\n"
+      "{'population_id': 'ce756bb317f64099a459bf8b55a746ac', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.044387171445641534, 'total_count': 19, 'start_timestamp': 1646563001.7193637, 'end_timestamp': 1646563002.4480088, 'time_elapsed': 0.7286450862884521, 'total_mass_run': 649.905447944397, 'total_probability_weighted_mass_run': 0.28133908148630704, 'zero_prob_stars_skipped': 0}\n"
      ]
     }
    ],
@@ -642,9 +634,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Help on method write_binary_c_calls_to_file in module binarycpython.utils.grid:\n",
+      "Help on method write_binary_c_calls_to_file in module binarycpython.utils.population_extensions.dataIO:\n",
       "\n",
-      "write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False) -> None method of binarycpython.utils.grid.Population instance\n",
+      "write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False, encoding='utf-8') -> None method of binarycpython.utils.grid.Population instance\n",
       "    Function that loops over the grid code and writes the generated parameters to a file.\n",
       "    In the form of a command line call\n",
       "    \n",
@@ -655,10 +647,6 @@
       "    \n",
       "    On default this will write to the datadir, if it exists\n",
       "    \n",
-      "    Tasks:\n",
-      "        - TODO: test this function\n",
-      "        - TODO: make sure the binary_c_python .. output file has a unique name\n",
-      "    \n",
       "    Args:\n",
       "        output_dir: (optional, default = None) directory where to write the file to. If custom_options['data_dir'] is present, then that one will be used first, and then the output_dir\n",
       "        output_filename: (optional, default = None) filename of the output. If not set it will be called \"binary_c_calls.txt\"\n",
@@ -685,19 +673,19 @@
      "output_type": "stream",
      "text": [
       "Generating grid code\n",
-      "Generating grid code\n",
-      "Saving grid code to grid_options\n",
-      "Writing grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py [dry_run = False]\n",
-      "Symlinked grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid-latest2 \n",
-      "Loading grid code function from /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py\n",
+      "Save grid code to grid_options\n",
+      "Write grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py [dry_run = False]\n",
+      "Symlinked grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid-latest2 \n",
+      "Load grid code function from /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py\n",
       "Grid code loaded\n",
-      "Writing binary_c calls to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
-      "binary_c M_1 2.227955577093495 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681548 probability 0.010905083645619543\n",
-      "binary_c M_1 2.7647737053496777 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.00823663875514986\n",
-      "binary_c M_1 3.430936289925951 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681537 probability 0.0062211552141636295\n",
-      "binary_c M_1 4.2576084265970895 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.004698855121516281\n"
+      "Writing binary_c calls to /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
+      "binary_c M_1 2.2406484012210224 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.011394572976608001\n",
+      "binary_c M_1 2.812296769855663 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191117 probability 0.008480166685456411\n",
+      "binary_c M_1 3.5297876799548944 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.006311182276049824\n",
+      "binary_c M_1 4.430329401616038 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.004696962123378559\n",
+      "(abridged)\n"
      ]
     }
    ],
@@ -707,7 +695,8 @@
     "print(calls_filename)\n",
     "\n",
     "with open(calls_filename, 'r') as f:\n",
-    "    print('\\n'.join(f.read().splitlines()[:4]))"
+    "    print('\\n'.join(f.read().splitlines()[:4]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -715,7 +704,15 @@
    "id": "60359eb1-4d0c-4d2d-8265-ec5171b944a2",
    "metadata": {},
    "source": [
-    "## Full examples of population scripts\n",
+    "## Full examples of population scripts"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1ee279d6-e120-4aef-9e57-845e534f5c6a",
+   "metadata": {},
+   "source": [
+    "### Single star population\n",
     "Below is a full setup for a population of single stars"
    ]
   },
@@ -729,43 +726,51 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "**************************************\n",
-      "* Total starcount for this run is 20 *\n",
-      "*   Total probability is 0.0444029   *\n",
-      "**************************************\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 19     *\n",
+      "* Total probability is 0.0443872 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-05e51ba114934b37bab48f1db40b7333 finished! *\n",
-      "*           The total probability is 0.0444029.          *\n",
-      "*  It took a total of 3.46s to run 20 systems on 2 cores *\n",
-      "*                   = 6.93s of CPU time.                 *\n",
-      "*              Maximum memory use 437.047 MB             *\n",
+      "*  Population-0fa4c2b8707741a5ab41d209ef95a3a4 finished! *\n",
+      "*           The total probability is 0.0443872.          *\n",
+      "*  It took a total of 0.61s to run 19 systems on 2 cores *\n",
+      "*                   = 1.23s of CPU time.                 *\n",
+      "*              Maximum memory use 299.531 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n",
       "\n",
       "\n",
       "time mass zams_mass probability radius stellar_type\n",
-      "4.139293101586e+01 1.29427 8.13626 0.00202467 1.72498e-05 13\n",
-      "2.802986496151e+01 1.33699 10.0967 0.00152924 1.72498e-05 13\n",
-      "1.963621764679e+01 1.39754 12.5294 0.00115504 1.72498e-05 13\n",
-      "1.427601421985e+01 1.47745 15.5483 0.000872405 1.72498e-05 13\n",
-      "1.094409257247e+01 1.57571 19.2947 0.00065893 1.72498e-05 13\n",
-      "9.181971798545e+00 1.68748 23.9436 0.000497691 1.72498e-05 13\n",
-      "7.905335716621e+00 1.77287 29.7128 0.000375908 1.72498e-05 13\n",
-      "7.451192744924e+00 1.81495 36.872 0.000283924 1.72498e-05 13\n",
-      "7.396133472739e+00 1.82088 45.7561 0.000214449 1.72498e-05 13\n",
-      "7.396675941641e+00 1.82123 56.7809 0.000161974 1.72498e-05 13\n",
-      "7.404641347602e+00 1.82074 70.4621 0.000122339 1.72498e-05 13\n",
-      "7.444217227690e+00 1.81636 87.4397 9.2403e-05 1.72498e-05 13\n",
-      "7.453317880232e+00 1.81536 108.508 6.97923e-05 1.72498e-05 13\n",
-      "7.450828476487e+00 1.81563 134.653 5.27143e-05 1.72498e-05 13\n",
+      "3.598268106227e+01 1.30592 8.75988 0.00193614 1.72498e-05 13\n",
+      "2.436983545111e+01 1.35842 10.9948 0.00144093 1.72498e-05 13\n",
+      "1.690157944401e+01 1.43124 13.7998 0.00107238 1.72498e-05 13\n",
+      "1.242397939068e+01 1.52416 17.3205 0.000798096 1.72498e-05 13\n",
+      "9.756794139032e+00 1.66914 21.7394 0.000593966 1.72498e-05 13\n",
+      "8.401414766976e+00 1.73729 27.2857 0.000442046 1.72498e-05 13\n",
+      "7.536373523810e+00 1.80677 34.247 0.000328983 1.72498e-05 13\n",
+      "7.393982410080e+00 1.82164 42.9844 0.000244839 1.72498e-05 13\n",
+      "7.396470605248e+00 1.82129 53.9508 0.000182216 1.72498e-05 13\n",
+      "7.399005684057e+00 1.82041 67.7151 0.00013561 1.72498e-05 13\n",
+      "7.451195752942e+00 1.81559 106.674 7.51114e-05 1.72498e-05 13\n",
+      "7.443375325717e+00 1.81645 84.9909 0.000100925 1.72498e-05 13\n",
+      "7.452661646076e+00 1.81543 133.89 5.59e-05 1.72498e-05 13\n",
       "\n"
      ]
     }
@@ -877,9 +882,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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=\"\",\n",
@@ -908,7 +913,8 @@
    "id": "c2ab0979-6575-481d-9c1c-ca98517b2437",
    "metadata": {},
    "source": [
-    "We can also set up a population that samples biinary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded top be more useful"
+    "### Binary star population\n",
+    "We can also set up a population that samples binary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded to be more useful. Also note that we run very little systems in the following example, as its just intended to show how the code works."
    ]
   },
   {
@@ -921,45 +927,42 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 27 stars with a total probability of 0.0248684\n",
-      "**************************************\n",
-      "* Total starcount for this run is 27 *\n",
-      "*   Total probability is 0.0248684   *\n",
-      "**************************************\n",
+      "Grid has handled 8 stars with a total probability of 0.0211592\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 8      *\n",
+      "* Total probability is 0.0211592 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-8bc1eafea1c34b05894c1618639d8c37 finished! *\n",
-      "*           The total probability is 0.0248684.          *\n",
-      "* It took a total of 16.10s to run 27 systems on 2 cores *\n",
-      "*                  = 32.20s of CPU time.                 *\n",
-      "*              Maximum memory use 437.695 MB             *\n",
+      "*  Population-0eb5c0c9abd34607a6ee060b26a7e32f finished! *\n",
+      "*           The total probability is 0.0211592.          *\n",
+      "*  It took a total of 0.84s to run 8 systems on 2 cores  *\n",
+      "*                   = 1.68s of CPU time.                 *\n",
+      "*              Maximum memory use 300.125 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n",
       "\n",
       "\n",
       "time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 stellar_type_2 prev_stellar_type_2 metallicity probability\n",
-      "1.219029061236e+01 1.60007 17.3205 0 2.97008 13 5 15 15 0.02 0.000498487\n",
-      "1.935920339886e+01 1.29448 17.3205 0 8.71025 13 13 15 2 0.02 0.000498487\n",
-      "2.123794969278e+01 1.30902 17.3205 1.58518 8.71025 13 13 13 5 0.02 0.000287968\n",
-      "3.579099761269e+01 1.52414 17.3205 1.30642 8.71025 13 13 13 5 0.02 0.000220016\n",
-      "1.674063083432e+01 1.29457 17.3205 0 14.4504 13 13 15 2 0.02 0.000498487\n",
-      "1.548740826516e+01 1.52415 17.3205 1.45407 14.4504 13 13 13 5 0.02 0.000220016\n",
-      "1.779197348711e+01 1.3228 17.3205 1.71196 14.4504 13 13 13 8 0.02 0.000287968\n",
-      "1.367065497322e+01 1.66003 73.0434 1.79487 12.2572 13 13 13 8 0.02 7.67586e-05\n",
-      "1.772169325355e+01 1.81957 73.0434 1.46573 12.2572 13 13 13 5 0.02 4.43422e-05\n",
-      "2.021960493499e+01 1.82061 73.0434 1.39205 12.2572 13 13 13 5 0.02 3.38788e-05\n",
-      "9.012246630357e+00 1.81529 73.0434 0 36.5717 13 8 15 15 0.02 7.67586e-05\n",
-      "7.462779538274e+00 1.82255 73.0434 1.81499 36.5717 13 13 13 8 0.02 3.38788e-05\n",
-      "1.030499912298e+01 1.80592 73.0434 1.81066 36.5717 13 13 13 8 0.02 4.43422e-05\n",
-      "9.823059079115e+00 2.43711 73.0434 1.81689 60.8862 14 14 13 8 0.02 7.67586e-05\n",
-      "7.394722435913e+00 1.79092 73.0434 1.79092 60.8862 13 8 13 8 0.02 4.43422e-05\n",
-      "7.396288708628e+00 1.8216 73.0434 1.8216 60.8862 13 8 13 8 0.02 3.38788e-05\n",
+      "1.378266748188e+01 1.66293 50.9713 1.78767 12.8178 13 13 13 8 0.02 0.000339963\n",
+      "1.817608462595e+01 1.82104 50.9713 1.41436 12.8178 13 13 13 5 0.02 0.000193036\n",
+      "7.422997711686e+00 1.82479 50.9713 1.82171 38.2535 13 13 13 8 0.02 0.000193036\n",
+      "1.205711924468e+01 1.73765 50.9713 0 38.2535 13 13 15 8 0.02 0.000339963\n",
       "\n"
      ]
     }
@@ -1089,9 +1092,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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",
@@ -1102,8 +1105,8 @@
     "    name=\"q\",\n",
     "    longname=\"Mass ratio\",\n",
     "    valuerange=[\"0.1/M_1\", 1],\n",
-    "    samplerfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n",
-    "    probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n",
+    "    samplerfunc=\"self.const_linear(0.1/M_1, 1, {})\".format(resolution['q']),\n",
+    "    probdist=\"self.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",
@@ -1115,12 +1118,12 @@
     "   name=\"log10per\", # in days\n",
     "   longname=\"log10(Orbital_Period)\",\n",
     "   valuerange=[0.15, 5.5],\n",
-    "   samplerfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n",
+    "   samplerfunc=\"self.const_linear(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",
+    "   probdist=\"self.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",
@@ -1145,7 +1148,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1159,7 +1162,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/_sources/grid_options_descriptions.rst.txt b/docs/build/html/_sources/grid_options_descriptions.rst.txt
index c061fb901..7d765d8cf 100644
--- a/docs/build/html/_sources/grid_options_descriptions.rst.txt
+++ b/docs/build/html/_sources/grid_options_descriptions.rst.txt
@@ -1,7 +1,7 @@
 Population grid code options
 ============================
 The following chapter contains all grid code options, along with their descriptions
-There are 28 options that are not described yet.
+There are 29 options that are not described yet.
 
 
 Public options
@@ -167,6 +167,8 @@ The following options are meant to be changed by the user.
 
 | **save_snapshots**: No description available yet
 
+| **skip_before**: No description available yet
+
 | **slurm**: Integer flag used to control Slurm jobs. Default is 0 which means no Slurm. 1 means launch Slurm jobs. Do not manually set this to 2 (run Slurm jobs) or 3 (join Slurm job data) unless you know what you are doing, this is usually done for you.
 
 | **slurm_array**: String. Override for Slurm's --array option, useful for rerunning jobs manually. Default None.
diff --git a/docs/build/html/binary_c_parameters.html b/docs/build/html/binary_c_parameters.html
index 124ea7512..7fe4e66bf 100644
--- a/docs/build/html/binary_c_parameters.html
+++ b/docs/build/html/binary_c_parameters.html
@@ -111,7 +111,7 @@
 <h1>Binary_c parameters<a class="headerlink" href="#binary-c-parameters" title="Permalink to this headline"></a></h1>
 <p>The following chapter contains all the parameters that the current version of binary_c can handle, along with their descriptions and other properties.</p>
 <dl class="simple">
-<dt>This information was obtained by the following binary_c build:</dt><dd><p><strong>binary_c git branch</strong>: branch_david   <strong>binary_c git revision</strong>: 5845:20220107:201620bd7      <strong>Built on</strong>: Jan  7 2022 12:15:12</p>
+<dt>This information was obtained by the following binary_c build:</dt><dd><p><strong>binary_c git branch</strong>: HEAD   <strong>binary_c git revision</strong>: 5853:20220225:db09898b6      <strong>Built on</strong>: Feb 25 2022 19:21:31</p>
 </dd>
 </dl>
 <section id="section-stars">
@@ -3506,9 +3506,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/custom_logging_functions.html b/docs/build/html/custom_logging_functions.html
index ee7830554..10354b9c3 100644
--- a/docs/build/html/custom_logging_functions.html
+++ b/docs/build/html/custom_logging_functions.html
@@ -329,9 +329,9 @@ I recommend using this in function in combination with a function that generates
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/dicts.html b/docs/build/html/dicts.html
index d1b5f36a6..82e477f4e 100644
--- a/docs/build/html/dicts.html
+++ b/docs/build/html/dicts.html
@@ -404,6 +404,7 @@ so that they don’t have to be calculated each time.</p>
 <dd class="field-odd"><p>new_dict</p>
 </dd>
 </dl>
+<p>If input_dict is None or empty, returns an empty dict</p>
 </dd></dl>
 
 <dl class="py function">
@@ -524,9 +525,9 @@ so that they don’t have to be calculated each time.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/ensemble.html b/docs/build/html/ensemble.html
index 80594cf66..cf2b64e23 100644
--- a/docs/build/html/ensemble.html
+++ b/docs/build/html/ensemble.html
@@ -275,9 +275,9 @@ and return its contents to as a Python dictionary.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/example_notebooks.html b/docs/build/html/example_notebooks.html
index 306475c6f..652d02922 100644
--- a/docs/build/html/example_notebooks.html
+++ b/docs/build/html/example_notebooks.html
@@ -143,7 +143,6 @@
 <li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#Build-information-of-binary_c">Build information of binary_c</a></li>
 <li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#Example-parse-function">Example parse function</a></li>
 <li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#Dictionary-modification">Dictionary modification</a></li>
-<li class="toctree-l2"><a class="reference internal" href="examples/notebook_extra_features.html#Getting-help">Getting help</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="examples/notebook_api_functionality.html">Tutorial: Using the API functionality of binary_c-python</a><ul>
@@ -215,9 +214,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_BHBH.html b/docs/build/html/examples/notebook_BHBH.html
index cb1698140..651e15593 100644
--- a/docs/build/html/examples/notebook_BHBH.html
+++ b/docs/build/html/examples/notebook_BHBH.html
@@ -5574,9 +5574,9 @@ system 2 / 100
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_HRD.html b/docs/build/html/examples/notebook_HRD.html
index 023816698..61c302a40 100644
--- a/docs/build/html/examples/notebook_HRD.html
+++ b/docs/build/html/examples/notebook_HRD.html
@@ -1366,9 +1366,9 @@ very start.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_api_functionality.html b/docs/build/html/examples/notebook_api_functionality.html
index 6faf30887..38d274dc3 100644
--- a/docs/build/html/examples/notebook_api_functionality.html
+++ b/docs/build/html/examples/notebook_api_functionality.html
@@ -469,7 +469,7 @@ FUNCTIONS
         Function that contains random snippets. Do not expect this to remain available, or reliable. i.e. dont use it.
 
 FILE
-    /home/izzard/.local/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so
+    /home/david/.pyenv/versions/binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so
 
 
 </pre></div></div>
@@ -537,7 +537,7 @@ FILE
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-&lt;capsule object &#34;STORE&#34; at 0x146f912dbc60&gt;
+&lt;capsule object &#34;STORE&#34; at 0x7fc1f0c3ff00&gt;
 SINGLE_STAR_LIFETIME 10 28.4838
 
 </pre></div></div>
@@ -577,7 +577,8 @@ Default : 0
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre>
-<span></span><span class="nb">print</span><span class="p">(</span><span class="n">_binary_c_bindings</span><span class="o">.</span><span class="n">return_help_all</span><span class="p">())</span>
+<span></span><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_binary_c_bindings</span><span class="o">.</span><span class="n">return_help_all</span><span class="p">()</span><span class="o">.</span><span class="n">splitlines</span><span class="p">()[:</span><span class="mi">10</span><span class="p">]))</span>
+<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;(abridged)&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
 </div>
@@ -596,581 +597,7 @@ M_1 : The initial mass of star one (in solar units, internally this is star inde
 M_2 : The initial mass of star two (in solar units, internally this is star index 1). : (null)
 M_3 : The initial mass of star three (in solar units, internally this is star index 2). : (null)
 M_4 : The initial mass of star four (in solar units, internally this is star index 3). : (null)
-vrot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot2,3,4. : (null)
-vrot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,3,4. : (null)
-vrot3 : The initial equatorial rotational velocity of star three (in km/s, internally this is star index 2). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,4. : (null)
-vrot4 : The initial equatorial rotational velocity of star four (in km/s, internally this is star index 3). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,3. : (null)
-Prot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). See also Prot2,3,4. : (null)
-Prot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). See also Prot1,3,4. : (null)
-Prot3 : The initial equatorial rotational period of star three (in days, internally this is star index 2). See also Prot1,2,4. : (null)
-Prot4 : The initial equatorial rotational period of star four (in days, internally this is star index 3). See also Prot1,2,3. : (null)
-inclination1 : The initial inclination of star one (in degrees). : (null)
-inclination2 : The initial inclination of star two (in degrees). : (null)
-inclination3 : The initial inclination of star three (in degrees). : (null)
-inclination4 : The initial inclination of star four (in degrees). : (null)
-B_1 : The initial magnetic field of star one (in Gauss, internally this is star index 0). : (null)
-B_2 : The initial magnetic field of star two (in Gauss, internally this is star index 1). : (null)
-B_3 : The initial magnetic field of star three (in Gauss, internally this is star index 2). : (null)
-B_4 : The initial magnetic field of star four (in Gauss, internally this is star index 3). : (null)
-B_inclination1 : The initial inclination of the magnetic field of star one (in degrees). : (null)
-B_inclination2 : The initial inclination of the magnetic field of star two (in degrees). : (null)
-B_inclination3 : The initial inclination of the magnetic field of star three (in degrees). : (null)
-B_inclination4 : The initial inclination of the magnetic field of star four (in degrees). : (null)
-stellar_type_1 : Set the stellar type of star 1 (internal index 0), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)
-stellar_type_2 : Set the stellar type of star 2 (internal index 1), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)
-stellar_type_3 : Set the stellar type of star 3 (internal index 2), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)
-stellar_type_4 : Set the stellar type of star 4 (internal index 3), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)
-max_stellar_type_1 : The maximum stellar type of star 1 (internal index 0). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.
- : (null)
-max_stellar_type_2 : The maximum stellar type of star 2 (internal index 1). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.
- : (null)
-max_stellar_type_3 : The maximum stellar type of star 3 (internal index 2). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.
- : (null)
-max_stellar_type_4 : The maximum stellar type of star 4 (internal index 3). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.
- : (null)
-probability : The probability is a weighting applied to the star based on, say, the initial mass function. When running a grid of stars to simulate *all* stars, the summed probability of all the stars should be 1.0. : (null)
-phasevol : The system&#39;s phase volume, used by binary_grid. : (null)
-stellar_structure_algorithm : Set the stellar structure algorithm. 0=modified BSE (default), 1=none, 2=external function (must be defined by the calling code), 3=binary_c (not yet implemented). : (null)
-solver : The type of solver. Default is the Forward-Euler (0), but could be RK2 (1), RK4 (2) or a predictor-corretor (3). : (null)
-max_evolution_time : Set the maximum age for the stars (Myr). : (null)
-max_model_number : Set the maximum number of models, ignored if 0 (default is 0). : (null)
-monte_carlo_kicks : Turn on Monte-Carlo SN kicks. On (True) by default, and indeed other algorithms are probably broken. : (null)
-disable_debug : Disables debug output. Only has an effect when DEBUG is 1, which probably requires a rebuild. Default FALSE. : (null)
-timestep_logging : Turn on timestep logging (default is False). : (null)
-rejects_in_log : Show timestep rejections in the main log (default is False). : (null)
-vandenHeuvel_logging : Turn on van den Heuvel logging (default is False). : (null)
-evolution_splitting : If True, turn on splitting of an evolutionary run if splitpoint (e.g. supernova) occurs. : (null)
-disable_events : Whether to disable the new events code (defaults to False, so we use events by default)
- : (null)
-evolution_splitting_sn_eccentricity_threshold : Threshold eccentricity above which evolution splitting happens in a system with no SN kick. (0.01) : (null)
-evolution_splitting_sn_n : Number of runs to split into when a SN occurs. : (null)
-evolution_splitting_maxdepth : Max number of splits in an evolutionary run. : (null)
-equation_of_state_algorithm : Set the equation of state algorithm. 0 = Paczynski. : (null)
-opacity_algorithm : Set the opacity algorithm. 0 = Paczynski, 1 = Ferguson/Opal. : (null)
-wind_mass_loss : Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018). : 0
-gbwind : Wind prescription for first red giant branch stars.  0=Reimers (Hurley et al 2000/2002; choose gb_reimers_eta=0.5 for their mass loss rate), 1=Schroeder+Cuntz 2005 (set gb_reimers_eta=1.0 for their mass loss rate). : (null)
-postagbwind : Apply special post-(A)GB prescription. Default is POSTAGB_WIND_USE_GIANT which means we just use whatever is prescribed on the giant branch. Other options include: POSTAGB_WIND_NONE = 1 (no wind on the post (A)GB), POSTAGB_WIND_KRTICKA2020 = 2 which uses Krticka, Kubát and Krticková (2020, A&amp;A 635, A173). : (null)
-Teff_postAGB_min : The minimum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_max. (6000 K) : (null)
-Teff_postAGB_max : The maximum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_min. (120000 K) : (null)
-mattsson_Orich_tpagbwind : Experimental : turns on Mattsson&#39;s TPAGB wind when the star is oxygen rich. Requires MATTSSON_MASS_LOSS. : (null)
-magnetic_braking_factor : Multiplier for the magnetic braking angular momentum loss rate. : (null)
-magnetic_braking_gamma : gamma factor in Rappaport style magnetic braking expression. : (null)
-magnetic_braking_algorithm : Algorithm for the magnetic braking angular momentum loss rate. 0 = Hurley et al. 2002, 1 = Andronov, Pinnsonneault and Sills 2003, 2 = Barnes and Kim 2010  : (null)
-helium_flash_mass_loss : Mass to be lost at the helium flash. : (null)
-gb_reimers_eta : First red giant branch wind multiplication factor, cf. eta in Reimers&#39; mass loss formula. (This multiplies the 4e-13 in Reimers&#39; formula, or the 8e-14 in Schroeder and Cuntz.) : (null)
-gbwindfac : Multiplier for the giant branch wind mass loss rate : (null)
-tpagbwindfac : Multiplier for the TPAGB wind mass loss rate : (null)
-eagbwindfac : Multiplier for the EAGB wind mass loss rate : (null)
-nieuwenhuijzen_windfac : Multiplier for the Nieuwenhuijzen &amp; de Jager wind mass loss rate : (null)
-tpagbwind : Wind prescription during the TPAGB. 0=Karakas 2002 (a modified Vassiliadis and Wood 1993), 1=Hurley et al 2000/2002 (Vassiliadis and Wood 1993), 2=Reimers, 3=Bloecker, 4=Van Loon,  5=Rob&#39;s C-wind (broken?), 6,7=Vassiliadis and Wood 1993 (Karakas,Hurley variants respectively) when C/O&gt;1, 8=Mattsson, 9 = Goldman et al. (2017), 10 = Beasor et al. (2020). : (null)
-eagbwind : Wind prescription during the EAGB. 0=BSE (Hurley+2002, based on VW93), 1 = Goldman et al. (2017), 2 = Beasor et al. (2020). : (null)
-wind_gas_to_dust_ratio : Gas to dust ratio used in wind calculations (e.g. Goldman et al. 2017). Typically 200 (Milky Way)-500 (Magellanic Clouds). Default is 200, approximately as in MW stars. : (null)
-vwind_multiplier : Multiplier for the stellar wind velocity. : (null)
-vwind_beta : Beta for stellar wind speed calculations, where vwind=sqrt(beta) * escape velocity. Default 0.125 (from BSE, Hurley et al. 2002).  : (null)
-superwind_mira_switchon : In the Vassiliadis and Wood (1993) AGB wind prescription, the superwind is turned on at a given Mira period, usually 500 days. You can vary when this switch-on happens with this parameter. : (null)
-vw93_mira_shift : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate depends on the Mira period plus this offset. Requires VW93_MIRA_SHIFT. : (null)
-vw93_multiplier : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate is multiplied by this factor. Requires VW93_MULTIPLIER. : (null)
-tpagb_reimers_eta : TPAGB Reimers wind multiplication factor, cf. eta in Reimers&#39; mass loss formula. (This multiplies the 4e-13 in Reimers&#39; formula, or the 8e-14 in Schroeder and Cuntz.) Note that Reimers is not the default TPAGB wind prescription. See also tpagbwind. : (null)
-Tout_Pringle_1992_multiplier : Multiplier for the Tout &amp; Pringle (1992) magnetic wind. (0.0) : (null)
-artificial_mass_accretion_rate%d : Constant mass accretion rate for star &lt;n&gt;. : (null)
-artificial_mass_accretion_rate_by_stellar_type%d : Constant mass accretion rate for stellar type &lt;n&gt;. : (null)
-artificial_angular_momentum_accretion_rate%d : Constant angular momentum accretion for star &lt;n&gt;. : (null)
-artificial_orbital_angular_momentum_accretion_rate : Constant angular momentum accretion rate on the orbit. : (null)
-artificial_accretion_start_time : Time at which artificial accretion stars. Ignored if &lt;0 (default is -1). : (null)
-artificial_accretion_end_time : Time at which artificial accretion ends. Ignored if &lt;0 (default is -1). : (null)
-wr_wind : Massive-star (WR) wind prescription. 0 = Hurley et al 2000/2002, 1=Maeder and Meynet, 2=Nugis and Lamers, 3=John Eldridge&#39;s version of Vink&#39;s early-2000s wind (See Lynnette Dray&#39;s thesis, or John Eldridge&#39;s thesis) : (null)
-wr_wind_fac : Massive-star (WR) wind multiplication factor. : (null)
-wrwindfac : Massive-star (WR) wind multiplication factor. Synonymous with wr_wind_fac (which you should use instead). : (null)
-BH_prescription : Black hole mass prescrition: relates the mass of a newly formed black hole to its progenitor&#39;s (CO) core mass. BH_HURLEY2002 = 0 = Hurley et al 2000/2002, BH_BELCZYNSKI = 1 = Belczynski (early 2000s), BH_SPERA2015 = Spera+ 2015, BH_FRYER12_DELAYED = 3 = Fryer et al. (2012) delayed prescription, BH_FRYER12_RAPID = 4 = Fryer et al. (2012) rapid prescription, BH_FRYER12_STARTRACK = 5 = Fryer et al. (2012) startrack prescription. : (null)
-sn_kick_distribution_II : Set the distribution of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_ECAP : Set the distribution of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_NS_NS : Set the distribution of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_IBC : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_GRB_COLLAPSAR : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_TZ : Set the distribution of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_AIC_BH : Set the distribution of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_BH_BH : Set the distribution of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_BH_NS : Set the distribution of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_IA_Hybrid_HeCOWD : Set the distribution of speeds applied to any survivor of a hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_distribution_IA_Hybrid_HeCOWD_subluminous : Set the distribution of speeds applied to any survivor of a subluminous hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_II : Set the dispersion of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_ECAP : Set the dispersion of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_NS_NS : Set the dispersion of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_IBC : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_GRB_COLLAPSAR : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_TZ : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_AIC_BH : Set the dispersion of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_BH_BH : Set the dispersion of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_BH_NS : Set the dispersion of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_IA_Hybrid_HeCOWD : Set the dispersion of speeds applied to the survivor of a SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_dispersion_IA_Hybrid_HeCOWD_subluminous : Set the dispersion of speeds applied to the survivor of a subluminous SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)
-sn_kick_companion_IA_He : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a Ia He supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_IA_ELD : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a Ia ELD (sub-Mch) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_IA_CHAND : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a Ia Mch supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_AIC : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when an accretion induced collapse (supernova) occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_ECAP : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when an electron capture supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_IA_He_Coal : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a Ia helium merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_IA_CHAND_Coal : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a Ia Mch merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_NS_NS : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a neutron-star neutron-star merger. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_GRB_COLLAPSAR : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a GRB Collapsar (rapidly rotating SN Ibc) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_HeStarIa : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a He-star Ia supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_IBC : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a type Ib/c supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_II : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a type II supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_IIa : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a type IIa supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_WDKICK : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a WD is kicked. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_TZ : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a Thorne-Zytkow object is formed. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_AIC_BH : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a neutron star collapses to a black hole. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_BH_BH : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when two black holes merge. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_BH_NS : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the, kick on the companion when a black hole merges with a neutron star. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_IA_Hybrid_HeCOWD : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the kick on the companion, if it survives, in a hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-sn_kick_companion_IA_Hybrid_HeCOWD_subluminous : Set the speed (if &gt;=0) of, or the algothim (if &lt;0) used to calculate the kick on the companion, if it survives, in a subluminous hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)
-wd_sigma : Set the speed at which white dwarfs are kicked when they form, in km/s. Default is zero (i.e. no kick). Requires WD_KICKS. : (null)
-wd_kick_direction : Set the direction of white dwarf kicks. 0 = random, 1 = up, 2 = forward, 3 = backward, 4 = inward, 5 = outward. Requires WD_KICKS. : (null)
-wd_kick_when : Decide when to kick a white dwarf. 0=at birth, 1=at first RLOF, 2=at given pulse number (see wd_kick_pulse_number), 3 at every pulse Requires WD_KICKS. : (null)
-wd_kick_pulse_number : Apply a kick to a star at a desired pulse number on the TPAGB (i.e. pre-WD). Requires WD_KICKS. : (null)
-minimum_helium_ignition_core_mass : Minimum helium core mass required to ignite helium in the case that the hydrogen envelope is stripped on the giant branch, e.g. to make an sdB or sdO star. Typically 0.4, if 0.0 then the BSE algorithm (based on the total mass) is used. : (null)
-minimum_CO_core_mass_for_carbon_ignition : Minimum CO core mass for carbon ignition, assuming Mc,bagb&gt;1.6Msun. Typically around 1.08Msun (Pols+1998). : (null)
-minimum_CO_core_mass_for_neon_ignition : Minimum CO core mass for neon ignition. Typically around 1.42Msun. Stars that have cores that ignite carbon, but not neon explode in electon-capture supernovae. : (null)
-minimum_mcbagb_for_nondegenerate_carbon_ignition : Minimum Mc,bagb (core mass at the base of the AGB) for non-degenerate carbon ignition. Typically around 2.25Msun (Pols+1998). : (null)
-maximum_mcbagb_for_degenerate_carbon_ignition : Maximum Mc,bagb (core mass at the base of the AGB) for degenerate carbon ignition. Typically around 1.6Msun (Pols+1998). : (null)
-max_neutron_star_mass : Maximum mass of a neutron star before it collapses to a black hole. Typically around 2Msun. : (null)
-chandrasekhar_mass : The Chandrasekhar mass, usually 1.44Msun : (null)
-delta_mcmin : A parameter to reduce the minimum core mass for third dredge up to occur on the TPAGB. As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)
-lambda_min : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min&gt;0 implies that, once Mc&gt;Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. See also lambda_multiplier. : (null)
-lambda_multiplier : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min&gt;0 implies that, once Mc&gt;Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)
-minimum_envelope_mass_for_third_dredgeup : The minimum envelope mass for third dredge up on the TPAGB. Early, solar metallicity models by Straniero et al suggested 0.5Msun is typical. However, circumstantial evidence (Izzard et al 2009) as well as newer models by Stancliffe and Karakas suggest that at low metallicity a value nearer zero is more appropriate. : (null)
-mass_of_pmz : The mass in the partial mixing zone of a TPAGB star, using the Karakas 2012 tables. Ask Carlo Abate for more details, or see the series of papers Abate et al 2012, 2013, 2014. Requires NUCSYN and USE_TABULAR_INTERSHELL_ABUNDANCES_KARAKAS_2012. : (null)
-c13_eff : The &#34;efficiency&#34; of partial mixing in a TPAGB star intershell region, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)
-mc13_pocket_multiplier : Multiplies the mass in the partial mixing zone of a TPAGB star, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)
-tides_convective_damping : Tidal convective damping algorithm. 0=TIDES_HURLEY2002 Zahn 197x timescales + Hut, as in Hurley et al (2002), 1 = TIDES_ZAHN1989 : Zahn 1989 lambdas + Hut. : (null)
-E2_prescription : Choose how to calculate the E2 structural parameter (used in tidal timescale calculations). 0=Hurley 1=Izzard (see Siess et al 2013). : (null)
-dtfac : A parameter to decrease the timestep ONLY during the TPAGB phase. : (null)
-hbbtfac : A parameter to modulate the temperature at the base of the hot-bottom burning zone in TPAGB stars. (Works only if NUCSYN is defined) : (null)
-wind_multiplier_%d : Wind multiplier for the stellar type specified by the intger %d. By default these are all 1.0. : (null)
-wind_type_multiplier_%d : Wind multiplier for different types of wind (MS, GB, AGB, WR, LBV, OTHER), given by the integer %d. By default these are all 1.0. : (null)
-pre_main_sequence : Set to True to turn on pre-main sequence evolution. Currently this is not a special stellar type, rather the first (small) fraction of the main sequence has increased radii to match the Railton et al 2014 fits to Tout&#39;s pre-main sequence stars. Requires PRE_MAIN_SEQUENCE. See also pre_main_sequence_fit_lobes. : (null)
-pre_main_sequence_fit_lobes : Set to True force a pre-main sequence star into its Roche lobe. This is done by artificially aging it. Requires PRE_MAIN_SEQUENCE : (null)
-small_envelope_method : Choose the method used to determine the stellar radius when the envelope mass is very thin. 0 = Hurley et al. (2002), 1 = Miller Bertolami et al. (2016+) for GB and AGB stars only. : (null)
-timestep_modulator : Multiplier applied to the global timestep. Requires TIMESTEP_MODULATION. : (null)
-timestep_multiplier%d : Multiplier applied to timestep limit &lt;n&gt;. : (null)
-maximum_timestep : The maximum timestep (MYr). : (null)
-zoomfac_multiplier_decrease : When a timestep is rejected, decrease the timestep by this factor (0.5). : (null)
-zoomfac_multiplier_increase : When a timestep is rejected, zooms, then succeeds, increase the timestep by this factor (1.2). : (null)
-maximum_timestep_factor : The maximum factor between two subsequent timesteps (1.2). : (null)
-maximum_nuclear_burning_timestep : The maximum timestep (MYr) in any nuclear burning phase. : (null)
-nova_retention_method : Algorithm used to calculate the amount of mass retained during a nova explosion. 0=use nova_retention_fraction. (other methods pending) : (null)
-MINT_metallicity : This sets the metallicity for MINT. It is ignored if set to -1.0, the default, in which case the normal metallicity parameter is used. : (null)
-gaia_Teff_binwidth : log10(Effective temperature) bin width used to make Gaia-like HRDs
- : (null)
-gaia_L_binwidth : log10(luminosity) bin width used to make Gaia-like HRDs
- : (null)
-gaia_colour_transform_method : Use this to select the method used to transform to Gaia colours from other colour schemes. GAIA_CONVERSION_UBVRI_UNIVARIATE_JORDI2010 = 0 Jordi et al.&#39;s univariate UBVRI fits, GAIA_CONVERSION_UBVRI_BIVARIATE_JORDI2010 = 1 Jordi et al.&#39;s bivariate UBVRI fits, GAIA_CONVERSION_ugriz_UNIVARIATE_JORDI2010 = 2 Jordi et al.&#39;s univariate UBVRI fits, GAIA_CONVERSION_ugriz_BIVARIATE_JORDI2010 = 3 Jordi et al.&#39;s univariate ugriv fits, GAIA_CONVERSION_UBVRI_UNIVARIATE_EVANS2018 = 4 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_ugriz_UNIVARIATE_EVANS2018 = 5 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_UBVRI_RIELLO2020 = 6 Riello et al. (2020, DR3) fits, GAIA_CONVERSION_ugriz_RIELLO2020 = 7 Riello et al. (2020, DR3) fits. : (null)
-rotationally_enhanced_mass_loss : Set to 1 to enable rotationally enhanced mass loss rate algorithms: 0= none, 1=formula cf. Langer models (=ROTATIONALLY_ENHANCED_MASSLOSS_LANGER_FORMULA), 2=limit accretion rate before wind loss is applied, 3 = both 1 and 2. See also rotationally_enhanced_exponent : (null)
-AGB_core_algorithm : Algorithm to use for calculating AGB core masses. 0=Hurley et al. 2002 if no NUCSYN, Karakas 2002 if NUCSYN is defined; 1=Hurley et al. 2002 (overshooting models); 1=Karakas 2002 (non-overshooting models). : (null)
-AGB_radius_algorithm : Algorithm to use for calculating radii on the TPAGB. : (null)
-AGB_luminosity_algorithm : Algorithm to use for calculating luminosities on the TPAGB. : (null)
-AGB_3dup_algorithm : Algorithm to use for calculating third dredge up efficiency on the TPAGB. : (null)
-overspin_algorithm : Algorithm to determine what we do when a star is rotating at its breakup velocity. OVERSPIN_BSE (0) conservatively transfers the angular momentum back to the orbit. OVERSPIN_MASSLOSS uses the rotationally_enhanced_massloss parameter to lose mass which carries away the angular momentum. : (null)
-rotationally_enhanced_exponent : The exponent (power) by which rotationally enhanced mass loss is raised. Requires ROTATIONALLY_ENHANCED_MASS_LOSS. See also rotationally_enhanced_mass_loss. : (null)
-batchmode : Set the batchmode control variable. Use only if you know what you are doing! : (null)
-speedtests : If True, turns on speedtests during version information (off by default). : (null)
-use_fixed_timestep_%d : Set to True to use fixed timestep &lt;n&gt;, False to turn off. Fixed timesteps are on (this is True) by default. : (null)
-task%d : Control tasks to be performed by binary_c. By default, these are all TRUE. For more information see binary_c_macros.h, particularly the BINARY_C_TASK_* macros. : (null)
-orbiting_object : Usage: --orbiting_object mass,spinrate,central_object,period. : 1.0
-orbiting_objects_log : If True, turn on orbiting-object log. : (null)
-orbiting_objects_log : If True, turn on orbiting-object log. : (null)
-orbiting_objects_wind_accretion_multiplier : Multiplier for wind accretion on orbiting objects. Hurley et al 2002 use 1.5, which is the default. : (null)
-orbiting_objects_close_pc_threshold : How close are orbiting objects allowed to be? Set this to be the absolute percentage difference minimum. : (null)
-orbiting_objects_tides_multiplier : Multiplier for tidal torques on orbiting objects. : (null)
-evaporate_escaped_orbiting_objects : If True, evaporate orbiting objects that have escaped the system. : (null)
-RLOF_transition_objects_escape : If True, objects that escape their Roche lobe are ejected from the system, otherwise they are placed just outside the minimum stable orbit. : (null)
-PN_resolve : If True, the timestep will be shortened to resolve better the PN phase (FALSE). : (null)
-PN_resolve_minimum_luminosity : The luminosity above which extra time resolution for PNe is applied (see PN_resolve). : (null)
-PN_resolve_maximum_envelope_mass : The envelope mass below which extra time resolution for PNe is applied (see PN_resolve). : (null)
-PN_resolve_minimum_effective_temperature : The minimum effective temperature above which extra time resolution for PNe is applied (see PN_resolve). : (null)
-PN_fast_wind : If True, thin-envelope PNe will have fast winds (FALSE). : (null)
-PN_fast_wind_dm_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)
-PN_fast_wind_mdot_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)
-PN_fast_wind_dm_AGB : The envelope mass below which fast wind used during the AGB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)
-PN_fast_wind_mdot_AGB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)
-HeWD_HeWD_ignition_mass : HeWD-HeWD mergers above this mass reignite helium. (0.3) : (null)
-wind_Nieuwenhuijzen_luminosity_lower_limit : Above this luminosity we activate the Nieuwenhuijzen and de Jager wind (4e3 Lsun). : (null)
-wind_LBV_luminosity_lower_limit : Above this luminosity we activate the LBV wind (6e5 Lsun). : (null)
-colour%d : Sets colour %d (0 to NUM_ANSI_COLOURS-1) to the extended ANSI set colour you choose (1-255, 0 means ignore). The colour numbers are defined in src/logging/ansi_colours.h : (null)
-apply_Darwin_Radau_correction : Apply Darwin-Radau correction to the moment of inertia to take rotation into account? : (null)
-degenerate_core_merger_nucsyn : If TRUE, assume that in a degnerate core merger, energy is generated from nucleosynthesis of the whole core, and that this can disrupt the core. The BSE algorithm (Hurley et al. 2002) assumes this to be TRUE, but binary_c assumes FALSE by default. (FALSE) : (null)
-degenerate_core_helium_merger_ignition : If TRUE, assume that when there is a degenerate helium core merger, the star reignites helium. This is required to make R-type carbon stars. (TRUE) : (null)
-degenerate_core_merger_dredgeup_fraction : If non-zero, mix this fraction of the degenerate core during a merger.(0.0). : (null)
-
-############################################################
-##### Section Binary
-############################################################
-separation : Set the orbital separation (actually the semi-major axis) of the binary (internal index 0, stellar indices 0 and 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)
-separation_triple : Set the orbital separation (actually the semi-major axis) of the triple (internal index 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)
-separation_quadruple : Set the orbital separation (actually the semi-major axis) of the quadruple (internal index 2) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)
-orbital_period : Set the initial orbital period of the binary, stars 1 and 2 (internal indices 0 and 1) in days. See also separation. : (null)
-orbital_period_triple : Set the initial orbital period of the triple in days. See also separation. : (null)
-orbital_period_quadruple : Set the orbital period of the outer binary in a quadrulple (stars 3 and 4, internal indices 2 and 3) in days. See also separation. : (null)
-eccentricity : Set the initial eccentricity of the binary orbit (stars 1 and 2, internal indices 0 and 1). : (null)
-eccentricity_triple : Set the initial eccentricity of the triple orbit. : (null)
-eccentricity_quadruple : Set the initial eccentricity of the outer binary of a quadruple (stars 3 and 4, internal indices 2 and 3). : (null)
-incliniation : Set the initial orbital_inclination of the binary relative to zero. : (null)
-incliniation_triple : Set the initial orbital_inclination of the triple orbit relative to zero. : (null)
-incliniation_quadruple : Set the initial orbital_inclinationy of the quadruple orbit relative to zero. : (null)
-orbital_phase : Set the initial orbital phase of the binary orbit. : (null)
-orbital_phase_triple : Set the initial orbital phase of the triple orbit. : (null)
-orbital_phase_quadruple : Set the initial orbital phase of the quadruple orbit. : (null)
-argument_of_periastron : Set the initial argument of periastron of the binary orbit. : (null)
-argument_of_periastron_triple : Set the initial argument of periastron of the triple orbit. : (null)
-argument_of_periastron_quadruple : Set the initial argument of periastron of the quadruple orbit. : (null)
-disc_timestep_factor : Factor that multiplies the natural timestep of a disc. : (null)
-white_dwarf_cooling_model : White dwarf cooling model, relates age to luminosity. WHITE_DWARF_COOLING_MESTEL = 0 is Mestel&#39;s model, WHITE_DWARF_COOLING_MESTEL_MODIFIED = 1 is Hurley&#39;s modified Mestel model, WHITE_DWARF_COOLING_CARRASCO2014 = 2 is based on Carrasco (2014) tables.   : (null)
-white_dwarf_radius_model : White dwarf radius model, radius to mass (and perhaps age). WHITE_DWARF_RADIUS_NAUENBERG1972 = 0 Nauenberg (1972), WHITE_DWARF_RADIUS_MU = 1 mu-dependent variant, WHITE_DWARF_RADIUS_CARRASCO2014 = 2 is based on Carrasco (2014) tables. : (null)
-cbdisc_mass_loss_inner_viscous_accretion_method : Chooses where the mass that is accreted from the inner edge of a circumbinary disc goes, i.e. to which star. 0 = Young and Clarke 2015, 1 = Gerosa et al 2015, 2 = 50:50 (i.e. not dependence on mass). : (null)
-cbdisc_inner_edge_stripping : If True, allow inner edge mass stripping. : (null)
-cbdisc_end_evolution_after_disc : If True, stop evolution when a disc evaporates. : (null)
-cbdisc_no_wind_if_cbdisc : If True, disable stellar winds when there is a circumbinary disc. : (null)
-cbdisc_outer_edge_stripping : If True, allow outer edge mass stripping. : (null)
-disc_n_monte_carlo_guesses : Number of monte carlo guesses to try in the disc solver if the normal list of guesses fails (0). : (null)
-disc_log : If 1, turn on the disc log. Requires DISC_LOG to be defined on build. : (null)
-disc_log2d : If 1, turn on the 2d disc log. Requires DISC_LOG to be defined on build. : (null)
-disc_log_dt : If non-zero, only allows disc log output every disc_log_dt Myr. : (null)
-disc_log_directory : Directory into which disc logging is sent (must exist!). : /tmp/
-post_ce_adaptive_menv : If TRUE, and if post_ce_objects_have_envelopes is TRUE, then the envelope mass of a post-CE star is such that it sits just inside its Roche lobe. If FALSE then a fixed (thin) envelope mass is applied that depends on the stellar type (see macros POST_CE_ENVELOPE_DM_GB, POST_CE_ENVELOPE_DM_EAGB and POST_CE_ENVELOPE_DM_TPAGB). : (null)
-post_ce_objects_have_envelopes : If TRUE then post-common-envelope objects have thin envelopes. You need this if you are to have post-CE post-AGB stars. Note that this *may* be unstable, i.e. you may end up having many CEEs. The mass in the envelope is controlled by post_ce_adaptive_menv. TRUE by default. : (null)
-PN_comenv_transition_time : post-common envelope transition time in years (1e2).  This is the time taken to move from CEE ejection to Teff &gt; 30e4 K. Hall et al. (2013) suggest ~100 years. : (null)
-minimum_time_between_PNe : The minimum time (Myr) between planetary nebula detections. This prevents multiple, fast common envelopes triggering two PNe (0.1). : (null)
-PN_Hall_fading_time_algorithm : In stars with low mass (&lt;0.45Msun) cores, you can choose to set the PN fading time to either the minimum (PN_HALL_FADING_TIME_ALGORITHM_MINIMUM) or maximum (PN_HALL_FADING_TIME_ALGORITHM_MAXIMUM) as shown in Fig. 6 of Hall et al. (2013). : (null)
-PPN_envelope_mass : Desired pre-planetary nebula (post-AGB) envelope mass. : (null)
-cbdisc_eccentricity_pumping_method : Select from various eccentricity-pumping methods when there is a circumbinary disc. Requires DISCS. 0 = off. : (null)
-cbdisc_viscous_photoevaporative_coupling : Set to 1 to turn on viscous-photoevaporative coupling in circumbinary discs. Requires DISCS. 0 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_NONE = off, 1 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_INSTANT instant, 2 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_VISCOUS slow, viscous wind. : (null)
-cbdisc_inner_edge_stripping_timescale : Defines the timescale for mass loss from by inner edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_in. : (null)
-cbdisc_outer_edge_stripping_timescale : Defines the timescale for mass loss from by outer edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_out. : (null)
-cbdisc_viscous_L2_coupling : Set to 1 to turn on viscous-L2-loss coupling in circumbinary discs. Requires DISCS. 0 = off. : (null)
-gravitational_radiation_model : Model for gravitational radiation from the system. 0=Hurley et al 2002 (Landau and Lifshitz 1951). 1 = as 0 but only when there is no RLOF. 2 = none. : (null)
-nova_irradiation_multiplier : Multiplier for nova-radiative induced mass loss. (Shara+1986) : (null)
-gravitational_radiation_modulator_J : Modulator for gravitational wave radiation angular momentum loss rate (1.0). : (null)
-gravitational_radiation_modulator_e : Modulator for gravitational wave radiation eccentricity pumping rate (1.0). : (null)
-nova_faml_multiplier : Nova friction-induced angular momentum loss multiplier. (Shara+1986) : (null)
-RLOF_angular_momentum_transfer_model : Choose angular momentum transfer model in RLOF. 0=BSE (with discs), 1=conservative : (null)
-post_SN_orbit_method : Method by which the post-SN orbit is calculated. 0=BSE, 1=Tauris&amp;Taken 1998. : (null)
-multiplicity : Multiplicity: 1=single star, 2=binary, 3=triple, 4=quadruple. : (null)
-accretion_limit_eddington_steady_multiplier : Steady accretion is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_steady_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)
-accretion_limit_eddington_LMMS_multiplier : Accretion from a low-mass, convective, main_sequence star is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_LMMS_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)
-accretion_limit_eddington_WD_to_remnant_multiplier : Accretion from a WD onto a remnant star (e.g. another white dwarf, neutron star or black hole) is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_WD_to_remnant_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)
-accretion_limit_thermal_multiplier : Mass transfer onto a MS, HG or CHeB star is limited by the accretor&#39;s thermal rate times this multiplier. : (null)
-accretion_limit_dynamical_multiplier : Mass transfer is limited by the accretor&#39;s dynamical rate times this multiplier. : (null)
-donor_limit_envelope_multiplier : Mass transfer by RLOF is limited by this fraction of the donor&#39;s envelope mass per timestep : (null)
-donor_limit_thermal_multiplier : Mass transfer by RLOF is limited by the accretor&#39;s thermal rate times this multiplier. : (null)
-donor_limit_dynamical_multiplier : Mass transfer by RLOF is limited by the donor&#39;s dynamical rate times this multiplier. : (null)
-Bondi_Hoyle_accretion_factor : Wind accretion rate, as calculated by the Bondi-Hoyle-Littleton formula, multiplcation factor. Hurley et al 2002 use 1.5, which is the default. : (null)
-tidal_strength_factor : A modulator for the tidal strength. If this factor &gt; 1 then tides are stronger, i.e. tidal timescales are reduced. : (null)
-hachisu_qcrit : Critical q=Maccretor/Mdonor above which Hachisu&#39;s disk wind turns on. : (null)
-hachisu_disk_wind : Set to True to turn on Hachisu&#39;s disk wind when material accretes too fast onto a white dwarf. This helps to make more SNeIa. See also hachisu_qcrit. : (null)
-mass_accretion_for_eld : The mass that must be accreted onto a COWD for it to ignite as an edge-lit detonation SNIa. : (null)
-WDWD_merger_algorithm : Algorithm to be used when merging two white dwarfs. 0 = Hurley et al. (2002), 1 = Perets+ (2019), 2 = Chen+ (2016, todo)  : (null)
-type_Ia_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from Chandrasekhar-mass exploders. 0 = DD7 (Iwamoto 1999), 1 = Seitenzahl 2013 3D hydro yields (you must also set Seitenzahl2013_model)  : (null)
-Seitenzahl2013_model : Which of Seitenzahl et al. 2013&#39;s models to use? One of N1,N3,N5,N10,N20,N40,N100L,N100,N100H,N150,N200,N300C,N1600,N1600C,N100_Z0.5,N100_Z0.1,N100_Z0.01 (defaults to N100). : N1
-type_Ia_sub_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from sub-Chandrasekhar-mass exploders. (Currently unused.) : (null)
-max_HeWD_mass : The maximum mass a HeWD can have before it ignites helium (0.7). : (null)
-merger_mass_loss_fraction : Fraction of the total mass which is lost when stars merge. : (null)
-merger_angular_momentum_factor : When two stars merge the resulting single star retains a fraction of the total system angular momentum (or the critical spin angular momentum, if it is smaller) multiplied by this factor. : (null)
-wind_angular_momentum_loss : Prescription for losing angular momentum in a stellar wind. 0=Hurley et al 2002 (&#39;Tout&#39;) prescription, 1=lw i.e. a factor multiplying the specific orbital angular momentum, 2=lw hybrid for fast winds. Set wind_djorb_fac to the desired factor.. : (null)
-wind_djorb_fac : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=0 (the Tout/Hurley et al 2002 prescription). See wind_angular_momentum_loss. : (null)
-lw : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=1,2 (the &#39;lw&#39; prescription). See wind_angular_momentum_loss. : (null)
-VW93_EAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)
-VW93_TPAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)
-use_periastron_Roche_radius : Set this to True to use the Roche lobe radius at periastron, rather than (the default to) assume a circular orbit. This will be useful one day when we treat RLOF in eccentric orbits properly, hopefully. : (null)
-qcrit_LMMS : Apply critical q=Mdonor/Maccretor value for low-mass main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_LMMS : Apply critical q=Mdonor/Maccretor value for (low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-qcrit_degenerate_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)
-mass_for_Hestar_Ia_upper : Only helium stars below this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_lower. : (null)
-mass_for_Hestar_Ia_lower : Only helium stars above this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_upper. : (null)
-alphaCB : Circumbinary disk viscosity parameter, alpha. : (null)
-minimum_donor_menv_for_comenv : Minimum donor envelope mass for common envelope evolution to be triggered (Msun). Default 0. : (null)
-comenv_prescription : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)
-comenv_prescription%d : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)
-comenv_ejection_spin_method : When a common envelope is ejected, we need to decide how fast the stars are left spinning. COMENV_EJECTION_SPIN_METHOD_DO_NOTHING (0) is the default, this just leaves the stars/stellar cores spinning with the same spin rate (omega = angular velocity) with which they entered the common envelope phase. COMENV_EJECTION_SPIN_METHOD_SYCHRONIZE instead tidally synchronizes the stars with their new orbital angular velocity. : (null)
-comenv_merger_spin_method : When a common envelope binary merges, we need to decide how fast the resulting single star is left spinning. COMENV_MERGER_SPIN_METHOD_SPECIFIC (0) is the default, this preserves angular momentum but limits the specific angular momentum of the merged star to the specific angular momentum of the system at the onset of common envelope evolution. COMENV_MERGER_SPIN_METHOD_CONSERVE_ANGMOM (1) sets the merger&#39;s angular momentum to be that of the system at the onset of common envelope evolution (which means the star may be rotating supercritically). COMENV_MERGER_SPIN_METHOD_CONSERVE_OMEGA (2) sets the spin rate (angular frequency = omega) of the merged star to be that of the orbit just at the onset of common envelope evolution. : (null)
-comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope&#39;s mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)
-comenv_ms_accretion_fraction : Experimental. During common envelope evolution, a main sequence may accrete a fraction of the envelope&#39;s mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_mass. : (null)
-comenv_ns_accretion_mass : Experimental. During common envelope evolution, a neutron star may accrete some of the envelope&#39;s mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_fraction. : (null)
-comenv_ns_accretion_fraction : Experimental. During common envelope evolution, a neutron star may accrete a fraction of the envelope&#39;s mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_mass. : (null)
-alpha_ce : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)
-alpha_ce%d : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)
-lambda_ce : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to LAMBDA_CE_DEWI_TAURIS == -1 binary_c uses the Dewi and Tauris fits instead, LAMBDA_CE_WANG_2016 == -2 uses the formalism of Wang, Jia and Li (2016), if LAMBDA_CE_POLYTROPE == -3 then a polytropic formalism is used (see also comenv_splitmass) and if LAMBDA_CE_KLENCKI_2020 == -4 use Klencki et al. (2020). : (null)
-lambda_ce%d : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to -1 binary_c uses the Dewi and Tauris fits instead, -2 uses the formalism of Wang, Jia and Li (2016) and if -3 then a polytropic formalism is used (see also comenv_splitmass). : (null)
-comenv_splitmass : When lambda_ce=-2, the envelope binding energy, lambda, is calculated using a polytropic formalism. The comenv_splitmass defines the point, in the units of the core mass, above which material is ejected. : (null)
-nelemans_recalc_eccentricity : If True, recalculate the eccentricity after angular momentum is removed.  : (null)
-comenv_post_eccentricity : Eccentricity remaining after common envelope ejection. : (null)
-nelemans_gamma : Set the fraction of the orbital specific angular momentum that is used to eject the common envelope according to the Nelemans and Tout prescription. See also nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)
-nelemans_minq : Only activate the Nelemans and Tout common envelope prescription for q&gt;nelemans_minq. See also nelemans_gamma, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)
-nelemans_max_frac_j_change : Maximum fractional angular momentum change in the Nelemans and Tout common envelope prescription. See also nelemans_gamma, nelemans_minq, nelemans_n_comenvs. : (null)
-nelemans_n_comenvs : Set the maximum number of common envelope ejections allowed to follow the Nelemans and Tout prescription, after which the standard alpha prescription is used. : (null)
-lambda_ionisation : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)
-lambda_ionisation%d : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)
-lambda_enthalpy : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)
-lambda_enthalpy%d : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)
-cbdisc_albedo : Circumbinary-disc albedo. Requires DISCS. : (null)
-cbdisc_gamma : Circumbinary disc gamma (equation of state) parameter. Requires DISCS. : (null)
-cbdisc_alpha : Circumbinary disc alpha (viscosity) parameter. Requires DISCS. : (null)
-cbdisc_kappa : Circumbinary disc kappa (opacity) parameter. Requires DISCS. : (null)
-cbdisc_minimum_evaporation_timescale : Circumbinary disc minimum evaporation timescale (years). If (slow, not edge stripped) mass loss would evaporate the disc on a timescale less than this, simply evaporate the disc immediated. Usually set to 1y, ignore if zero. Requires DISCS. : (null)
-cbdisc_torquef : Circumbinary disc binary torque multiplier. Requires DISCS. : (null)
-cbdisc_max_lifetime : Circumbinary disc maximum lifetime (years, ignored if 0). Requires DISCS. : (null)
-cbdisc_init_dM : On cbdisc start, reduce mass by a fraction dM if it won&#39;t converge. Requires DISCS. : (null)
-cbdisc_init_dJdM : On cbdisc start, reduce angular momentum by a fraction dJ/dM*dM if it won&#39;t converge. Requires DISCS. : (null)
-cbdisc_mass_loss_constant_rate : Circumbinary disc constant mass loss rate (Msun/year). Requires DISCS. : (null)
-cbdisc_mass_loss_FUV_multiplier : Circumbinary disc FUV mass loss rate multiplier (no units). Requires DISCS. : (null)
-cbdisc_mass_loss_Xray_multiplier : Circumbinary disc X-ray mass loss rate multiplier (no units). Requires DISCS. : (null)
-cbdisc_mass_loss_ISM_ram_pressure_multiplier : Circumbinary disc interstellar medium ram pressure stripping mass loss rate multiplier (no units). Requires DISCS. : (null)
-cbdisc_mass_loss_ISM_pressure : Circumbinary disc interstellar medium ram pressure in units of Boltzmann constant per Kelvin (I think...). Requires DISCS. Typically 3000.0. See e.g. http://www.astronomy.ohio-state.edu/~pogge/Ast871/Notes/Intro.pdf page 15 or https://arxiv.org/pdf/0902.0820.pdf Fig. 1 (left panel). : (null)
-cbdisc_mass_loss_inner_viscous_multiplier : Circumbinary disc inner edge viscous mass loss rate multiplier (no units). Requires DISCS. : (null)
-cbdisc_mass_loss_inner_viscous_angular_momentum_multiplier : Circumbinary disc inner edge viscous angular momentum multiplier (no units). The inner edge angular momentum Requires DISCS. : (null)
-cbdisc_resonance_multiplier : Circumbinary disc resonant interaction multiplier, affects eccentricity pumping and angular momentum rates. Requires DISCS. : (null)
-cbdisc_resonance_damping : Circumbinary disc resonant interaction damping: should be on (True) to damp the l=1, m=2 resonance when the disc inner edge lies outside the resonance location. Requires DISCS. : (null)
-cbdisc_fail_ring_inside_separation : If True, while converging on a structure, circumbinary discs with Rring &lt; the binary separation are immediately failed. : (null)
-cbdisc_mass_loss_inner_L2_cross_multiplier : Circumbinary disc inner edge L2-crossing mass loss rate multiplier (no units). Requires DISCS. : (null)
-cbdisc_minimum_luminosity : Circumbinary disc minimum luminosity. If the disc becomes dimmer than this, the disc is evaporated instantly. Requires DISCS. : (null)
-cbdisc_minimum_mass : Circumbinary disc minimum mass. If the disc becomes less massive than this, the disc is evaporated instantly. Requires DISCS. : (null)
-cbdisc_minimum_fRing : Circumbinary disc minimum fRing. If the disc becomes a ring, and fRing = |Rout/Rin-1| &lt; this value (and this value is non-zero), the disc is evaporated instantly. Requires DISCS. : (null)
-comenv_disc_angmom_fraction : If &gt;0 Fraction of the common envelope&#39;s angular momentum that goes into the circumbinary disc. If -1 then uses the moments of inertia to calculate (deprecated), if -2 use the common envelope&#39;s specific angular momentum, if -3 uses the L2 point at the end of the common envelope to set the angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)
-comenv_disc_mass_fraction : Fraction of the common envelope&#39;s mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)
-wind_disc_angmom_fraction : If &gt;0 Fraction of the wind envelope&#39;s angular momentum that goes into the circumbinary disc. If -1 then uses the L2 point&#39;s specific angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)
-wind_disc_mass_fraction : Fraction of the stellar wind&#39;s mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)
-WRLOF_method : Choose whether and how to apply wind-Roche-lobe-overflow. 0=none, 1=q-dependent, 2=quadratic See Abate et al 2013/14 for details. Requires WRLOF_MASS_TRANSFER. : (null)
-minimum_timestep : The minimum timestep (Myr). : (null)
-timestep_solver_factor : Factor applied in timestep_limits, e.g. to prevent X changing too fast by comparing to X/dX/dt, which is usually 1 but can be higher to lengthen timesteps when using an alternative solver. : (null)
-RLOF_mdot_factor : Multiplier applied to the mass transfer rate during Roche-lobe overflow. Requires RLOF_MDOT_MODULATION. : (null)
-RLOF_f : Factor to enlarge a Roche lobe, nominally because of radiation pressure (see Dermine et al paper). Requires RLOF_RADIATION_CORRECTION. : (null)
-minimum_separation_for_instant_RLOF : If True, instead of evolving the system just report the minimum separation (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_orbital_period_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)
-minimum_orbital_period_for_instant_RLOF : If True, instead of evolving the system just report the minimum orbital period (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_separation_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)
-maximum_mass_ratio_for_instant_RLOF : If True, instead of evolving the system just report the maximum mass ratio (on the zero-age main sequence) that would lead to instant RLOF, given M1 and orbital period. Used by binary_grid. See also minimum_separation_for_instant_RLOF and minimum_orbital_period_for_instant_RLOF. : (null)
-RLOF_method : Use RLOF_method to choose the algorithm you use for Roche-lobe overflow mass loss rate calculations. 0=Hurley et al 2002, 1=Adaptive (for radiative stars) R=RL method, 2=Ritter (probably broken), 3=Claeys etal 2014 variant on Hurley et al 2002. : (null)
-RLOF_interpolation_method : When a star overflows its Roche lobe, it always has R&gt;RL because of the limited time resolution of the simulation. Binary_c then uses an algorithm to get back to when R~RL (within a desired tolerance, set in RLOF_ENTRY_THRESHOLD which is usually 1.02, i.e. overflow of 2%). You can choose algorithm 0, the Hurley et al 2002 method which reverses time (i.e. uses a Newton-like scheme), or 1 to use the binary_c method which rejects a timestep (and hence does no logging on that timestep) and repeats with half the timestep until R~RL. The latter is now the default, because this means there are no negative timesteps which break various other algorithms (e.g. nucleosynthesis). : (null)
-nova_retention_fraction : The mass accreted during a nova as fraction of mass transferred : (null)
-beta_reverse_nova : The fraction of mass ejected in a nova explosion which is accreted back onto the companion star. Set to -1 to automatically calculate based on a geometric argument, or 0 or positive to set the value. : (null)
-WD_accretion_rate_novae_upper_limit_hydrogen_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is hydrogen rich : above this rate the mass transfer leads to stable burning. : (null)
-WD_accretion_rate_novae_upper_limit_helium_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is helium rich : above this rate the mass transfer leads to stable burning. : (null)
-WD_accretion_rate_novae_upper_limit_other_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is neither hydrogen nor helium rich : above this rate the mass transfer leads to stable burning. : (null)
-WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a hydrogen-rich donor. Below this mass transfer leads to stable burning. : (null)
-WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a helium-rich donor. Below this mass transfer leads to stable burning. : (null)
-WD_accretion_rate_new_giant_envelope_lower_limit_other_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope when the donor is neither hydrogen nor helium rich. Below this mass transfer leads to stable burning. : (null)
-CRAP_parameter : Tidally enhanced mass loss parameter. See Tout and Eggleton&#39;s paper on the subject. (Was the parameter bb). : (null)
-individual_novae : If individual_novae is True, novae are resolved such that each explosion is performed separtaely. : (null)
-nova_timestep_accelerator_num : The nova timestep is accelerated if the nova number exceeds nova_timestep_accelerator_num. If zero or negative, acceleration is off. See also nova_timestep_accelerator_index and nova_timestep_accelerator_max. Only used if individual_novae is on.
- : (null)
-nova_timestep_accelerator_index : The index at which the nova timestep is accelerated. A larger value gives longer timesteps. See also nova_timestep_accelerator_num and nova_timestep_accelerator_max. Only used if individual_novae is on.
- : (null)
-nova_timestep_accelerator_max : The nova timestep is accelerated by a factor that is capped at nova_timestep_accelerator_max. This parameter is ignored if it is zero or negative. See also nova_timestep_accelerator_num and nova_timestep_accelerator_index. Only used if individual_novae is on.
- : (null)
-nonconservative_angmom_gamma : Mass lost from the system (but NOT from a stellar wind) takes a fraction gamma of the orbital angular momentum with it. Set to -1 to take the specific angular momentum of the donor star. Set to -2 to take super-Eddington, nova and disk-wind angular momenta as if a wind from the accretor. : (null)
-max_stellar_angmom_change : Maxmimum fractional change in stellar angular momentum allowed before a timestep is rejected (0.05). : (null)
-comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope&#39;s mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)
-
-############################################################
-##### Section Nucsyn
-############################################################
-third_dup : If True, enables third dredge up. Requires NUCSYN and NUCSYN_THIRD_DREDGE_UP. : (null)
-third_dup_multiplier : Usage: --third_dup_multiplier &lt;i&gt; &lt;f&gt;. Multiplies the abundance of element &lt;i&gt; by &lt;f&gt; during third dredge up. : 1.0
-NeNaMgAl : Enables NeNaMgAl reaction network. Requires NUCSYN and NUCSYN_HBB. : Ignore
-nucsyn_network%d : Usage: --nucsyn_network%d &lt;boolean&gt;. Turn a nuclear network on or off. : (null)
-nucsyn_network_error%d : Usage: --nucsyn_network_error%d &lt;f&gt;. Threshold error in nuclear network solver for network %d. : (null)
-nucreacmult%d : Usage: --nucreacmult%d &lt;f&gt;. Multiply nuclear reaction given by the integer %d (integer) by f (float).  : (null)
-nucsyn_metallicity : This sets the metallicity of the nucleosynthesis algorithms, i.e. the amount (by mass) of matter which is not hydrogen or helium. Usually you&#39;d just set this with the metallicity parameter, but if you want the nucleosynthesis to be outside the range of the stellar evolution algorithm (e.g. Z=0 or Z=0.04) then you need to use nucsyn_metallicity. That said, it&#39;s also outside the range of some of the nucleosynthesis algorithms as well, so you have been warned! : (null)
-nucsyn_solver : Choose the solver used in nuclear burning. 0 = KAPS_RENTROP is a Kaps-Rentrop scheme (fast, not great for stiff problems), 1 = LSODA (Adams/BSF switcher), 2 = CVODE library (https://computing.llnl.gov/projects/sundials. Default 0.  : 0
-initial_abundance_mix : initial abundance mixture: 0=AG89, 1=Karakas 2002, 2=Lodders 2003, 3=Asplund 2005 (not available?), 4=Garcia Berro, 5=Grevesse Noels 1993 : 0
-init_abund : Usage: --init_abund &lt;i&gt; &lt;X&gt;. Sets the initial abundance of isotope number &lt;i&gt; to mass fraction &lt;X&gt;. : 0.02
-init_abund_mult : Usage: --init_abund_mult &lt;i&gt; &lt;f&gt;. Multiplies the initial abundance of isotope number &lt;i&gt; by &lt;f&gt;. : 1.0
-init_abund_dex : Usage: --init_abund_dex &lt;i&gt; &lt;f&gt;. Changes the initial abundance of isotope number &lt;i&gt; by &lt;f&gt; dex. : 0.0
-init_abunds_only : If True, outputs only the initial abundances, then exits. : (null)
-initial_abunds_only : If True, outputs only the initial abundances, then exits. : (null)
-no_thermohaline_mixing : If True, disables thermohaline mixing. : (null)
-lithium_GB_post_Heflash : Sets the lithium abundances after the helium flash. Requires NUCSYN and LITHIUM_TABLES. : (null)
-lithium_GB_post_1DUP : Sets the lithium abundance after first dredge up. Requires NUCSYN and LITHIUM_TABLES. : (null)
-lithium_hbb_multiplier : Multiplies the lithium abundances on the AGB during HBB (based on Karakas/Fishlock et al models).Requires NUCSYN and LITHIUM_TABLES. : (null)
-angelou_lithium_decay_function : Functional form which describes Li7 decay. Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Choices are : 0 expoential (see angelou_lithium_decay_time). : (null)
-angelou_lithium_LMMS_time : Time at which lithium manufacture is triggered in a low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_MS_time : Time at which lithium manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_HG_time : Time at which lithium manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_GB_time : Time at which lithium manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_CHeB_time : Time at which lithium manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_EAGB_time : Time at which lithium manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_TPAGB_time : Time at which lithium manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_LMMS_decay_time : Decay time for surface lithium abundance during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_MS_decay_time : Decay time for surface lithium abundance on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_HG_decay_time : Decay time for surface lithium abundance on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_GB_decay_time : Decay time for surface lithium abundance on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_CHeB_decay_time : Decay time for surface lithium abundance during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_EAGB_decay_time : Decay time for surface lithium abundance on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_TPAGB_decay_time : Decay time for surface lithium abundance on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_LMMS_massfrac : Lithium mass fraction when its manufacture is triggered during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_MS_massfrac : Lithium mass fraction when its manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_HG_massfrac : Lithium mass fraction when its manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_GB_massfrac : Lithium mass fraction when its manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_CHeB_massfrac : Lithium mass fraction when its manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_EAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_TPAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).
- : (null)
-angelou_lithium_vrot_trigger : Equatorial rotational velocity at which lithium manufacture is triggered (km/s). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.
- : (null)
-angelou_lithium_vrotfrac_trigger : Fraction of Keplerian (breakup) equatorial rotational velocity at which lithium manufacture is triggered (must be &lt;1, ignored if 0). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.
- : (null)
-
-############################################################
-##### Section Output
-############################################################
-cf_amanda_log : Enable logging to compare to Amanda&#39;s models. : (null)
-float_overflow_checks : Turn on to enable floating-point overflow checks at the end of each timestep, if they are available. 0=off, 1=warn (stderr) on failure, 2=exit on failure (0) : (null)
-save_pre_events_stardata : Enable this to save a copy of stardata to stardata-&gt;pre_events_stardata just before an event. : (null)
-disable_end_logging : Disable the logging that happens at the end of the evolution. : (null)
-ensemble : Turn on ensemble calculations and output. : (null)
-ensemble_filters_off : Sets all ensemble filters to be off (FALSE) - these can then be enabled one-by-one with --ensemble_filter_[...] TRUE. : (null)
-ensemble_filter_%d : Turn on or off ensemble filter &lt;n&gt;. For a list of filters, see ensemble_macros.h. : (null)
-ensemble_legacy_ensemble : Turn on ensemble legacy population output. : (null)
-legacy_yields : Turn on ensemble legacy yield output. : (null)
-ensemble_defer : Defer ensemble output. : (null)
-ensemble_dt : When doing ensemble calculations, data are stored and/or output every ensemble_dt Myr. See also ensemble, ensemble_logdt, ensemble_startlogtime. : (null)
-ensemble_logdt : When doing ensemble calculations, and when logensembletimes is set, the ensemble is stored/output every ensemble_logdt Myr. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)
-ensemble_startlogtime : Start log ensemble data storage/calculations/output at ensemble_startlogtime. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)
-ensemble_logtimes : When doing ensemble calculations/output, set this to act at log times rather than linear times. : (null)
-postagb_legacy_logging : Turn on post-AGB legacy logging. : (null)
-disc_legacy_logging : Turn on disc legacy logging. : (null)
-EMP_logg_maximum : Maximum logg that EMP stars are allowed to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_minimum_age. : (null)
-EMP_minimum_age : Minimum age that EMP stars are required to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum. : (null)
-EMP_feh_maximum : Maximum [Fe/H] that an EMP stars may have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default -2.0. : (null)
-CEMP_cfe_minimum : Minimum [C/Fe] that CEMP stars are required to have. See Izzard et al 2009. See also NEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 0.7. : (null)
-NEMP_cfe_minimum : Minimum [N/Fe] that NEMP stars are required to have. See Izzard et al 2009, Pols et al. 2012. See also CEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 1.0. : (null)
-thick_disc_start_age : Lookback time for the start of the thick disc star formation, e.g. 13e3 Myr. Units = Myr. : (null)
-thick_disc_end_age : Lookback time for the end of the thick disc star formation, e.g. 4e3 Myr. Units = Myr. : (null)
-thick_disc_logg_min : Minimum logg for thick disc giants to be logged. : (null)
-thick_disc_logg_max : Maximum logg for thick disc giants to be logged. : (null)
-escape_velocity : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 1e9 km/s. See also escape_fraction. : (null)
-escape_fraction : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 0.0. See also escape_velocity. : (null)
-colour_log : If set to True, thelog is coloured with ANSI colour formatting. Requires FILE_LOG to be defined. :
-log_filename : Location of the output logging filename. If set to &#34;/dev/null&#34; then there is no logging. :
-log_arrows : Add arrows to the output log to show whether values are increasing or decreasing. :
-stopfile : File which, when it exists, will stop the current binary_c repeat run. :
-stardata_dump_filename : Location of the stardata dump file. :
-stardata_load_filename : Location of the stardata file to load. :
-api_log_filename_prefix : Location of the output logging filename prefix for the API. If set to &#34;/dev/null&#34; then there is no logging. : 0
-hrdiag_output : Set to True to output high time-resolution Hertzstrpung-Russell diagram information. Requires HRDIAG. : (null)
-internal_buffering : Experimental. Set to non-zero values to implement internal buffering prior to output. For use with binary_grid, you shouldn&#39;t really be playing with this. : (null)
-eccentric_RLOF_model : Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE.
- : (null)
-force_circularization_on_RLOF : If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) : (null)
-wtts_log : If True, enables log file output for WTTS2. : (null)
-fabian_imf_log_time : Time at which to output for Fabian Schneider&#39;s IMF project. Requires FABIAN_IMF_LOG : Ignore
-fabian_imf_log_timestep : Timestep for Fabian Schneider&#39;s IMF project logging. Requires FABIAN_IMF_LOG : Ignore
-version : Display binary_c version and build information. Also performs timing tests. : Ignore
-dumpversion : Display binary_c version number (short format). : Ignore
-version_only : Display binary_c version number and build information, but do not perform timing tests or anything that requires stardata to be non-NULL. : Ignore
-tides_diagnosis_log : Enable logging to test MINT tides. Requires MINT. Choices are: 0 disabled, 1 enable lambda test. : Ignore
-
-############################################################
-##### Section Input
-############################################################
-MINT_dir : Location of MINT algorithm data. :
-MINT_data_cleanup : Activate checks on incoming data to try to account for problems. Will make data-loading slower, but may fix a few things. :
-MINT_MS_rejuvenation : Turn on or off (hydrogen) main-sequence rejuvenation. :
-MINT_remesh : Turn on or off MINT&#39;s remeshing. :
-MINT_use_ZAMS_profiles : Use chemical profiles at the ZAMS if MINT_use_ZAMS_profiles is TRUE, otherwise set homogeneous abundances. (Default is TRUE, so we use the profiles if they are available.) :
-MINT_fallback_to_test_data : If TRUE, use the MINT test_data directory as a fallback when data is unavailable. (FALSE) :
-MINT_disable_grid_load_warnings : Use this to explicitly disable MINT&#39;s warnings when loading a grid with, e.g., missing or too much data. :
-MINT_Kippenhahn : Turn on or off MINT&#39;s Kippenhahn diagrams. If 0, off, if 1, output star 1 (index 0), if 2 output star 2 (index 1). Default 0. :
-MINT_nshells : Set the initial number of shells MINT uses in each star when doing nuclear burning. Note: remeshing can change this. If MINT_nshells is 0, shellular burning and other routines that require shells will not be available. (200) :
-MINT_maximum_nshells : Set the maximum number of shells MINT uses in each star when doing nuclear burning. Note that this will be limited to MINT_HARD_MAX_NSHELLS. (1000) :
-MINT_minimum_nshells : Set the minimum number of shells MINT uses in each star when doing nuclear burning. Note that this will be greater than or equal to MINT_HARD_MIN_NSHELLS, which is 0 by default. (0) :
-MINT_Kippenhahn_stellar_type : Stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for which Kippenhahn plot data should be output. :
-MINT_Kippenhahn_companion_stellar_type : Companion stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for the companion for which Kippenhahn plot data should be output. :
-MINT_nuclear_burning : Turn on or off MINT&#39;s nuclear burning algorithm. :
-MINT_minimum_shell_mass : Minimum shell mass in MINT&#39;s nuclear burning routines. :
-MINT_maximum_shell_mass : Maximum shell mass in MINT&#39;s nuclear burning routines. :
-
-############################################################
-##### Section I/O
-############################################################
-go : batchmode control command : Ignore
-gogo : batchmode control command : Ignore
-reset_stars : Reset the star structures. Used in batchmode : Ignore
-reset_stars_defaults : Reset the star structures and set defaults. Used in batchmode : Ignore
-defaults : Reset all defaults. Used in batchmode : Ignore
-echo : Activate batchmode command echoing, i.e. when you enter a command, binary_c repeats the command then executes it. : Ignore
-noecho : Deactivate batchmode command echoing. See &#39;echo&#39;. : Ignore
-noechonow : Deactivate batchmode command echoing. See &#39;echo&#39;. : Ignore
-bye : Quit binary_c. Used in batchmode. : Ignore
-fin : batchmode control command : Ignore
-reset_prefs : Reset preferences struct. Used in batchmode : Ignore
-status : Output batchmode status information. : Ignore
-
-############################################################
-##### Section Algorithms
-############################################################
-repeat : If &gt; 1, repeats the system as many times as required. Handy if you&#39;re using Monte-Carlo kicks and want to sample the parameter space well. Also, if you are running speed tests this is good to give a statistically more reasonable result. (See e.g. &#39;tbse pgo&#39;). : (null)
-random_systems : Experimental. Use this to apply random initial system parameters (masses, separations, etc.). Useful for testing only. : (null)
-
-############################################################
-##### Section Misc
-############################################################
-random_seed : Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)
-random_systems_seed : Random number seed for the generation of random systems. See random_systems and random_seed. : (null)
-random_skip : Skip the first &lt;random_seed&gt; random numbers that are generated. Usually this is 0 so they are all used. : (null)
-idum : [NB: deprecated, please use &#39;random_seed&#39; instead.] Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)
-reverse_time : Make time go backwards. To be considered very experimental! : (null)
-start_time : Start time for the simulation. : (null)
-warmup_cpu : Uses the CPU at maximum power the given number of seconds, prior to running normal stellar evolution. : Ignore
-help : Display help pages. Usage: --help &lt;help topic&gt;. : Ignore
-argopts : Display argument options. Usage: --argopts &lt;argument&gt;. : Ignore
-help_all : Display all help pages. : Ignore
-list_args : Display list of arguments with their default values. Useful for batchmode. : Ignore
-
+(abridged)
 </pre></div></div>
 </div>
 <p>We can get all the parameter names and their default values with return_arglines(): (abridged output)</p>
@@ -1180,6 +607,7 @@ list_args : Display list of arguments with their default values. Useful for batc
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre>
 <span></span><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_binary_c_bindings</span><span class="o">.</span><span class="n">return_arglines</span><span class="p">()</span><span class="o">.</span><span class="n">splitlines</span><span class="p">()[:</span><span class="mi">4</span><span class="p">]))</span>
+<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;(abridged)&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
 </div>
@@ -1192,6 +620,7 @@ __ARG_BEGIN
 metallicity = 0.02
 effective_metallicity = -1
 M_1 = 0
+(abridged)
 </pre></div></div>
 </div>
 <p>Lastly, we can ask binary_c to determine the minimum period or maximum mass for RLOF at the ZAMS: Both of them need an argstring as input</p>
@@ -1291,9 +720,9 @@ MAXIMUM MASS RATIO 0.0141
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_api_functionality.ipynb b/docs/build/html/examples/notebook_api_functionality.ipynb
index 504ae4b16..49d6f8d3d 100644
--- a/docs/build/html/examples/notebook_api_functionality.ipynb
+++ b/docs/build/html/examples/notebook_api_functionality.ipynb
@@ -105,7 +105,7 @@
       "        Function that contains random snippets. Do not expect this to remain available, or reliable. i.e. dont use it.\n",
       "\n",
       "FILE\n",
-      "    /home/izzard/.local/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so\n",
+      "    /home/david/.pyenv/versions/binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so\n",
       "\n",
       "\n"
      ]
@@ -166,7 +166,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<capsule object \"STORE\" at 0x146f912dbc60>\n",
+      "<capsule object \"STORE\" at 0x7fc1f0c3ff00>\n",
       "SINGLE_STAR_LIFETIME 10 28.4838\n",
       "\n"
      ]
@@ -270,586 +270,13 @@
       "M_2 : The initial mass of star two (in solar units, internally this is star index 1). : (null)\n",
       "M_3 : The initial mass of star three (in solar units, internally this is star index 2). : (null)\n",
       "M_4 : The initial mass of star four (in solar units, internally this is star index 3). : (null)\n",
-      "vrot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot2,3,4. : (null)\n",
-      "vrot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,3,4. : (null)\n",
-      "vrot3 : The initial equatorial rotational velocity of star three (in km/s, internally this is star index 2). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,4. : (null)\n",
-      "vrot4 : The initial equatorial rotational velocity of star four (in km/s, internally this is star index 3). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,3. : (null)\n",
-      "Prot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). See also Prot2,3,4. : (null)\n",
-      "Prot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). See also Prot1,3,4. : (null)\n",
-      "Prot3 : The initial equatorial rotational period of star three (in days, internally this is star index 2). See also Prot1,2,4. : (null)\n",
-      "Prot4 : The initial equatorial rotational period of star four (in days, internally this is star index 3). See also Prot1,2,3. : (null)\n",
-      "inclination1 : The initial inclination of star one (in degrees). : (null)\n",
-      "inclination2 : The initial inclination of star two (in degrees). : (null)\n",
-      "inclination3 : The initial inclination of star three (in degrees). : (null)\n",
-      "inclination4 : The initial inclination of star four (in degrees). : (null)\n",
-      "B_1 : The initial magnetic field of star one (in Gauss, internally this is star index 0). : (null)\n",
-      "B_2 : The initial magnetic field of star two (in Gauss, internally this is star index 1). : (null)\n",
-      "B_3 : The initial magnetic field of star three (in Gauss, internally this is star index 2). : (null)\n",
-      "B_4 : The initial magnetic field of star four (in Gauss, internally this is star index 3). : (null)\n",
-      "B_inclination1 : The initial inclination of the magnetic field of star one (in degrees). : (null)\n",
-      "B_inclination2 : The initial inclination of the magnetic field of star two (in degrees). : (null)\n",
-      "B_inclination3 : The initial inclination of the magnetic field of star three (in degrees). : (null)\n",
-      "B_inclination4 : The initial inclination of the magnetic field of star four (in degrees). : (null)\n",
-      "stellar_type_1 : Set the stellar type of star 1 (internal index 0), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_2 : Set the stellar type of star 2 (internal index 1), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_3 : Set the stellar type of star 3 (internal index 2), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_4 : Set the stellar type of star 4 (internal index 3), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "max_stellar_type_1 : The maximum stellar type of star 1 (internal index 0). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value. \n",
-      " : (null)\n",
-      "max_stellar_type_2 : The maximum stellar type of star 2 (internal index 1). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "max_stellar_type_3 : The maximum stellar type of star 3 (internal index 2). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "max_stellar_type_4 : The maximum stellar type of star 4 (internal index 3). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "probability : The probability is a weighting applied to the star based on, say, the initial mass function. When running a grid of stars to simulate *all* stars, the summed probability of all the stars should be 1.0. : (null)\n",
-      "phasevol : The system's phase volume, used by binary_grid. : (null)\n",
-      "stellar_structure_algorithm : Set the stellar structure algorithm. 0=modified BSE (default), 1=none, 2=external function (must be defined by the calling code), 3=binary_c (not yet implemented). : (null)\n",
-      "solver : The type of solver. Default is the Forward-Euler (0), but could be RK2 (1), RK4 (2) or a predictor-corretor (3). : (null)\n",
-      "max_evolution_time : Set the maximum age for the stars (Myr). : (null)\n",
-      "max_model_number : Set the maximum number of models, ignored if 0 (default is 0). : (null)\n",
-      "monte_carlo_kicks : Turn on Monte-Carlo SN kicks. On (True) by default, and indeed other algorithms are probably broken. : (null)\n",
-      "disable_debug : Disables debug output. Only has an effect when DEBUG is 1, which probably requires a rebuild. Default FALSE. : (null)\n",
-      "timestep_logging : Turn on timestep logging (default is False). : (null)\n",
-      "rejects_in_log : Show timestep rejections in the main log (default is False). : (null)\n",
-      "vandenHeuvel_logging : Turn on van den Heuvel logging (default is False). : (null)\n",
-      "evolution_splitting : If True, turn on splitting of an evolutionary run if splitpoint (e.g. supernova) occurs. : (null)\n",
-      "disable_events : Whether to disable the new events code (defaults to False, so we use events by default)\n",
-      " : (null)\n",
-      "evolution_splitting_sn_eccentricity_threshold : Threshold eccentricity above which evolution splitting happens in a system with no SN kick. (0.01) : (null)\n",
-      "evolution_splitting_sn_n : Number of runs to split into when a SN occurs. : (null)\n",
-      "evolution_splitting_maxdepth : Max number of splits in an evolutionary run. : (null)\n",
-      "equation_of_state_algorithm : Set the equation of state algorithm. 0 = Paczynski. : (null)\n",
-      "opacity_algorithm : Set the opacity algorithm. 0 = Paczynski, 1 = Ferguson/Opal. : (null)\n",
-      "wind_mass_loss : Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018). : 0\n",
-      "gbwind : Wind prescription for first red giant branch stars.  0=Reimers (Hurley et al 2000/2002; choose gb_reimers_eta=0.5 for their mass loss rate), 1=Schroeder+Cuntz 2005 (set gb_reimers_eta=1.0 for their mass loss rate). : (null)\n",
-      "postagbwind : Apply special post-(A)GB prescription. Default is POSTAGB_WIND_USE_GIANT which means we just use whatever is prescribed on the giant branch. Other options include: POSTAGB_WIND_NONE = 1 (no wind on the post (A)GB), POSTAGB_WIND_KRTICKA2020 = 2 which uses Krticka, Kubát and Krticková (2020, A&A 635, A173). : (null)\n",
-      "Teff_postAGB_min : The minimum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_max. (6000 K) : (null)\n",
-      "Teff_postAGB_max : The maximum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_min. (120000 K) : (null)\n",
-      "mattsson_Orich_tpagbwind : Experimental : turns on Mattsson's TPAGB wind when the star is oxygen rich. Requires MATTSSON_MASS_LOSS. : (null)\n",
-      "magnetic_braking_factor : Multiplier for the magnetic braking angular momentum loss rate. : (null)\n",
-      "magnetic_braking_gamma : gamma factor in Rappaport style magnetic braking expression. : (null)\n",
-      "magnetic_braking_algorithm : Algorithm for the magnetic braking angular momentum loss rate. 0 = Hurley et al. 2002, 1 = Andronov, Pinnsonneault and Sills 2003, 2 = Barnes and Kim 2010  : (null)\n",
-      "helium_flash_mass_loss : Mass to be lost at the helium flash. : (null)\n",
-      "gb_reimers_eta : First red giant branch wind multiplication factor, cf. eta in Reimers' mass loss formula. (This multiplies the 4e-13 in Reimers' formula, or the 8e-14 in Schroeder and Cuntz.) : (null)\n",
-      "gbwindfac : Multiplier for the giant branch wind mass loss rate : (null)\n",
-      "tpagbwindfac : Multiplier for the TPAGB wind mass loss rate : (null)\n",
-      "eagbwindfac : Multiplier for the EAGB wind mass loss rate : (null)\n",
-      "nieuwenhuijzen_windfac : Multiplier for the Nieuwenhuijzen & de Jager wind mass loss rate : (null)\n",
-      "tpagbwind : Wind prescription during the TPAGB. 0=Karakas 2002 (a modified Vassiliadis and Wood 1993), 1=Hurley et al 2000/2002 (Vassiliadis and Wood 1993), 2=Reimers, 3=Bloecker, 4=Van Loon,  5=Rob's C-wind (broken?), 6,7=Vassiliadis and Wood 1993 (Karakas,Hurley variants respectively) when C/O>1, 8=Mattsson, 9 = Goldman et al. (2017), 10 = Beasor et al. (2020). : (null)\n",
-      "eagbwind : Wind prescription during the EAGB. 0=BSE (Hurley+2002, based on VW93), 1 = Goldman et al. (2017), 2 = Beasor et al. (2020). : (null)\n",
-      "wind_gas_to_dust_ratio : Gas to dust ratio used in wind calculations (e.g. Goldman et al. 2017). Typically 200 (Milky Way)-500 (Magellanic Clouds). Default is 200, approximately as in MW stars. : (null)\n",
-      "vwind_multiplier : Multiplier for the stellar wind velocity. : (null)\n",
-      "vwind_beta : Beta for stellar wind speed calculations, where vwind=sqrt(beta) * escape velocity. Default 0.125 (from BSE, Hurley et al. 2002).  : (null)\n",
-      "superwind_mira_switchon : In the Vassiliadis and Wood (1993) AGB wind prescription, the superwind is turned on at a given Mira period, usually 500 days. You can vary when this switch-on happens with this parameter. : (null)\n",
-      "vw93_mira_shift : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate depends on the Mira period plus this offset. Requires VW93_MIRA_SHIFT. : (null)\n",
-      "vw93_multiplier : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate is multiplied by this factor. Requires VW93_MULTIPLIER. : (null)\n",
-      "tpagb_reimers_eta : TPAGB Reimers wind multiplication factor, cf. eta in Reimers' mass loss formula. (This multiplies the 4e-13 in Reimers' formula, or the 8e-14 in Schroeder and Cuntz.) Note that Reimers is not the default TPAGB wind prescription. See also tpagbwind. : (null)\n",
-      "Tout_Pringle_1992_multiplier : Multiplier for the Tout & Pringle (1992) magnetic wind. (0.0) : (null)\n",
-      "artificial_mass_accretion_rate%d : Constant mass accretion rate for star <n>. : (null)\n",
-      "artificial_mass_accretion_rate_by_stellar_type%d : Constant mass accretion rate for stellar type <n>. : (null)\n",
-      "artificial_angular_momentum_accretion_rate%d : Constant angular momentum accretion for star <n>. : (null)\n",
-      "artificial_orbital_angular_momentum_accretion_rate : Constant angular momentum accretion rate on the orbit. : (null)\n",
-      "artificial_accretion_start_time : Time at which artificial accretion stars. Ignored if <0 (default is -1). : (null)\n",
-      "artificial_accretion_end_time : Time at which artificial accretion ends. Ignored if <0 (default is -1). : (null)\n",
-      "wr_wind : Massive-star (WR) wind prescription. 0 = Hurley et al 2000/2002, 1=Maeder and Meynet, 2=Nugis and Lamers, 3=John Eldridge's version of Vink's early-2000s wind (See Lynnette Dray's thesis, or John Eldridge's thesis) : (null)\n",
-      "wr_wind_fac : Massive-star (WR) wind multiplication factor. : (null)\n",
-      "wrwindfac : Massive-star (WR) wind multiplication factor. Synonymous with wr_wind_fac (which you should use instead). : (null)\n",
-      "BH_prescription : Black hole mass prescrition: relates the mass of a newly formed black hole to its progenitor's (CO) core mass. BH_HURLEY2002 = 0 = Hurley et al 2000/2002, BH_BELCZYNSKI = 1 = Belczynski (early 2000s), BH_SPERA2015 = Spera+ 2015, BH_FRYER12_DELAYED = 3 = Fryer et al. (2012) delayed prescription, BH_FRYER12_RAPID = 4 = Fryer et al. (2012) rapid prescription, BH_FRYER12_STARTRACK = 5 = Fryer et al. (2012) startrack prescription. : (null)\n",
-      "sn_kick_distribution_II : Set the distribution of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_ECAP : Set the distribution of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_NS_NS : Set the distribution of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IBC : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_GRB_COLLAPSAR : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_TZ : Set the distribution of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_AIC_BH : Set the distribution of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_BH_BH : Set the distribution of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_BH_NS : Set the distribution of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IA_Hybrid_HeCOWD : Set the distribution of speeds applied to any survivor of a hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IA_Hybrid_HeCOWD_subluminous : Set the distribution of speeds applied to any survivor of a subluminous hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_II : Set the dispersion of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_ECAP : Set the dispersion of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_NS_NS : Set the dispersion of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IBC : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_GRB_COLLAPSAR : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_TZ : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_AIC_BH : Set the dispersion of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_BH_BH : Set the dispersion of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_BH_NS : Set the dispersion of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IA_Hybrid_HeCOWD : Set the dispersion of speeds applied to the survivor of a SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IA_Hybrid_HeCOWD_subluminous : Set the dispersion of speeds applied to the survivor of a subluminous SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_companion_IA_He : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia He supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_ELD : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia ELD (sub-Mch) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_CHAND : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia Mch supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_AIC : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when an accretion induced collapse (supernova) occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_ECAP : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when an electron capture supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_He_Coal : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia helium merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_CHAND_Coal : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia Mch merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_NS_NS : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a neutron-star neutron-star merger. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_GRB_COLLAPSAR : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a GRB Collapsar (rapidly rotating SN Ibc) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_HeStarIa : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a He-star Ia supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IBC : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type Ib/c supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_II : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type II supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IIa : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type IIa supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_WDKICK : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a WD is kicked. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_TZ : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Thorne-Zytkow object is formed. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_AIC_BH : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a neutron star collapses to a black hole. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_BH_BH : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when two black holes merge. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_BH_NS : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a black hole merges with a neutron star. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_Hybrid_HeCOWD : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_Hybrid_HeCOWD_subluminous : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a subluminous hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "wd_sigma : Set the speed at which white dwarfs are kicked when they form, in km/s. Default is zero (i.e. no kick). Requires WD_KICKS. : (null)\n",
-      "wd_kick_direction : Set the direction of white dwarf kicks. 0 = random, 1 = up, 2 = forward, 3 = backward, 4 = inward, 5 = outward. Requires WD_KICKS. : (null)\n",
-      "wd_kick_when : Decide when to kick a white dwarf. 0=at birth, 1=at first RLOF, 2=at given pulse number (see wd_kick_pulse_number), 3 at every pulse Requires WD_KICKS. : (null)\n",
-      "wd_kick_pulse_number : Apply a kick to a star at a desired pulse number on the TPAGB (i.e. pre-WD). Requires WD_KICKS. : (null)\n",
-      "minimum_helium_ignition_core_mass : Minimum helium core mass required to ignite helium in the case that the hydrogen envelope is stripped on the giant branch, e.g. to make an sdB or sdO star. Typically 0.4, if 0.0 then the BSE algorithm (based on the total mass) is used. : (null)\n",
-      "minimum_CO_core_mass_for_carbon_ignition : Minimum CO core mass for carbon ignition, assuming Mc,bagb>1.6Msun. Typically around 1.08Msun (Pols+1998). : (null)\n",
-      "minimum_CO_core_mass_for_neon_ignition : Minimum CO core mass for neon ignition. Typically around 1.42Msun. Stars that have cores that ignite carbon, but not neon explode in electon-capture supernovae. : (null)\n",
-      "minimum_mcbagb_for_nondegenerate_carbon_ignition : Minimum Mc,bagb (core mass at the base of the AGB) for non-degenerate carbon ignition. Typically around 2.25Msun (Pols+1998). : (null)\n",
-      "maximum_mcbagb_for_degenerate_carbon_ignition : Maximum Mc,bagb (core mass at the base of the AGB) for degenerate carbon ignition. Typically around 1.6Msun (Pols+1998). : (null)\n",
-      "max_neutron_star_mass : Maximum mass of a neutron star before it collapses to a black hole. Typically around 2Msun. : (null)\n",
-      "chandrasekhar_mass : The Chandrasekhar mass, usually 1.44Msun : (null)\n",
-      "delta_mcmin : A parameter to reduce the minimum core mass for third dredge up to occur on the TPAGB. As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)\n",
-      "lambda_min : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. See also lambda_multiplier. : (null)\n",
-      "lambda_multiplier : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)\n",
-      "minimum_envelope_mass_for_third_dredgeup : The minimum envelope mass for third dredge up on the TPAGB. Early, solar metallicity models by Straniero et al suggested 0.5Msun is typical. However, circumstantial evidence (Izzard et al 2009) as well as newer models by Stancliffe and Karakas suggest that at low metallicity a value nearer zero is more appropriate. : (null)\n",
-      "mass_of_pmz : The mass in the partial mixing zone of a TPAGB star, using the Karakas 2012 tables. Ask Carlo Abate for more details, or see the series of papers Abate et al 2012, 2013, 2014. Requires NUCSYN and USE_TABULAR_INTERSHELL_ABUNDANCES_KARAKAS_2012. : (null)\n",
-      "c13_eff : The \"efficiency\" of partial mixing in a TPAGB star intershell region, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)\n",
-      "mc13_pocket_multiplier : Multiplies the mass in the partial mixing zone of a TPAGB star, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)\n",
-      "tides_convective_damping : Tidal convective damping algorithm. 0=TIDES_HURLEY2002 Zahn 197x timescales + Hut, as in Hurley et al (2002), 1 = TIDES_ZAHN1989 : Zahn 1989 lambdas + Hut. : (null)\n",
-      "E2_prescription : Choose how to calculate the E2 structural parameter (used in tidal timescale calculations). 0=Hurley 1=Izzard (see Siess et al 2013). : (null)\n",
-      "dtfac : A parameter to decrease the timestep ONLY during the TPAGB phase. : (null)\n",
-      "hbbtfac : A parameter to modulate the temperature at the base of the hot-bottom burning zone in TPAGB stars. (Works only if NUCSYN is defined) : (null)\n",
-      "wind_multiplier_%d : Wind multiplier for the stellar type specified by the intger %d. By default these are all 1.0. : (null)\n",
-      "wind_type_multiplier_%d : Wind multiplier for different types of wind (MS, GB, AGB, WR, LBV, OTHER), given by the integer %d. By default these are all 1.0. : (null)\n",
-      "pre_main_sequence : Set to True to turn on pre-main sequence evolution. Currently this is not a special stellar type, rather the first (small) fraction of the main sequence has increased radii to match the Railton et al 2014 fits to Tout's pre-main sequence stars. Requires PRE_MAIN_SEQUENCE. See also pre_main_sequence_fit_lobes. : (null)\n",
-      "pre_main_sequence_fit_lobes : Set to True force a pre-main sequence star into its Roche lobe. This is done by artificially aging it. Requires PRE_MAIN_SEQUENCE : (null)\n",
-      "small_envelope_method : Choose the method used to determine the stellar radius when the envelope mass is very thin. 0 = Hurley et al. (2002), 1 = Miller Bertolami et al. (2016+) for GB and AGB stars only. : (null)\n",
-      "timestep_modulator : Multiplier applied to the global timestep. Requires TIMESTEP_MODULATION. : (null)\n",
-      "timestep_multiplier%d : Multiplier applied to timestep limit <n>. : (null)\n",
-      "maximum_timestep : The maximum timestep (MYr). : (null)\n",
-      "zoomfac_multiplier_decrease : When a timestep is rejected, decrease the timestep by this factor (0.5). : (null)\n",
-      "zoomfac_multiplier_increase : When a timestep is rejected, zooms, then succeeds, increase the timestep by this factor (1.2). : (null)\n",
-      "maximum_timestep_factor : The maximum factor between two subsequent timesteps (1.2). : (null)\n",
-      "maximum_nuclear_burning_timestep : The maximum timestep (MYr) in any nuclear burning phase. : (null)\n",
-      "nova_retention_method : Algorithm used to calculate the amount of mass retained during a nova explosion. 0=use nova_retention_fraction. (other methods pending) : (null)\n",
-      "MINT_metallicity : This sets the metallicity for MINT. It is ignored if set to -1.0, the default, in which case the normal metallicity parameter is used. : (null)\n",
-      "gaia_Teff_binwidth : log10(Effective temperature) bin width used to make Gaia-like HRDs\n",
-      " : (null)\n",
-      "gaia_L_binwidth : log10(luminosity) bin width used to make Gaia-like HRDs\n",
-      " : (null)\n",
-      "gaia_colour_transform_method : Use this to select the method used to transform to Gaia colours from other colour schemes. GAIA_CONVERSION_UBVRI_UNIVARIATE_JORDI2010 = 0 Jordi et al.'s univariate UBVRI fits, GAIA_CONVERSION_UBVRI_BIVARIATE_JORDI2010 = 1 Jordi et al.'s bivariate UBVRI fits, GAIA_CONVERSION_ugriz_UNIVARIATE_JORDI2010 = 2 Jordi et al.'s univariate UBVRI fits, GAIA_CONVERSION_ugriz_BIVARIATE_JORDI2010 = 3 Jordi et al.'s univariate ugriv fits, GAIA_CONVERSION_UBVRI_UNIVARIATE_EVANS2018 = 4 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_ugriz_UNIVARIATE_EVANS2018 = 5 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_UBVRI_RIELLO2020 = 6 Riello et al. (2020, DR3) fits, GAIA_CONVERSION_ugriz_RIELLO2020 = 7 Riello et al. (2020, DR3) fits. : (null)\n",
-      "rotationally_enhanced_mass_loss : Set to 1 to enable rotationally enhanced mass loss rate algorithms: 0= none, 1=formula cf. Langer models (=ROTATIONALLY_ENHANCED_MASSLOSS_LANGER_FORMULA), 2=limit accretion rate before wind loss is applied, 3 = both 1 and 2. See also rotationally_enhanced_exponent : (null)\n",
-      "AGB_core_algorithm : Algorithm to use for calculating AGB core masses. 0=Hurley et al. 2002 if no NUCSYN, Karakas 2002 if NUCSYN is defined; 1=Hurley et al. 2002 (overshooting models); 1=Karakas 2002 (non-overshooting models). : (null)\n",
-      "AGB_radius_algorithm : Algorithm to use for calculating radii on the TPAGB. : (null)\n",
-      "AGB_luminosity_algorithm : Algorithm to use for calculating luminosities on the TPAGB. : (null)\n",
-      "AGB_3dup_algorithm : Algorithm to use for calculating third dredge up efficiency on the TPAGB. : (null)\n",
-      "overspin_algorithm : Algorithm to determine what we do when a star is rotating at its breakup velocity. OVERSPIN_BSE (0) conservatively transfers the angular momentum back to the orbit. OVERSPIN_MASSLOSS uses the rotationally_enhanced_massloss parameter to lose mass which carries away the angular momentum. : (null)\n",
-      "rotationally_enhanced_exponent : The exponent (power) by which rotationally enhanced mass loss is raised. Requires ROTATIONALLY_ENHANCED_MASS_LOSS. See also rotationally_enhanced_mass_loss. : (null)\n",
-      "batchmode : Set the batchmode control variable. Use only if you know what you are doing! : (null)\n",
-      "speedtests : If True, turns on speedtests during version information (off by default). : (null)\n",
-      "use_fixed_timestep_%d : Set to True to use fixed timestep <n>, False to turn off. Fixed timesteps are on (this is True) by default. : (null)\n",
-      "task%d : Control tasks to be performed by binary_c. By default, these are all TRUE. For more information see binary_c_macros.h, particularly the BINARY_C_TASK_* macros. : (null)\n",
-      "orbiting_object : Usage: --orbiting_object mass,spinrate,central_object,period. : 1.0\n",
-      "orbiting_objects_log : If True, turn on orbiting-object log. : (null)\n",
-      "orbiting_objects_log : If True, turn on orbiting-object log. : (null)\n",
-      "orbiting_objects_wind_accretion_multiplier : Multiplier for wind accretion on orbiting objects. Hurley et al 2002 use 1.5, which is the default. : (null)\n",
-      "orbiting_objects_close_pc_threshold : How close are orbiting objects allowed to be? Set this to be the absolute percentage difference minimum. : (null)\n",
-      "orbiting_objects_tides_multiplier : Multiplier for tidal torques on orbiting objects. : (null)\n",
-      "evaporate_escaped_orbiting_objects : If True, evaporate orbiting objects that have escaped the system. : (null)\n",
-      "RLOF_transition_objects_escape : If True, objects that escape their Roche lobe are ejected from the system, otherwise they are placed just outside the minimum stable orbit. : (null)\n",
-      "PN_resolve : If True, the timestep will be shortened to resolve better the PN phase (FALSE). : (null)\n",
-      "PN_resolve_minimum_luminosity : The luminosity above which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_resolve_maximum_envelope_mass : The envelope mass below which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_resolve_minimum_effective_temperature : The minimum effective temperature above which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_fast_wind : If True, thin-envelope PNe will have fast winds (FALSE). : (null)\n",
-      "PN_fast_wind_dm_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)\n",
-      "PN_fast_wind_mdot_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)\n",
-      "PN_fast_wind_dm_AGB : The envelope mass below which fast wind used during the AGB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)\n",
-      "PN_fast_wind_mdot_AGB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)\n",
-      "HeWD_HeWD_ignition_mass : HeWD-HeWD mergers above this mass reignite helium. (0.3) : (null)\n",
-      "wind_Nieuwenhuijzen_luminosity_lower_limit : Above this luminosity we activate the Nieuwenhuijzen and de Jager wind (4e3 Lsun). : (null)\n",
-      "wind_LBV_luminosity_lower_limit : Above this luminosity we activate the LBV wind (6e5 Lsun). : (null)\n",
-      "colour%d : Sets colour %d (0 to NUM_ANSI_COLOURS-1) to the extended ANSI set colour you choose (1-255, 0 means ignore). The colour numbers are defined in src/logging/ansi_colours.h : (null)\n",
-      "apply_Darwin_Radau_correction : Apply Darwin-Radau correction to the moment of inertia to take rotation into account? : (null)\n",
-      "degenerate_core_merger_nucsyn : If TRUE, assume that in a degnerate core merger, energy is generated from nucleosynthesis of the whole core, and that this can disrupt the core. The BSE algorithm (Hurley et al. 2002) assumes this to be TRUE, but binary_c assumes FALSE by default. (FALSE) : (null)\n",
-      "degenerate_core_helium_merger_ignition : If TRUE, assume that when there is a degenerate helium core merger, the star reignites helium. This is required to make R-type carbon stars. (TRUE) : (null)\n",
-      "degenerate_core_merger_dredgeup_fraction : If non-zero, mix this fraction of the degenerate core during a merger.(0.0). : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Binary\n",
-      "############################################################\n",
-      "separation : Set the orbital separation (actually the semi-major axis) of the binary (internal index 0, stellar indices 0 and 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "separation_triple : Set the orbital separation (actually the semi-major axis) of the triple (internal index 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "separation_quadruple : Set the orbital separation (actually the semi-major axis) of the quadruple (internal index 2) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "orbital_period : Set the initial orbital period of the binary, stars 1 and 2 (internal indices 0 and 1) in days. See also separation. : (null)\n",
-      "orbital_period_triple : Set the initial orbital period of the triple in days. See also separation. : (null)\n",
-      "orbital_period_quadruple : Set the orbital period of the outer binary in a quadrulple (stars 3 and 4, internal indices 2 and 3) in days. See also separation. : (null)\n",
-      "eccentricity : Set the initial eccentricity of the binary orbit (stars 1 and 2, internal indices 0 and 1). : (null)\n",
-      "eccentricity_triple : Set the initial eccentricity of the triple orbit. : (null)\n",
-      "eccentricity_quadruple : Set the initial eccentricity of the outer binary of a quadruple (stars 3 and 4, internal indices 2 and 3). : (null)\n",
-      "incliniation : Set the initial orbital_inclination of the binary relative to zero. : (null)\n",
-      "incliniation_triple : Set the initial orbital_inclination of the triple orbit relative to zero. : (null)\n",
-      "incliniation_quadruple : Set the initial orbital_inclinationy of the quadruple orbit relative to zero. : (null)\n",
-      "orbital_phase : Set the initial orbital phase of the binary orbit. : (null)\n",
-      "orbital_phase_triple : Set the initial orbital phase of the triple orbit. : (null)\n",
-      "orbital_phase_quadruple : Set the initial orbital phase of the quadruple orbit. : (null)\n",
-      "argument_of_periastron : Set the initial argument of periastron of the binary orbit. : (null)\n",
-      "argument_of_periastron_triple : Set the initial argument of periastron of the triple orbit. : (null)\n",
-      "argument_of_periastron_quadruple : Set the initial argument of periastron of the quadruple orbit. : (null)\n",
-      "disc_timestep_factor : Factor that multiplies the natural timestep of a disc. : (null)\n",
-      "white_dwarf_cooling_model : White dwarf cooling model, relates age to luminosity. WHITE_DWARF_COOLING_MESTEL = 0 is Mestel's model, WHITE_DWARF_COOLING_MESTEL_MODIFIED = 1 is Hurley's modified Mestel model, WHITE_DWARF_COOLING_CARRASCO2014 = 2 is based on Carrasco (2014) tables.   : (null)\n",
-      "white_dwarf_radius_model : White dwarf radius model, radius to mass (and perhaps age). WHITE_DWARF_RADIUS_NAUENBERG1972 = 0 Nauenberg (1972), WHITE_DWARF_RADIUS_MU = 1 mu-dependent variant, WHITE_DWARF_RADIUS_CARRASCO2014 = 2 is based on Carrasco (2014) tables. : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_accretion_method : Chooses where the mass that is accreted from the inner edge of a circumbinary disc goes, i.e. to which star. 0 = Young and Clarke 2015, 1 = Gerosa et al 2015, 2 = 50:50 (i.e. not dependence on mass). : (null)\n",
-      "cbdisc_inner_edge_stripping : If True, allow inner edge mass stripping. : (null)\n",
-      "cbdisc_end_evolution_after_disc : If True, stop evolution when a disc evaporates. : (null)\n",
-      "cbdisc_no_wind_if_cbdisc : If True, disable stellar winds when there is a circumbinary disc. : (null)\n",
-      "cbdisc_outer_edge_stripping : If True, allow outer edge mass stripping. : (null)\n",
-      "disc_n_monte_carlo_guesses : Number of monte carlo guesses to try in the disc solver if the normal list of guesses fails (0). : (null)\n",
-      "disc_log : If 1, turn on the disc log. Requires DISC_LOG to be defined on build. : (null)\n",
-      "disc_log2d : If 1, turn on the 2d disc log. Requires DISC_LOG to be defined on build. : (null)\n",
-      "disc_log_dt : If non-zero, only allows disc log output every disc_log_dt Myr. : (null)\n",
-      "disc_log_directory : Directory into which disc logging is sent (must exist!). : /tmp/\n",
-      "post_ce_adaptive_menv : If TRUE, and if post_ce_objects_have_envelopes is TRUE, then the envelope mass of a post-CE star is such that it sits just inside its Roche lobe. If FALSE then a fixed (thin) envelope mass is applied that depends on the stellar type (see macros POST_CE_ENVELOPE_DM_GB, POST_CE_ENVELOPE_DM_EAGB and POST_CE_ENVELOPE_DM_TPAGB). : (null)\n",
-      "post_ce_objects_have_envelopes : If TRUE then post-common-envelope objects have thin envelopes. You need this if you are to have post-CE post-AGB stars. Note that this *may* be unstable, i.e. you may end up having many CEEs. The mass in the envelope is controlled by post_ce_adaptive_menv. TRUE by default. : (null)\n",
-      "PN_comenv_transition_time : post-common envelope transition time in years (1e2).  This is the time taken to move from CEE ejection to Teff > 30e4 K. Hall et al. (2013) suggest ~100 years. : (null)\n",
-      "minimum_time_between_PNe : The minimum time (Myr) between planetary nebula detections. This prevents multiple, fast common envelopes triggering two PNe (0.1). : (null)\n",
-      "PN_Hall_fading_time_algorithm : In stars with low mass (<0.45Msun) cores, you can choose to set the PN fading time to either the minimum (PN_HALL_FADING_TIME_ALGORITHM_MINIMUM) or maximum (PN_HALL_FADING_TIME_ALGORITHM_MAXIMUM) as shown in Fig. 6 of Hall et al. (2013). : (null)\n",
-      "PPN_envelope_mass : Desired pre-planetary nebula (post-AGB) envelope mass. : (null)\n",
-      "cbdisc_eccentricity_pumping_method : Select from various eccentricity-pumping methods when there is a circumbinary disc. Requires DISCS. 0 = off. : (null)\n",
-      "cbdisc_viscous_photoevaporative_coupling : Set to 1 to turn on viscous-photoevaporative coupling in circumbinary discs. Requires DISCS. 0 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_NONE = off, 1 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_INSTANT instant, 2 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_VISCOUS slow, viscous wind. : (null)\n",
-      "cbdisc_inner_edge_stripping_timescale : Defines the timescale for mass loss from by inner edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_in. : (null)\n",
-      "cbdisc_outer_edge_stripping_timescale : Defines the timescale for mass loss from by outer edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_out. : (null)\n",
-      "cbdisc_viscous_L2_coupling : Set to 1 to turn on viscous-L2-loss coupling in circumbinary discs. Requires DISCS. 0 = off. : (null)\n",
-      "gravitational_radiation_model : Model for gravitational radiation from the system. 0=Hurley et al 2002 (Landau and Lifshitz 1951). 1 = as 0 but only when there is no RLOF. 2 = none. : (null)\n",
-      "nova_irradiation_multiplier : Multiplier for nova-radiative induced mass loss. (Shara+1986) : (null)\n",
-      "gravitational_radiation_modulator_J : Modulator for gravitational wave radiation angular momentum loss rate (1.0). : (null)\n",
-      "gravitational_radiation_modulator_e : Modulator for gravitational wave radiation eccentricity pumping rate (1.0). : (null)\n",
-      "nova_faml_multiplier : Nova friction-induced angular momentum loss multiplier. (Shara+1986) : (null)\n",
-      "RLOF_angular_momentum_transfer_model : Choose angular momentum transfer model in RLOF. 0=BSE (with discs), 1=conservative : (null)\n",
-      "post_SN_orbit_method : Method by which the post-SN orbit is calculated. 0=BSE, 1=Tauris&Taken 1998. : (null)\n",
-      "multiplicity : Multiplicity: 1=single star, 2=binary, 3=triple, 4=quadruple. : (null)\n",
-      "accretion_limit_eddington_steady_multiplier : Steady accretion is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_steady_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_eddington_LMMS_multiplier : Accretion from a low-mass, convective, main_sequence star is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_LMMS_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_eddington_WD_to_remnant_multiplier : Accretion from a WD onto a remnant star (e.g. another white dwarf, neutron star or black hole) is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_WD_to_remnant_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_thermal_multiplier : Mass transfer onto a MS, HG or CHeB star is limited by the accretor's thermal rate times this multiplier. : (null)\n",
-      "accretion_limit_dynamical_multiplier : Mass transfer is limited by the accretor's dynamical rate times this multiplier. : (null)\n",
-      "donor_limit_envelope_multiplier : Mass transfer by RLOF is limited by this fraction of the donor's envelope mass per timestep : (null)\n",
-      "donor_limit_thermal_multiplier : Mass transfer by RLOF is limited by the accretor's thermal rate times this multiplier. : (null)\n",
-      "donor_limit_dynamical_multiplier : Mass transfer by RLOF is limited by the donor's dynamical rate times this multiplier. : (null)\n",
-      "Bondi_Hoyle_accretion_factor : Wind accretion rate, as calculated by the Bondi-Hoyle-Littleton formula, multiplcation factor. Hurley et al 2002 use 1.5, which is the default. : (null)\n",
-      "tidal_strength_factor : A modulator for the tidal strength. If this factor > 1 then tides are stronger, i.e. tidal timescales are reduced. : (null)\n",
-      "hachisu_qcrit : Critical q=Maccretor/Mdonor above which Hachisu's disk wind turns on. : (null)\n",
-      "hachisu_disk_wind : Set to True to turn on Hachisu's disk wind when material accretes too fast onto a white dwarf. This helps to make more SNeIa. See also hachisu_qcrit. : (null)\n",
-      "mass_accretion_for_eld : The mass that must be accreted onto a COWD for it to ignite as an edge-lit detonation SNIa. : (null)\n",
-      "WDWD_merger_algorithm : Algorithm to be used when merging two white dwarfs. 0 = Hurley et al. (2002), 1 = Perets+ (2019), 2 = Chen+ (2016, todo)  : (null)\n",
-      "type_Ia_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from Chandrasekhar-mass exploders. 0 = DD7 (Iwamoto 1999), 1 = Seitenzahl 2013 3D hydro yields (you must also set Seitenzahl2013_model)  : (null)\n",
-      "Seitenzahl2013_model : Which of Seitenzahl et al. 2013's models to use? One of N1,N3,N5,N10,N20,N40,N100L,N100,N100H,N150,N200,N300C,N1600,N1600C,N100_Z0.5,N100_Z0.1,N100_Z0.01 (defaults to N100). : N1\n",
-      "type_Ia_sub_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from sub-Chandrasekhar-mass exploders. (Currently unused.) : (null)\n",
-      "max_HeWD_mass : The maximum mass a HeWD can have before it ignites helium (0.7). : (null)\n",
-      "merger_mass_loss_fraction : Fraction of the total mass which is lost when stars merge. : (null)\n",
-      "merger_angular_momentum_factor : When two stars merge the resulting single star retains a fraction of the total system angular momentum (or the critical spin angular momentum, if it is smaller) multiplied by this factor. : (null)\n",
-      "wind_angular_momentum_loss : Prescription for losing angular momentum in a stellar wind. 0=Hurley et al 2002 ('Tout') prescription, 1=lw i.e. a factor multiplying the specific orbital angular momentum, 2=lw hybrid for fast winds. Set wind_djorb_fac to the desired factor.. : (null)\n",
-      "wind_djorb_fac : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=0 (the Tout/Hurley et al 2002 prescription). See wind_angular_momentum_loss. : (null)\n",
-      "lw : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=1,2 (the 'lw' prescription). See wind_angular_momentum_loss. : (null)\n",
-      "VW93_EAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)\n",
-      "VW93_TPAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)\n",
-      "use_periastron_Roche_radius : Set this to True to use the Roche lobe radius at periastron, rather than (the default to) assume a circular orbit. This will be useful one day when we treat RLOF in eccentric orbits properly, hopefully. : (null)\n",
-      "qcrit_LMMS : Apply critical q=Mdonor/Maccretor value for low-mass main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_LMMS : Apply critical q=Mdonor/Maccretor value for (low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "mass_for_Hestar_Ia_upper : Only helium stars below this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_lower. : (null)\n",
-      "mass_for_Hestar_Ia_lower : Only helium stars above this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_upper. : (null)\n",
-      "alphaCB : Circumbinary disk viscosity parameter, alpha. : (null)\n",
-      "minimum_donor_menv_for_comenv : Minimum donor envelope mass for common envelope evolution to be triggered (Msun). Default 0. : (null)\n",
-      "comenv_prescription : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)\n",
-      "comenv_prescription%d : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)\n",
-      "comenv_ejection_spin_method : When a common envelope is ejected, we need to decide how fast the stars are left spinning. COMENV_EJECTION_SPIN_METHOD_DO_NOTHING (0) is the default, this just leaves the stars/stellar cores spinning with the same spin rate (omega = angular velocity) with which they entered the common envelope phase. COMENV_EJECTION_SPIN_METHOD_SYCHRONIZE instead tidally synchronizes the stars with their new orbital angular velocity. : (null)\n",
-      "comenv_merger_spin_method : When a common envelope binary merges, we need to decide how fast the resulting single star is left spinning. COMENV_MERGER_SPIN_METHOD_SPECIFIC (0) is the default, this preserves angular momentum but limits the specific angular momentum of the merged star to the specific angular momentum of the system at the onset of common envelope evolution. COMENV_MERGER_SPIN_METHOD_CONSERVE_ANGMOM (1) sets the merger's angular momentum to be that of the system at the onset of common envelope evolution (which means the star may be rotating supercritically). COMENV_MERGER_SPIN_METHOD_CONSERVE_OMEGA (2) sets the spin rate (angular frequency = omega) of the merged star to be that of the orbit just at the onset of common envelope evolution. : (null)\n",
-      "comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)\n",
-      "comenv_ms_accretion_fraction : Experimental. During common envelope evolution, a main sequence may accrete a fraction of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_mass. : (null)\n",
-      "comenv_ns_accretion_mass : Experimental. During common envelope evolution, a neutron star may accrete some of the envelope's mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_fraction. : (null)\n",
-      "comenv_ns_accretion_fraction : Experimental. During common envelope evolution, a neutron star may accrete a fraction of the envelope's mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_mass. : (null)\n",
-      "alpha_ce : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)\n",
-      "alpha_ce%d : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)\n",
-      "lambda_ce : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to LAMBDA_CE_DEWI_TAURIS == -1 binary_c uses the Dewi and Tauris fits instead, LAMBDA_CE_WANG_2016 == -2 uses the formalism of Wang, Jia and Li (2016), if LAMBDA_CE_POLYTROPE == -3 then a polytropic formalism is used (see also comenv_splitmass) and if LAMBDA_CE_KLENCKI_2020 == -4 use Klencki et al. (2020). : (null)\n",
-      "lambda_ce%d : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to -1 binary_c uses the Dewi and Tauris fits instead, -2 uses the formalism of Wang, Jia and Li (2016) and if -3 then a polytropic formalism is used (see also comenv_splitmass). : (null)\n",
-      "comenv_splitmass : When lambda_ce=-2, the envelope binding energy, lambda, is calculated using a polytropic formalism. The comenv_splitmass defines the point, in the units of the core mass, above which material is ejected. : (null)\n",
-      "nelemans_recalc_eccentricity : If True, recalculate the eccentricity after angular momentum is removed.  : (null)\n",
-      "comenv_post_eccentricity : Eccentricity remaining after common envelope ejection. : (null)\n",
-      "nelemans_gamma : Set the fraction of the orbital specific angular momentum that is used to eject the common envelope according to the Nelemans and Tout prescription. See also nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)\n",
-      "nelemans_minq : Only activate the Nelemans and Tout common envelope prescription for q>nelemans_minq. See also nelemans_gamma, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)\n",
-      "nelemans_max_frac_j_change : Maximum fractional angular momentum change in the Nelemans and Tout common envelope prescription. See also nelemans_gamma, nelemans_minq, nelemans_n_comenvs. : (null)\n",
-      "nelemans_n_comenvs : Set the maximum number of common envelope ejections allowed to follow the Nelemans and Tout prescription, after which the standard alpha prescription is used. : (null)\n",
-      "lambda_ionisation : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)\n",
-      "lambda_ionisation%d : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)\n",
-      "lambda_enthalpy : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)\n",
-      "lambda_enthalpy%d : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)\n",
-      "cbdisc_albedo : Circumbinary-disc albedo. Requires DISCS. : (null)\n",
-      "cbdisc_gamma : Circumbinary disc gamma (equation of state) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_alpha : Circumbinary disc alpha (viscosity) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_kappa : Circumbinary disc kappa (opacity) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_evaporation_timescale : Circumbinary disc minimum evaporation timescale (years). If (slow, not edge stripped) mass loss would evaporate the disc on a timescale less than this, simply evaporate the disc immediated. Usually set to 1y, ignore if zero. Requires DISCS. : (null)\n",
-      "cbdisc_torquef : Circumbinary disc binary torque multiplier. Requires DISCS. : (null)\n",
-      "cbdisc_max_lifetime : Circumbinary disc maximum lifetime (years, ignored if 0). Requires DISCS. : (null)\n",
-      "cbdisc_init_dM : On cbdisc start, reduce mass by a fraction dM if it won't converge. Requires DISCS. : (null)\n",
-      "cbdisc_init_dJdM : On cbdisc start, reduce angular momentum by a fraction dJ/dM*dM if it won't converge. Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_constant_rate : Circumbinary disc constant mass loss rate (Msun/year). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_FUV_multiplier : Circumbinary disc FUV mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_Xray_multiplier : Circumbinary disc X-ray mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_ISM_ram_pressure_multiplier : Circumbinary disc interstellar medium ram pressure stripping mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_ISM_pressure : Circumbinary disc interstellar medium ram pressure in units of Boltzmann constant per Kelvin (I think...). Requires DISCS. Typically 3000.0. See e.g. http://www.astronomy.ohio-state.edu/~pogge/Ast871/Notes/Intro.pdf page 15 or https://arxiv.org/pdf/0902.0820.pdf Fig. 1 (left panel). : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_multiplier : Circumbinary disc inner edge viscous mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_angular_momentum_multiplier : Circumbinary disc inner edge viscous angular momentum multiplier (no units). The inner edge angular momentum Requires DISCS. : (null)\n",
-      "cbdisc_resonance_multiplier : Circumbinary disc resonant interaction multiplier, affects eccentricity pumping and angular momentum rates. Requires DISCS. : (null)\n",
-      "cbdisc_resonance_damping : Circumbinary disc resonant interaction damping: should be on (True) to damp the l=1, m=2 resonance when the disc inner edge lies outside the resonance location. Requires DISCS. : (null)\n",
-      "cbdisc_fail_ring_inside_separation : If True, while converging on a structure, circumbinary discs with Rring < the binary separation are immediately failed. : (null)\n",
-      "cbdisc_mass_loss_inner_L2_cross_multiplier : Circumbinary disc inner edge L2-crossing mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_minimum_luminosity : Circumbinary disc minimum luminosity. If the disc becomes dimmer than this, the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_mass : Circumbinary disc minimum mass. If the disc becomes less massive than this, the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_fRing : Circumbinary disc minimum fRing. If the disc becomes a ring, and fRing = |Rout/Rin-1| < this value (and this value is non-zero), the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "comenv_disc_angmom_fraction : If >0 Fraction of the common envelope's angular momentum that goes into the circumbinary disc. If -1 then uses the moments of inertia to calculate (deprecated), if -2 use the common envelope's specific angular momentum, if -3 uses the L2 point at the end of the common envelope to set the angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)\n",
-      "comenv_disc_mass_fraction : Fraction of the common envelope's mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)\n",
-      "wind_disc_angmom_fraction : If >0 Fraction of the wind envelope's angular momentum that goes into the circumbinary disc. If -1 then uses the L2 point's specific angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)\n",
-      "wind_disc_mass_fraction : Fraction of the stellar wind's mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)\n",
-      "WRLOF_method : Choose whether and how to apply wind-Roche-lobe-overflow. 0=none, 1=q-dependent, 2=quadratic See Abate et al 2013/14 for details. Requires WRLOF_MASS_TRANSFER. : (null)\n",
-      "minimum_timestep : The minimum timestep (Myr). : (null)\n",
-      "timestep_solver_factor : Factor applied in timestep_limits, e.g. to prevent X changing too fast by comparing to X/dX/dt, which is usually 1 but can be higher to lengthen timesteps when using an alternative solver. : (null)\n",
-      "RLOF_mdot_factor : Multiplier applied to the mass transfer rate during Roche-lobe overflow. Requires RLOF_MDOT_MODULATION. : (null)\n",
-      "RLOF_f : Factor to enlarge a Roche lobe, nominally because of radiation pressure (see Dermine et al paper). Requires RLOF_RADIATION_CORRECTION. : (null)\n",
-      "minimum_separation_for_instant_RLOF : If True, instead of evolving the system just report the minimum separation (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_orbital_period_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)\n",
-      "minimum_orbital_period_for_instant_RLOF : If True, instead of evolving the system just report the minimum orbital period (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_separation_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)\n",
-      "maximum_mass_ratio_for_instant_RLOF : If True, instead of evolving the system just report the maximum mass ratio (on the zero-age main sequence) that would lead to instant RLOF, given M1 and orbital period. Used by binary_grid. See also minimum_separation_for_instant_RLOF and minimum_orbital_period_for_instant_RLOF. : (null)\n",
-      "RLOF_method : Use RLOF_method to choose the algorithm you use for Roche-lobe overflow mass loss rate calculations. 0=Hurley et al 2002, 1=Adaptive (for radiative stars) R=RL method, 2=Ritter (probably broken), 3=Claeys etal 2014 variant on Hurley et al 2002. : (null)\n",
-      "RLOF_interpolation_method : When a star overflows its Roche lobe, it always has R>RL because of the limited time resolution of the simulation. Binary_c then uses an algorithm to get back to when R~RL (within a desired tolerance, set in RLOF_ENTRY_THRESHOLD which is usually 1.02, i.e. overflow of 2%). You can choose algorithm 0, the Hurley et al 2002 method which reverses time (i.e. uses a Newton-like scheme), or 1 to use the binary_c method which rejects a timestep (and hence does no logging on that timestep) and repeats with half the timestep until R~RL. The latter is now the default, because this means there are no negative timesteps which break various other algorithms (e.g. nucleosynthesis). : (null)\n",
-      "nova_retention_fraction : The mass accreted during a nova as fraction of mass transferred : (null)\n",
-      "beta_reverse_nova : The fraction of mass ejected in a nova explosion which is accreted back onto the companion star. Set to -1 to automatically calculate based on a geometric argument, or 0 or positive to set the value. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_hydrogen_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is hydrogen rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_helium_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is helium rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_other_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is neither hydrogen nor helium rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a hydrogen-rich donor. Below this mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a helium-rich donor. Below this mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_other_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope when the donor is neither hydrogen nor helium rich. Below this mass transfer leads to stable burning. : (null)\n",
-      "CRAP_parameter : Tidally enhanced mass loss parameter. See Tout and Eggleton's paper on the subject. (Was the parameter bb). : (null)\n",
-      "individual_novae : If individual_novae is True, novae are resolved such that each explosion is performed separtaely. : (null)\n",
-      "nova_timestep_accelerator_num : The nova timestep is accelerated if the nova number exceeds nova_timestep_accelerator_num. If zero or negative, acceleration is off. See also nova_timestep_accelerator_index and nova_timestep_accelerator_max. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nova_timestep_accelerator_index : The index at which the nova timestep is accelerated. A larger value gives longer timesteps. See also nova_timestep_accelerator_num and nova_timestep_accelerator_max. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nova_timestep_accelerator_max : The nova timestep is accelerated by a factor that is capped at nova_timestep_accelerator_max. This parameter is ignored if it is zero or negative. See also nova_timestep_accelerator_num and nova_timestep_accelerator_index. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nonconservative_angmom_gamma : Mass lost from the system (but NOT from a stellar wind) takes a fraction gamma of the orbital angular momentum with it. Set to -1 to take the specific angular momentum of the donor star. Set to -2 to take super-Eddington, nova and disk-wind angular momenta as if a wind from the accretor. : (null)\n",
-      "max_stellar_angmom_change : Maxmimum fractional change in stellar angular momentum allowed before a timestep is rejected (0.05). : (null)\n",
-      "comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Nucsyn\n",
-      "############################################################\n",
-      "third_dup : If True, enables third dredge up. Requires NUCSYN and NUCSYN_THIRD_DREDGE_UP. : (null)\n",
-      "third_dup_multiplier : Usage: --third_dup_multiplier <i> <f>. Multiplies the abundance of element <i> by <f> during third dredge up. : 1.0\n",
-      "NeNaMgAl : Enables NeNaMgAl reaction network. Requires NUCSYN and NUCSYN_HBB. : Ignore\n",
-      "nucsyn_network%d : Usage: --nucsyn_network%d <boolean>. Turn a nuclear network on or off. : (null)\n",
-      "nucsyn_network_error%d : Usage: --nucsyn_network_error%d <f>. Threshold error in nuclear network solver for network %d. : (null)\n",
-      "nucreacmult%d : Usage: --nucreacmult%d <f>. Multiply nuclear reaction given by the integer %d (integer) by f (float).  : (null)\n",
-      "nucsyn_metallicity : This sets the metallicity of the nucleosynthesis algorithms, i.e. the amount (by mass) of matter which is not hydrogen or helium. Usually you'd just set this with the metallicity parameter, but if you want the nucleosynthesis to be outside the range of the stellar evolution algorithm (e.g. Z=0 or Z=0.04) then you need to use nucsyn_metallicity. That said, it's also outside the range of some of the nucleosynthesis algorithms as well, so you have been warned! : (null)\n",
-      "nucsyn_solver : Choose the solver used in nuclear burning. 0 = KAPS_RENTROP is a Kaps-Rentrop scheme (fast, not great for stiff problems), 1 = LSODA (Adams/BSF switcher), 2 = CVODE library (https://computing.llnl.gov/projects/sundials. Default 0.  : 0\n",
-      "initial_abundance_mix : initial abundance mixture: 0=AG89, 1=Karakas 2002, 2=Lodders 2003, 3=Asplund 2005 (not available?), 4=Garcia Berro, 5=Grevesse Noels 1993 : 0\n",
-      "init_abund : Usage: --init_abund <i> <X>. Sets the initial abundance of isotope number <i> to mass fraction <X>. : 0.02\n",
-      "init_abund_mult : Usage: --init_abund_mult <i> <f>. Multiplies the initial abundance of isotope number <i> by <f>. : 1.0\n",
-      "init_abund_dex : Usage: --init_abund_dex <i> <f>. Changes the initial abundance of isotope number <i> by <f> dex. : 0.0\n",
-      "init_abunds_only : If True, outputs only the initial abundances, then exits. : (null)\n",
-      "initial_abunds_only : If True, outputs only the initial abundances, then exits. : (null)\n",
-      "no_thermohaline_mixing : If True, disables thermohaline mixing. : (null)\n",
-      "lithium_GB_post_Heflash : Sets the lithium abundances after the helium flash. Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "lithium_GB_post_1DUP : Sets the lithium abundance after first dredge up. Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "lithium_hbb_multiplier : Multiplies the lithium abundances on the AGB during HBB (based on Karakas/Fishlock et al models).Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "angelou_lithium_decay_function : Functional form which describes Li7 decay. Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Choices are : 0 expoential (see angelou_lithium_decay_time). : (null)\n",
-      "angelou_lithium_LMMS_time : Time at which lithium manufacture is triggered in a low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_time : Time at which lithium manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_time : Time at which lithium manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_time : Time at which lithium manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_time : Time at which lithium manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_time : Time at which lithium manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_time : Time at which lithium manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_LMMS_decay_time : Decay time for surface lithium abundance during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_decay_time : Decay time for surface lithium abundance on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_decay_time : Decay time for surface lithium abundance on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_decay_time : Decay time for surface lithium abundance on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_decay_time : Decay time for surface lithium abundance during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_decay_time : Decay time for surface lithium abundance on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_decay_time : Decay time for surface lithium abundance on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_LMMS_massfrac : Lithium mass fraction when its manufacture is triggered during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_massfrac : Lithium mass fraction when its manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_massfrac : Lithium mass fraction when its manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_massfrac : Lithium mass fraction when its manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_massfrac : Lithium mass fraction when its manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_vrot_trigger : Equatorial rotational velocity at which lithium manufacture is triggered (km/s). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.\n",
-      " : (null)\n",
-      "angelou_lithium_vrotfrac_trigger : Fraction of Keplerian (breakup) equatorial rotational velocity at which lithium manufacture is triggered (must be <1, ignored if 0). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.\n",
-      " : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Output\n",
-      "############################################################\n",
-      "cf_amanda_log : Enable logging to compare to Amanda's models. : (null)\n",
-      "float_overflow_checks : Turn on to enable floating-point overflow checks at the end of each timestep, if they are available. 0=off, 1=warn (stderr) on failure, 2=exit on failure (0) : (null)\n",
-      "save_pre_events_stardata : Enable this to save a copy of stardata to stardata->pre_events_stardata just before an event. : (null)\n",
-      "disable_end_logging : Disable the logging that happens at the end of the evolution. : (null)\n",
-      "ensemble : Turn on ensemble calculations and output. : (null)\n",
-      "ensemble_filters_off : Sets all ensemble filters to be off (FALSE) - these can then be enabled one-by-one with --ensemble_filter_[...] TRUE. : (null)\n",
-      "ensemble_filter_%d : Turn on or off ensemble filter <n>. For a list of filters, see ensemble_macros.h. : (null)\n",
-      "ensemble_legacy_ensemble : Turn on ensemble legacy population output. : (null)\n",
-      "legacy_yields : Turn on ensemble legacy yield output. : (null)\n",
-      "ensemble_defer : Defer ensemble output. : (null)\n",
-      "ensemble_dt : When doing ensemble calculations, data are stored and/or output every ensemble_dt Myr. See also ensemble, ensemble_logdt, ensemble_startlogtime. : (null)\n",
-      "ensemble_logdt : When doing ensemble calculations, and when logensembletimes is set, the ensemble is stored/output every ensemble_logdt Myr. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)\n",
-      "ensemble_startlogtime : Start log ensemble data storage/calculations/output at ensemble_startlogtime. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)\n",
-      "ensemble_logtimes : When doing ensemble calculations/output, set this to act at log times rather than linear times. : (null)\n",
-      "postagb_legacy_logging : Turn on post-AGB legacy logging. : (null)\n",
-      "disc_legacy_logging : Turn on disc legacy logging. : (null)\n",
-      "EMP_logg_maximum : Maximum logg that EMP stars are allowed to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_minimum_age. : (null)\n",
-      "EMP_minimum_age : Minimum age that EMP stars are required to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum. : (null)\n",
-      "EMP_feh_maximum : Maximum [Fe/H] that an EMP stars may have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default -2.0. : (null)\n",
-      "CEMP_cfe_minimum : Minimum [C/Fe] that CEMP stars are required to have. See Izzard et al 2009. See also NEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 0.7. : (null)\n",
-      "NEMP_cfe_minimum : Minimum [N/Fe] that NEMP stars are required to have. See Izzard et al 2009, Pols et al. 2012. See also CEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 1.0. : (null)\n",
-      "thick_disc_start_age : Lookback time for the start of the thick disc star formation, e.g. 13e3 Myr. Units = Myr. : (null)\n",
-      "thick_disc_end_age : Lookback time for the end of the thick disc star formation, e.g. 4e3 Myr. Units = Myr. : (null)\n",
-      "thick_disc_logg_min : Minimum logg for thick disc giants to be logged. : (null)\n",
-      "thick_disc_logg_max : Maximum logg for thick disc giants to be logged. : (null)\n",
-      "escape_velocity : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 1e9 km/s. See also escape_fraction. : (null)\n",
-      "escape_fraction : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 0.0. See also escape_velocity. : (null)\n",
-      "colour_log : If set to True, thelog is coloured with ANSI colour formatting. Requires FILE_LOG to be defined. : \n",
-      "log_filename : Location of the output logging filename. If set to \"/dev/null\" then there is no logging. : \n",
-      "log_arrows : Add arrows to the output log to show whether values are increasing or decreasing. : \n",
-      "stopfile : File which, when it exists, will stop the current binary_c repeat run. : \n",
-      "stardata_dump_filename : Location of the stardata dump file. : \n",
-      "stardata_load_filename : Location of the stardata file to load. : \n",
-      "api_log_filename_prefix : Location of the output logging filename prefix for the API. If set to \"/dev/null\" then there is no logging. : 0\n",
-      "hrdiag_output : Set to True to output high time-resolution Hertzstrpung-Russell diagram information. Requires HRDIAG. : (null)\n",
-      "internal_buffering : Experimental. Set to non-zero values to implement internal buffering prior to output. For use with binary_grid, you shouldn't really be playing with this. : (null)\n",
-      "eccentric_RLOF_model : Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE.\n",
-      " : (null)\n",
-      "force_circularization_on_RLOF : If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) : (null)\n",
-      "wtts_log : If True, enables log file output for WTTS2. : (null)\n",
-      "fabian_imf_log_time : Time at which to output for Fabian Schneider's IMF project. Requires FABIAN_IMF_LOG : Ignore\n",
-      "fabian_imf_log_timestep : Timestep for Fabian Schneider's IMF project logging. Requires FABIAN_IMF_LOG : Ignore\n",
-      "version : Display binary_c version and build information. Also performs timing tests. : Ignore\n",
-      "dumpversion : Display binary_c version number (short format). : Ignore\n",
-      "version_only : Display binary_c version number and build information, but do not perform timing tests or anything that requires stardata to be non-NULL. : Ignore\n",
-      "tides_diagnosis_log : Enable logging to test MINT tides. Requires MINT. Choices are: 0 disabled, 1 enable lambda test. : Ignore\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Input\n",
-      "############################################################\n",
-      "MINT_dir : Location of MINT algorithm data. : \n",
-      "MINT_data_cleanup : Activate checks on incoming data to try to account for problems. Will make data-loading slower, but may fix a few things. : \n",
-      "MINT_MS_rejuvenation : Turn on or off (hydrogen) main-sequence rejuvenation. : \n",
-      "MINT_remesh : Turn on or off MINT's remeshing. : \n",
-      "MINT_use_ZAMS_profiles : Use chemical profiles at the ZAMS if MINT_use_ZAMS_profiles is TRUE, otherwise set homogeneous abundances. (Default is TRUE, so we use the profiles if they are available.) : \n",
-      "MINT_fallback_to_test_data : If TRUE, use the MINT test_data directory as a fallback when data is unavailable. (FALSE) : \n",
-      "MINT_disable_grid_load_warnings : Use this to explicitly disable MINT's warnings when loading a grid with, e.g., missing or too much data. : \n",
-      "MINT_Kippenhahn : Turn on or off MINT's Kippenhahn diagrams. If 0, off, if 1, output star 1 (index 0), if 2 output star 2 (index 1). Default 0. : \n",
-      "MINT_nshells : Set the initial number of shells MINT uses in each star when doing nuclear burning. Note: remeshing can change this. If MINT_nshells is 0, shellular burning and other routines that require shells will not be available. (200) : \n",
-      "MINT_maximum_nshells : Set the maximum number of shells MINT uses in each star when doing nuclear burning. Note that this will be limited to MINT_HARD_MAX_NSHELLS. (1000) : \n",
-      "MINT_minimum_nshells : Set the minimum number of shells MINT uses in each star when doing nuclear burning. Note that this will be greater than or equal to MINT_HARD_MIN_NSHELLS, which is 0 by default. (0) : \n",
-      "MINT_Kippenhahn_stellar_type : Stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for which Kippenhahn plot data should be output. : \n",
-      "MINT_Kippenhahn_companion_stellar_type : Companion stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for the companion for which Kippenhahn plot data should be output. : \n",
-      "MINT_nuclear_burning : Turn on or off MINT's nuclear burning algorithm. : \n",
-      "MINT_minimum_shell_mass : Minimum shell mass in MINT's nuclear burning routines. : \n",
-      "MINT_maximum_shell_mass : Maximum shell mass in MINT's nuclear burning routines. : \n",
-      "\n",
-      "############################################################\n",
-      "##### Section I/O\n",
-      "############################################################\n",
-      "go : batchmode control command : Ignore\n",
-      "gogo : batchmode control command : Ignore\n",
-      "reset_stars : Reset the star structures. Used in batchmode : Ignore\n",
-      "reset_stars_defaults : Reset the star structures and set defaults. Used in batchmode : Ignore\n",
-      "defaults : Reset all defaults. Used in batchmode : Ignore\n",
-      "echo : Activate batchmode command echoing, i.e. when you enter a command, binary_c repeats the command then executes it. : Ignore\n",
-      "noecho : Deactivate batchmode command echoing. See 'echo'. : Ignore\n",
-      "noechonow : Deactivate batchmode command echoing. See 'echo'. : Ignore\n",
-      "bye : Quit binary_c. Used in batchmode. : Ignore\n",
-      "fin : batchmode control command : Ignore\n",
-      "reset_prefs : Reset preferences struct. Used in batchmode : Ignore\n",
-      "status : Output batchmode status information. : Ignore\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Algorithms\n",
-      "############################################################\n",
-      "repeat : If > 1, repeats the system as many times as required. Handy if you're using Monte-Carlo kicks and want to sample the parameter space well. Also, if you are running speed tests this is good to give a statistically more reasonable result. (See e.g. 'tbse pgo'). : (null)\n",
-      "random_systems : Experimental. Use this to apply random initial system parameters (masses, separations, etc.). Useful for testing only. : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Misc\n",
-      "############################################################\n",
-      "random_seed : Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)\n",
-      "random_systems_seed : Random number seed for the generation of random systems. See random_systems and random_seed. : (null)\n",
-      "random_skip : Skip the first <random_seed> random numbers that are generated. Usually this is 0 so they are all used. : (null)\n",
-      "idum : [NB: deprecated, please use 'random_seed' instead.] Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)\n",
-      "reverse_time : Make time go backwards. To be considered very experimental! : (null)\n",
-      "start_time : Start time for the simulation. : (null)\n",
-      "warmup_cpu : Uses the CPU at maximum power the given number of seconds, prior to running normal stellar evolution. : Ignore\n",
-      "help : Display help pages. Usage: --help <help topic>. : Ignore\n",
-      "argopts : Display argument options. Usage: --argopts <argument>. : Ignore\n",
-      "help_all : Display all help pages. : Ignore\n",
-      "list_args : Display list of arguments with their default values. Useful for batchmode. : Ignore\n",
-      "\n"
+      "(abridged)\n"
      ]
     }
    ],
    "source": [
-    "print(_binary_c_bindings.return_help_all())"
+    "print('\\n'.join(_binary_c_bindings.return_help_all().splitlines()[:10]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -873,12 +300,14 @@
       "__ARG_BEGIN\n",
       "metallicity = 0.02\n",
       "effective_metallicity = -1\n",
-      "M_1 = 0\n"
+      "M_1 = 0\n",
+      "(abridged)\n"
      ]
     }
    ],
    "source": [
-    "print('\\n'.join(_binary_c_bindings.return_arglines().splitlines()[:4]))"
+    "print('\\n'.join(_binary_c_bindings.return_arglines().splitlines()[:4]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -966,7 +395,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -980,7 +409,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/examples/notebook_common_envelope_evolution.html b/docs/build/html/examples/notebook_common_envelope_evolution.html
index a46b46ebc..d60de9b8c 100644
--- a/docs/build/html/examples/notebook_common_envelope_evolution.html
+++ b/docs/build/html/examples/notebook_common_envelope_evolution.html
@@ -1131,9 +1131,9 @@ Text(0, 0.5, &#39;Number of stars&#39;)
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_custom_logging.html b/docs/build/html/examples/notebook_custom_logging.html
index 304824f4a..96daa798c 100644
--- a/docs/build/html/examples/notebook_custom_logging.html
+++ b/docs/build/html/examples/notebook_custom_logging.html
@@ -387,7 +387,7 @@ div.rendered_html tbody tr:hover {
     <span class="n">create_and_load_logging_function</span><span class="p">,</span>
 <span class="p">)</span>
 <span class="kn">from</span> <span class="nn">binarycpython.utils.run_system_wrapper</span> <span class="kn">import</span> <span class="n">run_system</span>
-<span class="kn">from</span> <span class="nn">binarycpython.utils.grid</span> <span class="kn">import</span> <span class="n">Population</span>
+<span class="kn">from</span> <span class="nn">binarycpython</span> <span class="kn">import</span> <span class="n">Population</span>
 </pre></div>
 </div>
 </div>
@@ -762,6 +762,15 @@ EXAMPLE_MASSLOSS             1.050651207308e+01 1.59452 9.34213 20 13 1
 EXAMPLE_SN             1.050651207308e+01 1.59452 9.34213 20 12 13 5 1 6.55458 4.71662 6.55458
 </pre></div></div>
 </div>
+<div class="nbinput nblast docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+</pre></div>
+</div>
+<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre>
+<span></span>
+</pre></div>
+</div>
+</div>
 </section>
 </section>
 </section>
@@ -785,9 +794,9 @@ EXAMPLE_SN             1.050651207308e+01 1.59452 9.34213 20 12 13 5 1 6.55458 4
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_custom_logging.ipynb b/docs/build/html/examples/notebook_custom_logging.ipynb
index 8dfb85034..8627ffb47 100644
--- a/docs/build/html/examples/notebook_custom_logging.ipynb
+++ b/docs/build/html/examples/notebook_custom_logging.ipynb
@@ -23,7 +23,7 @@
     "    create_and_load_logging_function,\n",
     ")\n",
     "from binarycpython.utils.run_system_wrapper import run_system\n",
-    "from binarycpython.utils.grid import Population"
+    "from binarycpython import Population"
    ]
   },
   {
@@ -461,11 +461,19 @@
     "# print (abridged) output\n",
     "print(\"\\n\".join(output.splitlines()[-2:]))"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "c708268f-0b0c-48ea-9155-ec632a0acc3a",
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -479,7 +487,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/examples/notebook_ensembles.html b/docs/build/html/examples/notebook_ensembles.html
new file mode 100644
index 000000000..76a2cae54
--- /dev/null
+++ b/docs/build/html/examples/notebook_ensembles.html
@@ -0,0 +1,390 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>&lt;no title&gt; &mdash; binary_c-python  documentation</title>
+      <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+      <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+        <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
+        <script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
+        <script>window.MathJax = {"tex": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true}, "options": {"ignoreHtmlClass": "tex2jax_ignore|mathjax_ignore|document", "processHtmlClass": "tex2jax_process|mathjax_process|math|output_area"}}</script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+            <a href="../index.html" class="icon icon-home"> binary_c-python
+          </a>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../readme_link.html">Python module for binary_c</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../modules.html">Binarycpython code</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../example_notebooks.html">Example notebooks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../binary_c_parameters.html">Binary_c parameters</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../grid_options_descriptions.html">Population grid code options</a></li>
+<li class="toctree-l1"><a class="reference external" href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python">Visit the GitLab repo</a></li>
+<li class="toctree-l1"><a class="reference external" href="https://gitlab.eps.surrey.ac.uk/ri0005/binary_c-python/-/issues/new">Submit an issue</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">binary_c-python</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+      <li>&lt;no title&gt;</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/examples/notebook_ensembles.ipynb.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  
+<style>
+/* CSS for nbsphinx extension */
+
+/* remove conflicting styling from Sphinx themes */
+div.nbinput.container div.prompt *,
+div.nboutput.container div.prompt *,
+div.nbinput.container div.input_area pre,
+div.nboutput.container div.output_area pre,
+div.nbinput.container div.input_area .highlight,
+div.nboutput.container div.output_area .highlight {
+    border: none;
+    padding: 0;
+    margin: 0;
+    box-shadow: none;
+}
+
+div.nbinput.container > div[class*=highlight],
+div.nboutput.container > div[class*=highlight] {
+    margin: 0;
+}
+
+div.nbinput.container div.prompt *,
+div.nboutput.container div.prompt * {
+    background: none;
+}
+
+div.nboutput.container div.output_area .highlight,
+div.nboutput.container div.output_area pre {
+    background: unset;
+}
+
+div.nboutput.container div.output_area div.highlight {
+    color: unset;  /* override Pygments text color */
+}
+
+/* avoid gaps between output lines */
+div.nboutput.container div[class*=highlight] pre {
+    line-height: normal;
+}
+
+/* input/output containers */
+div.nbinput.container,
+div.nboutput.container {
+    display: -webkit-flex;
+    display: flex;
+    align-items: flex-start;
+    margin: 0;
+    width: 100%;
+}
+@media (max-width: 540px) {
+    div.nbinput.container,
+    div.nboutput.container {
+        flex-direction: column;
+    }
+}
+
+/* input container */
+div.nbinput.container {
+    padding-top: 5px;
+}
+
+/* last container */
+div.nblast.container {
+    padding-bottom: 5px;
+}
+
+/* input prompt */
+div.nbinput.container div.prompt pre {
+    color: #307FC1;
+}
+
+/* output prompt */
+div.nboutput.container div.prompt pre {
+    color: #BF5B3D;
+}
+
+/* all prompts */
+div.nbinput.container div.prompt,
+div.nboutput.container div.prompt {
+    width: 4.5ex;
+    padding-top: 5px;
+    position: relative;
+    user-select: none;
+}
+
+div.nbinput.container div.prompt > div,
+div.nboutput.container div.prompt > div {
+    position: absolute;
+    right: 0;
+    margin-right: 0.3ex;
+}
+
+@media (max-width: 540px) {
+    div.nbinput.container div.prompt,
+    div.nboutput.container div.prompt {
+        width: unset;
+        text-align: left;
+        padding: 0.4em;
+    }
+    div.nboutput.container div.prompt.empty {
+        padding: 0;
+    }
+
+    div.nbinput.container div.prompt > div,
+    div.nboutput.container div.prompt > div {
+        position: unset;
+    }
+}
+
+/* disable scrollbars on prompts */
+div.nbinput.container div.prompt pre,
+div.nboutput.container div.prompt pre {
+    overflow: hidden;
+}
+
+/* input/output area */
+div.nbinput.container div.input_area,
+div.nboutput.container div.output_area {
+    -webkit-flex: 1;
+    flex: 1;
+    overflow: auto;
+}
+@media (max-width: 540px) {
+    div.nbinput.container div.input_area,
+    div.nboutput.container div.output_area {
+        width: 100%;
+    }
+}
+
+/* input area */
+div.nbinput.container div.input_area {
+    border: 1px solid #e0e0e0;
+    border-radius: 2px;
+    /*background: #f5f5f5;*/
+}
+
+/* override MathJax center alignment in output cells */
+div.nboutput.container div[class*=MathJax] {
+    text-align: left !important;
+}
+
+/* override sphinx.ext.imgmath center alignment in output cells */
+div.nboutput.container div.math p {
+    text-align: left;
+}
+
+/* standard error */
+div.nboutput.container div.output_area.stderr {
+    background: #fdd;
+}
+
+/* ANSI colors */
+.ansi-black-fg { color: #3E424D; }
+.ansi-black-bg { background-color: #3E424D; }
+.ansi-black-intense-fg { color: #282C36; }
+.ansi-black-intense-bg { background-color: #282C36; }
+.ansi-red-fg { color: #E75C58; }
+.ansi-red-bg { background-color: #E75C58; }
+.ansi-red-intense-fg { color: #B22B31; }
+.ansi-red-intense-bg { background-color: #B22B31; }
+.ansi-green-fg { color: #00A250; }
+.ansi-green-bg { background-color: #00A250; }
+.ansi-green-intense-fg { color: #007427; }
+.ansi-green-intense-bg { background-color: #007427; }
+.ansi-yellow-fg { color: #DDB62B; }
+.ansi-yellow-bg { background-color: #DDB62B; }
+.ansi-yellow-intense-fg { color: #B27D12; }
+.ansi-yellow-intense-bg { background-color: #B27D12; }
+.ansi-blue-fg { color: #208FFB; }
+.ansi-blue-bg { background-color: #208FFB; }
+.ansi-blue-intense-fg { color: #0065CA; }
+.ansi-blue-intense-bg { background-color: #0065CA; }
+.ansi-magenta-fg { color: #D160C4; }
+.ansi-magenta-bg { background-color: #D160C4; }
+.ansi-magenta-intense-fg { color: #A03196; }
+.ansi-magenta-intense-bg { background-color: #A03196; }
+.ansi-cyan-fg { color: #60C6C8; }
+.ansi-cyan-bg { background-color: #60C6C8; }
+.ansi-cyan-intense-fg { color: #258F8F; }
+.ansi-cyan-intense-bg { background-color: #258F8F; }
+.ansi-white-fg { color: #C5C1B4; }
+.ansi-white-bg { background-color: #C5C1B4; }
+.ansi-white-intense-fg { color: #A1A6B2; }
+.ansi-white-intense-bg { background-color: #A1A6B2; }
+
+.ansi-default-inverse-fg { color: #FFFFFF; }
+.ansi-default-inverse-bg { background-color: #000000; }
+
+.ansi-bold { font-weight: bold; }
+.ansi-underline { text-decoration: underline; }
+
+
+div.nbinput.container div.input_area div[class*=highlight] > pre,
+div.nboutput.container div.output_area div[class*=highlight] > pre,
+div.nboutput.container div.output_area div[class*=highlight].math,
+div.nboutput.container div.output_area.rendered_html,
+div.nboutput.container div.output_area > div.output_javascript,
+div.nboutput.container div.output_area:not(.rendered_html) > img{
+    padding: 5px;
+    margin: 0;
+}
+
+/* fix copybtn overflow problem in chromium (needed for 'sphinx_copybutton') */
+div.nbinput.container div.input_area > div[class^='highlight'],
+div.nboutput.container div.output_area > div[class^='highlight']{
+    overflow-y: hidden;
+}
+
+/* hide copybtn icon on prompts (needed for 'sphinx_copybutton') */
+.prompt a.copybtn {
+    display: none;
+}
+
+/* Some additional styling taken form the Jupyter notebook CSS */
+div.rendered_html table {
+  border: none;
+  border-collapse: collapse;
+  border-spacing: 0;
+  color: black;
+  font-size: 12px;
+  table-layout: fixed;
+}
+div.rendered_html thead {
+  border-bottom: 1px solid black;
+  vertical-align: bottom;
+}
+div.rendered_html tr,
+div.rendered_html th,
+div.rendered_html td {
+  text-align: right;
+  vertical-align: middle;
+  padding: 0.5em 0.5em;
+  line-height: normal;
+  white-space: normal;
+  max-width: none;
+  border: none;
+}
+div.rendered_html th {
+  font-weight: bold;
+}
+div.rendered_html tbody tr:nth-child(odd) {
+  background: #f5f5f5;
+}
+div.rendered_html tbody tr:hover {
+  background: rgba(66, 165, 245, 0.2);
+}
+
+/* CSS overrides for sphinx_rtd_theme */
+
+/* 24px margin */
+.nbinput.nblast.container,
+.nboutput.nblast.container {
+    margin-bottom: 19px;  /* padding has already 5px */
+}
+
+/* ... except between code cells! */
+.nblast.container + .nbinput.container {
+    margin-top: -19px;
+}
+
+.admonition > p:before {
+    margin-right: 4px;  /* make room for the exclamation icon */
+}
+
+/* Fix math alignment, see https://github.com/rtfd/sphinx_rtd_theme/pull/686 */
+.math {
+    text-align: unset;
+}
+</style>
+<div class="nbinput nblast docutils container">
+<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
+</pre></div>
+</div>
+<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre>
+<span></span>
+</pre></div>
+</div>
+</div>
+
+
+           </div>
+          </div>
+          <footer>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2021, David Hendriks, Robert Izzard.</p>
+  </div>
+
+  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  
+<br><br>
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+<br><br>
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
+
+
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/build/html/examples/notebook_ensembles.ipynb b/docs/build/html/examples/notebook_ensembles.ipynb
new file mode 100644
index 000000000..44ef8a7ef
--- /dev/null
+++ b/docs/build/html/examples/notebook_ensembles.ipynb
@@ -0,0 +1,33 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d4799c94-afd8-41db-ab82-e0a6e278ed77",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "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.9.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/build/html/examples/notebook_extra_features.html b/docs/build/html/examples/notebook_extra_features.html
index 98e15a162..b9f9214ad 100644
--- a/docs/build/html/examples/notebook_extra_features.html
+++ b/docs/build/html/examples/notebook_extra_features.html
@@ -53,7 +53,6 @@
 <li class="toctree-l3"><a class="reference internal" href="#Build-information-of-binary_c">Build information of binary_c</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#Example-parse-function">Example parse function</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#Dictionary-modification">Dictionary modification</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#Getting-help">Getting help</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="notebook_api_functionality.html">Tutorial: Using the API functionality of binary_c-python</a></li>
@@ -376,11 +375,11 @@ div.rendered_html tbody tr:hover {
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="p">(</span>
+<span></span><span class="kn">from</span> <span class="nn">binarycpython</span> <span class="kn">import</span> <span class="n">Population</span>
+<span class="kn">from</span> <span class="nn">binarycpython.utils.functions</span> <span class="kn">import</span> <span class="p">(</span>
     <span class="n">get_help</span><span class="p">,</span>
     <span class="n">get_help_all</span><span class="p">,</span>
     <span class="n">get_help_super</span><span class="p">,</span>
-    <span class="n">return_binary_c_version_info</span><span class="p">,</span>
     <span class="n">get_defaults</span>
 <span class="p">)</span>
 <span class="c1"># help(binarycpython.utils.functions)</span>
@@ -462,14 +461,14 @@ default:
 </section>
 <section id="Build-information-of-binary_c">
 <h2>Build information of binary_c<a class="headerlink" href="#Build-information-of-binary_c" title="Permalink to this headline"></a></h2>
-<p>Sometimes we want to know with which settings binary_c has been built. We can use the function <code class="docutils literal notranslate"><span class="pre">return_binary_c_version_info</span></code> for this. This function will parse the version info of binary_c and return a dictionary with all the settings.</p>
+<p>It can be useful to fetch the information with which the current version of binary_c has been configured with. We can do that through the Population object, by calling the instance method <code class="docutils literal notranslate"><span class="pre">return_binary_c_version_info</span></code>. This function will parse the version info of binary_c and return a dictionary with all the settings.</p>
 <div class="nbinput docutils container">
 <div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[6]:
 </pre></div>
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre>
-<span></span><span class="n">version_info_dict</span> <span class="o">=</span> <span class="n">return_binary_c_version_info</span><span class="p">(</span><span class="n">parsed</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nb">print</span><span class="p">(</span><span class="n">version_info_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
+<span></span><span class="n">version_info</span> <span class="o">=</span> <span class="n">Population</span><span class="p">()</span><span class="o">.</span><span class="n">return_binary_c_version_info</span><span class="p">(</span><span class="n">parsed</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+<span class="nb">print</span><span class="p">(</span><span class="n">version_info</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
 </pre></div>
 </div>
 </div>
@@ -478,7 +477,7 @@ default:
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-dict_keys([&#39;networks&#39;, &#39;isotopes&#39;, &#39;argpairs&#39;, &#39;ensembles&#39;, &#39;ensemble_filters&#39;, &#39;macros&#39;, &#39;elements&#39;, &#39;dt_limits&#39;, &#39;nucleosynthesis_sources&#39;, &#39;miscellaneous&#39;])
+dict_keys([&#39;networks&#39;, &#39;isotopes&#39;, &#39;argpairs&#39;, &#39;ensembles&#39;, &#39;ensemble_filters&#39;, &#39;macros&#39;, &#39;elements&#39;, &#39;dt_limits&#39;, &#39;units&#39;, &#39;nucleosynthesis_sources&#39;, &#39;miscellaneous&#39;])
 </pre></div></div>
 </div>
 </section>
@@ -504,18 +503,6 @@ dict_keys([&#39;networks&#39;, &#39;isotopes&#39;, &#39;argpairs&#39;, &#39;ense
 </ul>
 <p>TODO:</p>
 </section>
-<section id="Getting-help">
-<h2>Getting help<a class="headerlink" href="#Getting-help" title="Permalink to this headline"></a></h2>
-<div class="nbinput nblast docutils container">
-<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[ ]:
-</pre></div>
-</div>
-<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre>
-<span></span>
-</pre></div>
-</div>
-</div>
-</section>
 </section>
 
 
@@ -537,9 +524,9 @@ dict_keys([&#39;networks&#39;, &#39;isotopes&#39;, &#39;argpairs&#39;, &#39;ense
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_extra_features.ipynb b/docs/build/html/examples/notebook_extra_features.ipynb
index 44c19c112..a0f0fc0d9 100644
--- a/docs/build/html/examples/notebook_extra_features.ipynb
+++ b/docs/build/html/examples/notebook_extra_features.ipynb
@@ -18,11 +18,11 @@
    "metadata": {},
    "outputs": [],
    "source": [
+    "from binarycpython import Population\n",
     "from binarycpython.utils.functions import (\n",
     "    get_help,\n",
     "    get_help_all,\n",
     "    get_help_super,\n",
-    "    return_binary_c_version_info,\n",
     "    get_defaults\n",
     ")\n",
     "# help(binarycpython.utils.functions)"
@@ -116,8 +116,7 @@
    "metadata": {},
    "source": [
     "## Build information of binary_c\n",
-    "Sometimes we want to know with which settings binary_c has been built. We can use the function `return_binary_c_version_info` for this.\n",
-    "This function will parse the version info of binary_c and return a dictionary with all the settings."
+    "It can be useful to fetch the information with which the current version of binary_c has been configured with. We can do that through the Population object, by calling the instance method `return_binary_c_version_info`. This function will parse the version info of binary_c and return a dictionary with all the settings."
    ]
   },
   {
@@ -130,13 +129,13 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'nucleosynthesis_sources', 'miscellaneous'])\n"
+      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'units', 'nucleosynthesis_sources', 'miscellaneous'])\n"
      ]
     }
    ],
    "source": [
-    "version_info_dict = return_binary_c_version_info(parsed=True)\n",
-    "print(version_info_dict.keys())"
+    "version_info = Population().return_binary_c_version_info(parsed=True)\n",
+    "print(version_info.keys())"
    ]
   },
   {
@@ -168,27 +167,11 @@
     "\n",
     "TODO:"
    ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "b3c259ef-9f89-4b26-9ce3-45af625bc398",
-   "metadata": {},
-   "source": [
-    "## Getting help\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "bf3c1e28-1662-47a7-abab-aa6fb0ef0882",
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -202,7 +185,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/examples/notebook_individual_systems.html b/docs/build/html/examples/notebook_individual_systems.html
index 1bf646c4e..642efceba 100644
--- a/docs/build/html/examples/notebook_individual_systems.html
+++ b/docs/build/html/examples/notebook_individual_systems.html
@@ -414,7 +414,7 @@ div.rendered_html tbody tr:hover {
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-SINGLE_STAR_LIFETIME 1 12461.2
+SINGLE_STAR_LIFETIME 1 12461.1
 
 </pre></div></div>
 </div>
@@ -436,17 +436,17 @@ SINGLE_STAR_LIFETIME 1 12461.2
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=62172 RANDOM_COUNT=0
+      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=22065 RANDOM_COUNT=0
      0.0000    1.000    0.000  1  15            -1       -1   -1.00   0.000   0.000  &#34;INITIAL &#34;
  11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  &#34;OFF_MS&#34;
  11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  &#34;TYPE_CHNGE&#34;
  11582.2424    1.000    0.000  3  15            -1       -1   -1.00   0.000   0.000  &#34;TYPE_CHNGE&#34;
  12325.1085    0.817    0.000  4  15            -1       -1   -1.00   0.000   0.000  &#34;TYPE_CHNGE&#34;
  12457.1301    0.783    0.000  5  15            -1       -1   -1.00   0.000   0.000  &#34;TYPE_CHNGE&#34;
- 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  &#34;TYPE_CHNGE&#34;
- 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  &#34;shrinkAGB&#34;
- 12461.1627    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  &#34;TYPE_CHNGE&#34;
- 15000.0000    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  &#34;MAX_TIME&#34;
+ 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  &#34;TYPE_CHNGE&#34;
+ 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  &#34;shrinkAGB&#34;
+ 12461.1490    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  &#34;TYPE_CHNGE&#34;
+ 15000.0000    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  &#34;MAX_TIME&#34;
 
 </pre></div></div>
 </div>
@@ -562,13 +562,13 @@ EXAMPLE_MASSLOSS             2.000000000000e-06 1 1 1
 4         0.000002       1.0          1.0          1.0
 5         0.000003       1.0          1.0          1.0
 ...            ...       ...          ...          ...
-1345  12461.080763   0.71617          1.0          6.0
-1346  12461.162734  0.644553          1.0         11.0
-1347  13461.162734  0.644553          1.0         11.0
-1348  14461.162734  0.644553          1.0         11.0
-1349       15000.0  0.644553          1.0         11.0
+1250  12461.061259  0.718593          1.0          6.0
+1251  12461.149038  0.678026          1.0         11.0
+1252  13461.149038  0.678026          1.0         11.0
+1253  14461.149038  0.678026          1.0         11.0
+1254       15000.0  0.678026          1.0         11.0
 
-[1349 rows x 4 columns]
+[1254 rows x 4 columns]
 </pre></div></div>
 </div>
 </section>
@@ -614,10 +614,8 @@ EXAMPLE_MASSLOSS             2.000000000000e-06 1 1 1
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options
-adding: M_1=10 to BSE_options
 Creating and loading custom logging functionality
-Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems
+Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems
 Cleaning up the custom logging stuff. type: single
 SINGLE_STAR_LIFETIME 10 28.4838
 
@@ -666,9 +664,9 @@ Printf(&#34;EXAMPLE_MASSLOSS %30.12e %g %g %g %d\n&#34;,
 );
  to grid_options
 Creating and loading custom logging functionality
-Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems
+Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems
 Cleaning up the custom logging stuff. type: single
-Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_dafa15d2b1e64e19972ac0e9eb5c9a55.so
+Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_34a350b8f15c4d149deab88632948c99.so
 EXAMPLE_MASSLOSS             0.000000000000e+00 10 0 10 1
 EXAMPLE_MASSLOSS             0.000000000000e+00 10 10 10 1
 EXAMPLE_MASSLOSS             1.000000000000e-06 10 10 10 1
@@ -676,7 +674,7 @@ EXAMPLE_MASSLOSS             2.000000000000e-06 10 10 10 1
 </pre></div></div>
 </div>
 <p>Lastly we can add a parse_function to handle parsing the output again.</p>
-<p>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.</p>
+<p>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 <code class="docutils literal notranslate"><span class="pre">(self,</span> <span class="pre">output)</span></code>. Returning the data is useful when running evolve_single(), but won’t be used in a population evolution.</p>
 <div class="nbinput nblast docutils container">
 <div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[11]:
 </pre></div>
@@ -753,13 +751,12 @@ EXAMPLE_MASSLOSS             2.000000000000e-06 10 10 10 1
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-adding: parse_function=&lt;function object_parse_function at 0x149c2e81ec10&gt; to grid_options
-&lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to custom_options &gt;&gt;&gt;&gt;
-adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options
+adding: parse_function=&lt;function object_parse_function at 0x7f35b603e9d0&gt; to grid_options
+&lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-david/notebooks/notebook_individual_systems to custom_options &gt;&gt;&gt;&gt;
 Creating and loading custom logging functionality
-Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems
+Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems
 Cleaning up the custom logging stuff. type: single
-Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_0639ee205c7d4782b4a27378f5d890bd.so
+Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_446fe4cddfa94946bcafd55591ef3730.so
 [[&#39;time&#39;, &#39;mass&#39;, &#39;initial_mass&#39;, &#39;stellar_type&#39;], [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]]
 dict_keys([&#39;time&#39;, &#39;mass&#39;, &#39;initial_mass&#39;, &#39;stellar_type&#39;])
 </pre></div></div>
@@ -839,9 +836,9 @@ SINGLE_STAR_LIFETIME 15 14.9927
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_individual_systems.ipynb b/docs/build/html/examples/notebook_individual_systems.ipynb
index deb72fc55..d752fc66e 100644
--- a/docs/build/html/examples/notebook_individual_systems.ipynb
+++ b/docs/build/html/examples/notebook_individual_systems.ipynb
@@ -62,7 +62,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "SINGLE_STAR_LIFETIME 1 12461.2\n",
+      "SINGLE_STAR_LIFETIME 1 12461.1\n",
       "\n"
      ]
     }
@@ -90,17 +90,17 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=62172 RANDOM_COUNT=0\n",
+      "      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=22065 RANDOM_COUNT=0\n",
       "     0.0000    1.000    0.000  1  15            -1       -1   -1.00   0.000   0.000  \"INITIAL \"\n",
       " 11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  \"OFF_MS\"\n",
       " 11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 11582.2424    1.000    0.000  3  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 12325.1085    0.817    0.000  4  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 12457.1301    0.783    0.000  5  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"shrinkAGB\"\n",
-      " 12461.1627    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 15000.0000    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"MAX_TIME\"\n",
+      " 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
+      " 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"shrinkAGB\"\n",
+      " 12461.1490    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
+      " 15000.0000    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"MAX_TIME\"\n",
       "\n"
      ]
     }
@@ -236,13 +236,13 @@
       "4         0.000002       1.0          1.0          1.0\n",
       "5         0.000003       1.0          1.0          1.0\n",
       "...            ...       ...          ...          ...\n",
-      "1345  12461.080763   0.71617          1.0          6.0\n",
-      "1346  12461.162734  0.644553          1.0         11.0\n",
-      "1347  13461.162734  0.644553          1.0         11.0\n",
-      "1348  14461.162734  0.644553          1.0         11.0\n",
-      "1349       15000.0  0.644553          1.0         11.0\n",
+      "1250  12461.061259  0.718593          1.0          6.0\n",
+      "1251  12461.149038  0.678026          1.0         11.0\n",
+      "1252  13461.149038  0.678026          1.0         11.0\n",
+      "1253  14461.149038  0.678026          1.0         11.0\n",
+      "1254       15000.0  0.678026          1.0         11.0\n",
       "\n",
-      "[1349 rows x 4 columns]\n"
+      "[1254 rows x 4 columns]\n"
      ]
     }
    ],
@@ -299,10 +299,8 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options\n",
-      "adding: M_1=10 to BSE_options\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
       "SINGLE_STAR_LIFETIME 10 28.4838\n",
       "\n"
@@ -360,9 +358,9 @@
       ");\n",
       " to grid_options\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
-      "Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_dafa15d2b1e64e19972ac0e9eb5c9a55.so\n",
+      "Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_34a350b8f15c4d149deab88632948c99.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",
@@ -381,7 +379,7 @@
     "\n",
     "    stardata->star[0].stellar_type //5\n",
     ");\n",
-    "\"\"\"   \n",
+    "\"\"\"\n",
     "\n",
     "example_pop.set(C_logging_code=custom_logging_print_statement)\n",
     "\n",
@@ -397,7 +395,7 @@
    "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."
+    "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."
    ]
   },
   {
@@ -464,13 +462,12 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: parse_function=<function object_parse_function at 0x149c2e81ec10> to grid_options\n",
-      "<<<< Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to custom_options >>>>\n",
-      "adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options\n",
+      "adding: parse_function=<function object_parse_function at 0x7f35b603e9d0> to grid_options\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-david/notebooks/notebook_individual_systems to custom_options >>>>\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
-      "Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_0639ee205c7d4782b4a27378f5d890bd.so\n",
+      "Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_446fe4cddfa94946bcafd55591ef3730.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"
      ]
@@ -570,7 +567,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -584,7 +581,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/examples/notebook_luminosity_function_binaries.html b/docs/build/html/examples/notebook_luminosity_function_binaries.html
index 0a98f119d..e2425a1a0 100644
--- a/docs/build/html/examples/notebook_luminosity_function_binaries.html
+++ b/docs/build/html/examples/notebook_luminosity_function_binaries.html
@@ -1198,9 +1198,9 @@ Done population run!
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_luminosity_function_single.html b/docs/build/html/examples/notebook_luminosity_function_single.html
index d19a8ec7b..9ea09290e 100644
--- a/docs/build/html/examples/notebook_luminosity_function_single.html
+++ b/docs/build/html/examples/notebook_luminosity_function_single.html
@@ -855,9 +855,9 @@ works perfectly well.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_massive_remnants.html b/docs/build/html/examples/notebook_massive_remnants.html
index f46ea2c61..be30de976 100644
--- a/docs/build/html/examples/notebook_massive_remnants.html
+++ b/docs/build/html/examples/notebook_massive_remnants.html
@@ -960,9 +960,9 @@ There were no errors found in this run.
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_population.html b/docs/build/html/examples/notebook_population.html
index bd71b0285..edb81b7a6 100644
--- a/docs/build/html/examples/notebook_population.html
+++ b/docs/build/html/examples/notebook_population.html
@@ -53,7 +53,11 @@
 <li class="toctree-l3"><a class="reference internal" href="#Setting-logging-and-handling-the-output">Setting logging and handling the output</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#Evolving-the-grid">Evolving the grid</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#Noteworthy-functionality">Noteworthy functionality</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#Full-examples-of-population-scripts">Full examples of population scripts</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#Full-examples-of-population-scripts">Full examples of population scripts</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#Single-star-population">Single star population</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#Binary-star-population">Binary star population</a></li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="notebook_extra_features.html">Tutorial: Extra features and functionality of binary_c-python</a></li>
@@ -381,7 +385,7 @@ div.rendered_html tbody tr:hover {
 <span></span><span class="kn">import</span> <span class="nn">os</span>
 
 <span class="kn">from</span> <span class="nn">binarycpython.utils.custom_logging_functions</span> <span class="kn">import</span> <span class="n">temp_dir</span>
-<span class="kn">from</span> <span class="nn">binarycpython.utils.grid</span> <span class="kn">import</span> <span class="n">Population</span>
+<span class="kn">from</span> <span class="nn">binarycpython</span> <span class="kn">import</span> <span class="n">Population</span>
 
 <span class="n">TMP_DIR</span> <span class="o">=</span> <span class="n">temp_dir</span><span class="p">(</span><span class="s2">&quot;notebooks&quot;</span><span class="p">,</span> <span class="s2">&quot;notebook_population&quot;</span><span class="p">)</span>
 
@@ -444,13 +448,9 @@ have set them.</p>
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-adding: M_1=10 to BSE_options
-adding: orbital_period=45000000080 to BSE_options
-adding: max_evolution_time=15000 to BSE_options
-adding: eccentricity=0.02 to BSE_options
 adding: num_cores=2 to grid_options
-adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population to grid_options
-&lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options &gt;&gt;&gt;&gt;
+adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_population to grid_options
+&lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options &gt;&gt;&gt;&gt;
 &lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options &gt;&gt;&gt;&gt;
 1
 example_pop.dat
@@ -480,7 +480,11 @@ example_pop.dat
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-Writing settings to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json
+ok
+File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it
+ok
+ok pre
+ok ret
 </pre></div></div>
 </div>
 <div class="nboutput nblast docutils container">
@@ -489,7 +493,7 @@ Writing settings to /tmp/binary_c_python-izzard/notebooks/notebook_population/ex
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-&#39;/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json&#39;
+&#39;/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz&#39;
 </pre></div></div>
 </div>
 </section>
@@ -514,9 +518,9 @@ Writing settings to /tmp/binary_c_python-izzard/notebooks/notebook_population/ex
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-Help on method add_grid_variable in module binarycpython.utils.grid:
+Help on method add_grid_variable in module binarycpython.utils.population_extensions.gridcode:
 
-add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int], gridtype: str = &#39;centred&#39;, branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None) -&gt; None method of binarycpython.utils.grid.Population instance
+add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int] = -1, gridtype: str = &#39;centred&#39;, branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None, index: Optional[int] = None, dry_parallel: Optional[bool] = False) -&gt; None method of binarycpython.utils.grid.Population instance
     Function to add grid variables to the grid_options.
 
     The execution of the grid generation will be through a nested for loop.
@@ -527,17 +531,15 @@ add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Uni
     beware that if you insert some destructive piece of code, it will be executed anyway.
     Use at own risk.
 
-    Tasks:
-        - TODO: Fix this complex function.
-
     Args:
         name:
             name of parameter used in the grid Python code.
             This is evaluated as a parameter and you can use it throughout
             the rest of the function
 
-            Examples:
-                name = &#39;lnm1&#39;
+            Examples::
+
+                name = &#39;lnM_1&#39;
 
         parameter_name:
             name of the parameter in binary_c
@@ -552,47 +554,66 @@ add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Uni
         longname:
             Long name of parameter
 
-            Examples:
+            Examples::
+
                 longname = &#39;Primary mass&#39;
+
         range:
             Range of values to take. Does not get used really, the samplerfunc is used to
             get the values from
 
-            Examples:
+            Examples::
+
                 range = [math.log(m_min), math.log(m_max)]
+
         samplerfunc:
             Function returning a list or numpy array of samples spaced appropriately.
             You can either use a real function, or a string representation of a function call.
 
-            Examples:
-                samplerfunc = &#34;const(math.log(m_min), math.log(m_max), {})&#34;.format(resolution[&#39;M_1&#39;])
+            Examples::
+
+                samplerfunc = &#34;self.const_linear(math.log(m_min), math.log(m_max), {})&#34;.format(resolution[&#39;M_1&#39;])
 
         precode:
             Extra room for some code. This code will be evaluated within the loop of the
-            sampling function (i.e. a value for lnm1 is chosen already)
+            sampling function (i.e. a value for lnM_1 is chosen already)
+
+            Examples::
+
+                precode = &#39;M_1=math.exp(lnM_1);&#39;
 
-            Examples:
-                precode = &#39;M_1=math.exp(lnm1);&#39;
         postcode:
             Code executed after the probability is calculated.
+
         probdist:
             Function determining the probability that gets assigned to the sampled parameter
 
-            Examples:
-                probdist = &#39;Kroupa2001(M_1)*M_1&#39;
+            Examples::
+
+                probdist = &#39;self.Kroupa2001(M_1)*M_1&#39;
+
         dphasevol:
             part of the parameter space that the total probability is calculated with. Put to -1
             if you want to ignore any dphasevol calculations and set the value to 1
-            Examples:
-                dphasevol = &#39;dlnm1&#39;
+
+            Examples::
+
+                dphasevol = &#39;dlnM_1&#39;
+
         condition:
             condition that has to be met in order for the grid generation to continue
-            Examples:
-                condition = &#39;self.grid_options[&#39;binary&#39;]==1&#39;
+
+            Examples::
+
+                condition = &#34;self.grid_options[&#39;binary&#39;]==1&#34;
+
         gridtype:
             Method on how the value range is sampled. Can be either &#39;edge&#39; (steps starting at
             the lower edge of the value range) or &#39;centred&#39;
-            (steps starting at lower edge + 0.5 * stepsize).
+            (steps starting at ``lower edge + 0.5 * stepsize``).
+
+        dry_parallel:
+            If True, try to parallelize this variable in dry runs.
 
         topcode:
             Code added at the very top of the block.
@@ -614,7 +635,7 @@ add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Uni
 </div>
 </div>
 <p>The next cell contains an example of adding the mass grid variable, but sampling in log mass. The commented grid variables are examples of the mass ratio sampling and the period sampling.</p>
-<div class="nbinput docutils container">
+<div class="nbinput nblast docutils container">
 <div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[6]:
 </pre></div>
 </div>
@@ -627,9 +648,9 @@ add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Uni
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;lnm1&quot;</span><span class="p">,</span>
     <span class="n">longname</span><span class="o">=</span><span class="s2">&quot;Primary mass&quot;</span><span class="p">,</span>
     <span class="n">valuerange</span><span class="o">=</span><span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">150</span><span class="p">],</span>
-    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;const(math.log(2), math.log(150), </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
+    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;self.const_linear(math.log(2), math.log(150), </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
     <span class="n">precode</span><span class="o">=</span><span class="s2">&quot;M_1=math.exp(lnm1)&quot;</span><span class="p">,</span>
-    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&quot;</span><span class="p">,</span>
+    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&quot;</span><span class="p">,</span>
     <span class="n">dphasevol</span><span class="o">=</span><span class="s2">&quot;dlnm1&quot;</span><span class="p">,</span>
     <span class="n">parameter_name</span><span class="o">=</span><span class="s2">&quot;M_1&quot;</span><span class="p">,</span>
     <span class="n">condition</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>  <span class="c1"># Impose a condition on this grid variable. Mostly for a check for yourself</span>
@@ -640,8 +661,8 @@ add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Uni
 <span class="c1">#     name=&quot;q&quot;,</span>
 <span class="c1">#     longname=&quot;Mass ratio&quot;,</span>
 <span class="c1">#     valuerange=[&quot;0.1/M_1&quot;, 1],</span>
-<span class="c1">#     samplerfunc=&quot;const(0.1/M_1, 1, {})&quot;.format(resolution[&#39;q&#39;]),</span>
-<span class="c1">#     probdist=&quot;flatsections(q, [{&#39;min&#39;: 0.1/M_1, &#39;max&#39;: 1.0, &#39;height&#39;: 1}])&quot;,</span>
+<span class="c1">#     samplerfunc=&quot;self.const_linear(0.1/M_1, 1, {})&quot;.format(resolution[&#39;q&#39;]),</span>
+<span class="c1">#     probdist=&quot;self.flatsections(q, [{&#39;min&#39;: 0.1/M_1, &#39;max&#39;: 1.0, &#39;height&#39;: 1}])&quot;,</span>
 <span class="c1">#     dphasevol=&quot;dq&quot;,</span>
 <span class="c1">#     precode=&quot;M_2 = q * M_1&quot;,</span>
 <span class="c1">#     parameter_name=&quot;M_2&quot;,</span>
@@ -653,12 +674,12 @@ add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Uni
 <span class="c1">#    name=&quot;log10per&quot;, # in days</span>
 <span class="c1">#    longname=&quot;log10(Orbital_Period)&quot;,</span>
 <span class="c1">#    valuerange=[0.15, 5.5],</span>
-<span class="c1">#    samplerfunc=&quot;const(0.15, 5.5, {})&quot;.format(resolution[&quot;per&quot;]),</span>
+<span class="c1">#    samplerfunc=&quot;self.const_linear(0.15, 5.5, {})&quot;.format(resolution[&quot;per&quot;]),</span>
 <span class="c1">#    precode=&quot;&quot;&quot;orbital_period = 10** log10per</span>
 <span class="c1"># sep = calc_sep_from_period(M_1, M_2, orbital_period)</span>
 <span class="c1"># sep_min = calc_sep_from_period(M_1, M_2, 10**0.15)</span>
 <span class="c1"># sep_max = calc_sep_from_period(M_1, M_2, 10**5.5)&quot;&quot;&quot;,</span>
-<span class="c1">#    probdist=&quot;sana12(M_1, M_2, sep, orbital_period, sep_min, sep_max, math.log10(10**0.15), math.log10(10**5.5), -0.55)&quot;,</span>
+<span class="c1">#    probdist=&quot;self.sana12(M_1, M_2, sep, orbital_period, sep_min, sep_max, math.log10(10**0.15), math.log10(10**5.5), -0.55)&quot;,</span>
 <span class="c1">#    parameter_name=&quot;orbital_period&quot;,</span>
 <span class="c1">#    dphasevol=&quot;dlog10per&quot;,</span>
 <span class="c1"># )</span>
@@ -666,34 +687,6 @@ add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Uni
 </pre></div>
 </div>
 </div>
-<div class="nboutput nblast docutils container">
-<div class="prompt empty docutils container">
-</div>
-<div class="output_area docutils container">
-<div class="highlight"><pre>
-Added grid variable: {
-    &#34;name&#34;: &#34;lnm1&#34;,
-    &#34;parameter_name&#34;: &#34;M_1&#34;,
-    &#34;longname&#34;: &#34;Primary mass&#34;,
-    &#34;valuerange&#34;: [
-        2,
-        150
-    ],
-    &#34;samplerfunc&#34;: &#34;const(math.log(2), math.log(150), 20)&#34;,
-    &#34;precode&#34;: &#34;M_1=math.exp(lnm1)&#34;,
-    &#34;postcode&#34;: null,
-    &#34;probdist&#34;: &#34;three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&#34;,
-    &#34;dphasevol&#34;: &#34;dlnm1&#34;,
-    &#34;condition&#34;: &#34;&#34;,
-    &#34;gridtype&#34;: &#34;centred&#34;,
-    &#34;branchpoint&#34;: 0,
-    &#34;branchcode&#34;: null,
-    &#34;topcode&#34;: null,
-    &#34;bottomcode&#34;: null,
-    &#34;grid_variable_number&#34;: 0
-}
-</pre></div></div>
-</div>
 </section>
 <section id="Setting-logging-and-handling-the-output">
 <h2>Setting logging and handling the output<a class="headerlink" href="#Setting-logging-and-handling-the-output" title="Permalink to this headline"></a></h2>
@@ -706,7 +699,7 @@ Added grid variable: {
 </div>
 <div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre>
 <span></span><span class="c1"># Create custom logging statement: in this case we will log when the star turns into a compact object, and then terminate the evolution.</span>
-<span class="n">custom_logging_statement</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="n">custom_logging_code</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
 <span class="s2">if(stardata-&gt;star[0].stellar_type &gt;= 13)</span>
 <span class="s2">{</span>
 <span class="s2">    if (stardata-&gt;model.time &lt; stardata-&gt;model.max_evolution_time)</span>
@@ -726,7 +719,7 @@ Added grid variable: {
 <span class="s2">&quot;&quot;&quot;</span>
 
 <span class="n">example_pop</span><span class="o">.</span><span class="n">set</span><span class="p">(</span>
-    <span class="n">C_logging_code</span><span class="o">=</span><span class="n">custom_logging_statement</span>
+    <span class="n">C_logging_code</span><span class="o">=</span><span class="n">custom_logging_code</span>
 <span class="p">)</span>
 </pre></div>
 </div>
@@ -813,7 +806,7 @@ if(stardata-&gt;star[0].stellar_type &gt;= 13)
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-adding: parse_function=&lt;function parse_function at 0x1528ac7290d0&gt; to grid_options
+adding: parse_function=&lt;function parse_function at 0x7f2b6ca163a0&gt; to grid_options
 </pre></div></div>
 </div>
 </section>
@@ -842,38 +835,41 @@ adding: parse_function=&lt;function parse_function at 0x1528ac7290d0&gt; to grid
 <div class="output_area docutils container">
 <div class="highlight"><pre>
 adding: verbosity=0 to grid_options
+Do dry run? True
 Doing dry run to calculate total starcount and probability
-Generating grid code
-Grid has handled 20 stars with a total probability of 0.0444029
-**************************************
-* Total starcount for this run is 20 *
-*   Total probability is 0.0444029   *
-**************************************
-
-Generating grid code
-EXAMPLE_COMPACT_OBJECT             4.139293101586e+01 1.29427 8.13626 0.00202467 13
-EXAMPLE_COMPACT_OBJECT             2.802986496151e+01 1.33699 10.0967 0.00152924 13
-EXAMPLE_COMPACT_OBJECT             1.963621764679e+01 1.39754 12.5294 0.00115504 13
-EXAMPLE_COMPACT_OBJECT             1.427601421985e+01 1.47745 15.5483 0.000872405 13
-EXAMPLE_COMPACT_OBJECT             1.094409257247e+01 1.57571 19.2947 0.00065893 13
-EXAMPLE_COMPACT_OBJECT             9.181971798545e+00 1.68748 23.9436 0.000497691 13
-EXAMPLE_COMPACT_OBJECT             7.905335716621e+00 1.77287 29.7128 0.000375908 13
-EXAMPLE_COMPACT_OBJECT             7.451192744924e+00 1.81495 36.872 0.000283924 13
-EXAMPLE_COMPACT_OBJECT             7.396133472739e+00 1.82088 45.7561 0.000214449 13
-EXAMPLE_COMPACT_OBJECT             7.396675941641e+00 1.82123 56.7809 0.000161974 13
-EXAMPLE_COMPACT_OBJECT             7.404641347602e+00 1.82074 70.4621 0.000122339 13
-EXAMPLE_COMPACT_OBJECT             7.444217227690e+00 1.81636 87.4397 9.2403e-05 13
-EXAMPLE_COMPACT_OBJECT             7.453317880232e+00 1.81536 108.508 6.97923e-05 13
-EXAMPLE_COMPACT_OBJECT             7.450828476487e+00 1.81563 134.653 5.27143e-05 13
+Grid has handled 19 stars with a total probability of 0.0443872
+**********************************
+*             Dry run            *
+*      Total starcount is 19     *
+* Total probability is 0.0443872 *
+**********************************
+
+EXAMPLE_COMPACT_OBJECT             3.598268106227e+01 1.30592 8.75988 0.00193614 13
+EXAMPLE_COMPACT_OBJECT             2.436983545111e+01 1.35842 10.9948 0.00144093 13
+EXAMPLE_COMPACT_OBJECT             1.690157944401e+01 1.43124 13.7998 0.00107238 13
+EXAMPLE_COMPACT_OBJECT             1.242397939068e+01 1.52416 17.3205 0.000798096 13
+EXAMPLE_COMPACT_OBJECT             9.756794139032e+00 1.66914 21.7394 0.000593966 13
+EXAMPLE_COMPACT_OBJECT             8.401414766976e+00 1.73729 27.2857 0.000442046 13
+EXAMPLE_COMPACT_OBJECT             7.536373523810e+00 1.80677 34.247 0.000328983 13
+EXAMPLE_COMPACT_OBJECT             7.393982410080e+00 1.82164 42.9844 0.000244839 13
+EXAMPLE_COMPACT_OBJECT             7.396470605248e+00 1.82129 53.9508 0.000182216 13
+Do join of subprocesses ...
+EXAMPLE_COMPACT_OBJECT             7.399005684057e+00 1.82041 67.7151 0.00013561 13
+EXAMPLE_COMPACT_OBJECT             7.443375325717e+00 1.81645 84.9909 0.000100925 13
+EXAMPLE_COMPACT_OBJECT             7.451195752942e+00 1.81559 106.674 7.51114e-05 13
+EXAMPLE_COMPACT_OBJECT             7.452661646076e+00 1.81543 133.89 5.59e-05 13
+Joined subprocesses.
 **********************************************************
-*  Population-50fb66cc659c46c8bbc29fe0c8651c2f finished! *
-*           The total probability is 0.0444029.          *
-*  It took a total of 3.30s to run 20 systems on 2 cores *
-*                   = 6.60s of CPU time.                 *
-*              Maximum memory use 433.070 MB             *
+*  Population-ce756bb317f64099a459bf8b55a746ac finished! *
+*           The total probability is 0.0443872.          *
+*  It took a total of 0.73s to run 19 systems on 2 cores *
+*                   = 1.46s of CPU time.                 *
+*              Maximum memory use 293.406 MB             *
 **********************************************************
 
-There were no errors found in this run.
+No failed systems were found in this run.
+Do analytics
+Added analytics to metadata
 </pre></div></div>
 </div>
 <p>After the run is complete, some technical report on the run is returned. I stored that in <code class="docutils literal notranslate"><span class="pre">analytics</span></code>. As we can see below, this dictionary is like a status report of the evolution. Useful for e.g. debugging.</p>
@@ -891,7 +887,7 @@ There were no errors found in this run.
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-{&#39;population_name&#39;: &#39;50fb66cc659c46c8bbc29fe0c8651c2f&#39;, &#39;evolution_type&#39;: &#39;grid&#39;, &#39;failed_count&#39;: 0, &#39;failed_prob&#39;: 0, &#39;failed_systems_error_codes&#39;: [], &#39;errors_exceeded&#39;: False, &#39;errors_found&#39;: False, &#39;total_probability&#39;: 0.04440288843805411, &#39;total_count&#39;: 20, &#39;start_timestamp&#39;: 1635760967.3245144, &#39;end_timestamp&#39;: 1635760970.6249793, &#39;total_mass_run&#39;: 684.2544031669784, &#39;total_probability_weighted_mass_run&#39;: 0.28134439269236855, &#39;zero_prob_stars_skipped&#39;: 0}
+{&#39;population_id&#39;: &#39;ce756bb317f64099a459bf8b55a746ac&#39;, &#39;evolution_type&#39;: &#39;grid&#39;, &#39;failed_count&#39;: 0, &#39;failed_prob&#39;: 0, &#39;failed_systems_error_codes&#39;: [], &#39;errors_exceeded&#39;: False, &#39;errors_found&#39;: False, &#39;total_probability&#39;: 0.044387171445641534, &#39;total_count&#39;: 19, &#39;start_timestamp&#39;: 1646563001.7193637, &#39;end_timestamp&#39;: 1646563002.4480088, &#39;time_elapsed&#39;: 0.7286450862884521, &#39;total_mass_run&#39;: 649.905447944397, &#39;total_probability_weighted_mass_run&#39;: 0.28133908148630704, &#39;zero_prob_stars_skipped&#39;: 0}
 </pre></div></div>
 </div>
 </section>
@@ -912,9 +908,9 @@ There were no errors found in this run.
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-Help on method write_binary_c_calls_to_file in module binarycpython.utils.grid:
+Help on method write_binary_c_calls_to_file in module binarycpython.utils.population_extensions.dataIO:
 
-write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False) -&gt; None method of binarycpython.utils.grid.Population instance
+write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False, encoding=&#39;utf-8&#39;) -&gt; None method of binarycpython.utils.grid.Population instance
     Function that loops over the grid code and writes the generated parameters to a file.
     In the form of a command line call
 
@@ -925,10 +921,6 @@ write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename:
 
     On default this will write to the datadir, if it exists
 
-    Tasks:
-        - TODO: test this function
-        - TODO: make sure the binary_c_python .. output file has a unique name
-
     Args:
         output_dir: (optional, default = None) directory where to write the file to. If custom_options[&#39;data_dir&#39;] is present, then that one will be used first, and then the output_dir
         output_filename: (optional, default = None) filename of the output. If not set it will be called &#34;binary_c_calls.txt&#34;
@@ -950,6 +942,7 @@ write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename:
 
 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">calls_filename</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
     <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span><span class="o">.</span><span class="n">splitlines</span><span class="p">()[:</span><span class="mi">4</span><span class="p">]))</span>
+<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;(abridged)&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
 </div>
@@ -959,24 +952,26 @@ write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename:
 <div class="output_area docutils container">
 <div class="highlight"><pre>
 Generating grid code
-Generating grid code
-Saving grid code to grid_options
-Writing grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py [dry_run = False]
-Symlinked grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid-latest2
-Loading grid code function from /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py
+Save grid code to grid_options
+Write grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py [dry_run = False]
+Symlinked grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid-latest2
+Load grid code function from /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py
 Grid code loaded
-Writing binary_c calls to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt
-Grid has handled 20 stars with a total probability of 0.0444029
-/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt
-binary_c M_1 2.227955577093495 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681548 probability 0.010905083645619543
-binary_c M_1 2.7647737053496777 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.00823663875514986
-binary_c M_1 3.430936289925951 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681537 probability 0.0062211552141636295
-binary_c M_1 4.2576084265970895 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.004698855121516281
+Writing binary_c calls to /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt
+Grid has handled 19 stars with a total probability of 0.0443872
+/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt
+binary_c M_1 2.2406484012210224 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.011394572976608001
+binary_c M_1 2.812296769855663 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191117 probability 0.008480166685456411
+binary_c M_1 3.5297876799548944 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.006311182276049824
+binary_c M_1 4.430329401616038 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.004696962123378559
+(abridged)
 </pre></div></div>
 </div>
 </section>
 <section id="Full-examples-of-population-scripts">
 <h2>Full examples of population scripts<a class="headerlink" href="#Full-examples-of-population-scripts" title="Permalink to this headline"></a></h2>
+<section id="Single-star-population">
+<h3>Single star population<a class="headerlink" href="#Single-star-population" title="Permalink to this headline"></a></h3>
 <p>Below is a full setup for a population of single stars</p>
 <div class="nbinput docutils container">
 <div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[13]:
@@ -1089,9 +1084,9 @@ binary_c M_1 4.2576084265970895 eccentricity 0.02 max_evolution_time 15000 orbit
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;lnm1&quot;</span><span class="p">,</span>
     <span class="n">longname</span><span class="o">=</span><span class="s2">&quot;Primary mass&quot;</span><span class="p">,</span>
     <span class="n">valuerange</span><span class="o">=</span><span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">150</span><span class="p">],</span>
-    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;const(math.log(2), math.log(150), </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
+    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;self.const_linear(math.log(2), math.log(150), </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
     <span class="n">precode</span><span class="o">=</span><span class="s2">&quot;M_1=math.exp(lnm1)&quot;</span><span class="p">,</span>
-    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&quot;</span><span class="p">,</span>
+    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&quot;</span><span class="p">,</span>
     <span class="n">dphasevol</span><span class="o">=</span><span class="s2">&quot;dlnm1&quot;</span><span class="p">,</span>
     <span class="n">parameter_name</span><span class="o">=</span><span class="s2">&quot;M_1&quot;</span><span class="p">,</span>
     <span class="n">condition</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
@@ -1121,47 +1116,58 @@ binary_c M_1 4.2576084265970895 eccentricity 0.02 max_evolution_time 15000 orbit
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-&lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options &gt;&gt;&gt;&gt;
+&lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options &gt;&gt;&gt;&gt;
 &lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options &gt;&gt;&gt;&gt;
+ok
+File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it
+ok
+ok pre
+ok ret
+Do dry run? True
 Doing dry run to calculate total starcount and probability
-Generating grid code
-Grid has handled 20 stars with a total probability of 0.0444029
-**************************************
-* Total starcount for this run is 20 *
-*   Total probability is 0.0444029   *
-**************************************
-
-Generating grid code
+Grid has handled 19 stars with a total probability of 0.0443872
+**********************************
+*             Dry run            *
+*      Total starcount is 19     *
+* Total probability is 0.0443872 *
+**********************************
+
+Do join of subprocesses ...
+Joined subprocesses.
 **********************************************************
-*  Population-05e51ba114934b37bab48f1db40b7333 finished! *
-*           The total probability is 0.0444029.          *
-*  It took a total of 3.46s to run 20 systems on 2 cores *
-*                   = 6.93s of CPU time.                 *
-*              Maximum memory use 437.047 MB             *
+*  Population-0fa4c2b8707741a5ab41d209ef95a3a4 finished! *
+*           The total probability is 0.0443872.          *
+*  It took a total of 0.61s to run 19 systems on 2 cores *
+*                   = 1.23s of CPU time.                 *
+*              Maximum memory use 299.531 MB             *
 **********************************************************
 
-There were no errors found in this run.
+No failed systems were found in this run.
+Do analytics
+Added analytics to metadata
 
 
 time mass zams_mass probability radius stellar_type
-4.139293101586e+01 1.29427 8.13626 0.00202467 1.72498e-05 13
-2.802986496151e+01 1.33699 10.0967 0.00152924 1.72498e-05 13
-1.963621764679e+01 1.39754 12.5294 0.00115504 1.72498e-05 13
-1.427601421985e+01 1.47745 15.5483 0.000872405 1.72498e-05 13
-1.094409257247e+01 1.57571 19.2947 0.00065893 1.72498e-05 13
-9.181971798545e+00 1.68748 23.9436 0.000497691 1.72498e-05 13
-7.905335716621e+00 1.77287 29.7128 0.000375908 1.72498e-05 13
-7.451192744924e+00 1.81495 36.872 0.000283924 1.72498e-05 13
-7.396133472739e+00 1.82088 45.7561 0.000214449 1.72498e-05 13
-7.396675941641e+00 1.82123 56.7809 0.000161974 1.72498e-05 13
-7.404641347602e+00 1.82074 70.4621 0.000122339 1.72498e-05 13
-7.444217227690e+00 1.81636 87.4397 9.2403e-05 1.72498e-05 13
-7.453317880232e+00 1.81536 108.508 6.97923e-05 1.72498e-05 13
-7.450828476487e+00 1.81563 134.653 5.27143e-05 1.72498e-05 13
+3.598268106227e+01 1.30592 8.75988 0.00193614 1.72498e-05 13
+2.436983545111e+01 1.35842 10.9948 0.00144093 1.72498e-05 13
+1.690157944401e+01 1.43124 13.7998 0.00107238 1.72498e-05 13
+1.242397939068e+01 1.52416 17.3205 0.000798096 1.72498e-05 13
+9.756794139032e+00 1.66914 21.7394 0.000593966 1.72498e-05 13
+8.401414766976e+00 1.73729 27.2857 0.000442046 1.72498e-05 13
+7.536373523810e+00 1.80677 34.247 0.000328983 1.72498e-05 13
+7.393982410080e+00 1.82164 42.9844 0.000244839 1.72498e-05 13
+7.396470605248e+00 1.82129 53.9508 0.000182216 1.72498e-05 13
+7.399005684057e+00 1.82041 67.7151 0.00013561 1.72498e-05 13
+7.451195752942e+00 1.81559 106.674 7.51114e-05 1.72498e-05 13
+7.443375325717e+00 1.81645 84.9909 0.000100925 1.72498e-05 13
+7.452661646076e+00 1.81543 133.89 5.59e-05 1.72498e-05 13
 
 </pre></div></div>
 </div>
-<p>We can also set up a population that samples biinary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded top be more useful</p>
+</section>
+<section id="Binary-star-population">
+<h3>Binary star population<a class="headerlink" href="#Binary-star-population" title="Permalink to this headline"></a></h3>
+<p>We can also set up a population that samples binary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded to be more useful. Also note that we run very little systems in the following example, as its just intended to show how the code works.</p>
 <div class="nbinput docutils container">
 <div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[14]:
 </pre></div>
@@ -1291,9 +1297,9 @@ time mass zams_mass probability radius stellar_type
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;lnm1&quot;</span><span class="p">,</span>
     <span class="n">longname</span><span class="o">=</span><span class="s2">&quot;Primary mass&quot;</span><span class="p">,</span>
     <span class="n">valuerange</span><span class="o">=</span><span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">150</span><span class="p">],</span>
-    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;const(math.log(2), math.log(150), </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
+    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;self.const_linear(math.log(2), math.log(150), </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;M_1&quot;</span><span class="p">]),</span>
     <span class="n">precode</span><span class="o">=</span><span class="s2">&quot;M_1=math.exp(lnm1)&quot;</span><span class="p">,</span>
-    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&quot;</span><span class="p">,</span>
+    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;self.three_part_powerlaw(M_1, 0.1, 0.5, 1.0, 150, -1.3, -2.3, -2.3)*M_1&quot;</span><span class="p">,</span>
     <span class="n">dphasevol</span><span class="o">=</span><span class="s2">&quot;dlnm1&quot;</span><span class="p">,</span>
     <span class="n">parameter_name</span><span class="o">=</span><span class="s2">&quot;M_1&quot;</span><span class="p">,</span>
     <span class="n">condition</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>  <span class="c1"># Impose a condition on this grid variable. Mostly for a check for yourself</span>
@@ -1304,8 +1310,8 @@ time mass zams_mass probability radius stellar_type
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;q&quot;</span><span class="p">,</span>
     <span class="n">longname</span><span class="o">=</span><span class="s2">&quot;Mass ratio&quot;</span><span class="p">,</span>
     <span class="n">valuerange</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;0.1/M_1&quot;</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span>
-    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;const(0.1/M_1, 1, </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s1">&#39;q&#39;</span><span class="p">]),</span>
-    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;flatsections(q, [{&#39;min&#39;: 0.1/M_1, &#39;max&#39;: 1.0, &#39;height&#39;: 1}])&quot;</span><span class="p">,</span>
+    <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;self.const_linear(0.1/M_1, 1, </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s1">&#39;q&#39;</span><span class="p">]),</span>
+    <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;self.flatsections(q, [{&#39;min&#39;: 0.1/M_1, &#39;max&#39;: 1.0, &#39;height&#39;: 1}])&quot;</span><span class="p">,</span>
     <span class="n">dphasevol</span><span class="o">=</span><span class="s2">&quot;dq&quot;</span><span class="p">,</span>
     <span class="n">precode</span><span class="o">=</span><span class="s2">&quot;M_2 = q * M_1&quot;</span><span class="p">,</span>
     <span class="n">parameter_name</span><span class="o">=</span><span class="s2">&quot;M_2&quot;</span><span class="p">,</span>
@@ -1317,12 +1323,12 @@ time mass zams_mass probability radius stellar_type
    <span class="n">name</span><span class="o">=</span><span class="s2">&quot;log10per&quot;</span><span class="p">,</span> <span class="c1"># in days</span>
    <span class="n">longname</span><span class="o">=</span><span class="s2">&quot;log10(Orbital_Period)&quot;</span><span class="p">,</span>
    <span class="n">valuerange</span><span class="o">=</span><span class="p">[</span><span class="mf">0.15</span><span class="p">,</span> <span class="mf">5.5</span><span class="p">],</span>
-   <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;const(0.15, 5.5, </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;per&quot;</span><span class="p">]),</span>
+   <span class="n">samplerfunc</span><span class="o">=</span><span class="s2">&quot;self.const_linear(0.15, 5.5, </span><span class="si">{}</span><span class="s2">)&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">resolution</span><span class="p">[</span><span class="s2">&quot;per&quot;</span><span class="p">]),</span>
    <span class="n">precode</span><span class="o">=</span><span class="s2">&quot;&quot;&quot;orbital_period = 10** log10per</span>
 <span class="s2">sep = calc_sep_from_period(M_1, M_2, orbital_period)</span>
 <span class="s2">sep_min = calc_sep_from_period(M_1, M_2, 10**0.15)</span>
 <span class="s2">sep_max = calc_sep_from_period(M_1, M_2, 10**5.5)&quot;&quot;&quot;</span><span class="p">,</span>
-   <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;sana12(M_1, M_2, sep, orbital_period, sep_min, sep_max, math.log10(10**0.15), math.log10(10**5.5), -0.55)&quot;</span><span class="p">,</span>
+   <span class="n">probdist</span><span class="o">=</span><span class="s2">&quot;self.sana12(M_1, M_2, sep, orbital_period, sep_min, sep_max, math.log10(10**0.15), math.log10(10**5.5), -0.55)&quot;</span><span class="p">,</span>
    <span class="n">parameter_name</span><span class="o">=</span><span class="s2">&quot;orbital_period&quot;</span><span class="p">,</span>
    <span class="n">dphasevol</span><span class="o">=</span><span class="s2">&quot;dlog10per&quot;</span><span class="p">,</span>
 <span class="p">)</span>
@@ -1350,49 +1356,47 @@ time mass zams_mass probability radius stellar_type
 </div>
 <div class="output_area docutils container">
 <div class="highlight"><pre>
-&lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options &gt;&gt;&gt;&gt;
+&lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options &gt;&gt;&gt;&gt;
 &lt;&lt;&lt;&lt; Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options &gt;&gt;&gt;&gt;
+ok
+File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it
+ok
+ok pre
+ok ret
+Do dry run? True
 Doing dry run to calculate total starcount and probability
-Generating grid code
-Grid has handled 27 stars with a total probability of 0.0248684
-**************************************
-* Total starcount for this run is 27 *
-*   Total probability is 0.0248684   *
-**************************************
-
-Generating grid code
+Grid has handled 8 stars with a total probability of 0.0211592
+**********************************
+*             Dry run            *
+*      Total starcount is 8      *
+* Total probability is 0.0211592 *
+**********************************
+
+Do join of subprocesses ...
+Joined subprocesses.
 **********************************************************
-*  Population-8bc1eafea1c34b05894c1618639d8c37 finished! *
-*           The total probability is 0.0248684.          *
-* It took a total of 16.10s to run 27 systems on 2 cores *
-*                  = 32.20s of CPU time.                 *
-*              Maximum memory use 437.695 MB             *
+*  Population-0eb5c0c9abd34607a6ee060b26a7e32f finished! *
+*           The total probability is 0.0211592.          *
+*  It took a total of 0.84s to run 8 systems on 2 cores  *
+*                   = 1.68s of CPU time.                 *
+*              Maximum memory use 300.125 MB             *
 **********************************************************
 
-There were no errors found in this run.
+No failed systems were found in this run.
+Do analytics
+Added analytics to metadata
 
 
 time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 stellar_type_2 prev_stellar_type_2 metallicity probability
-1.219029061236e+01 1.60007 17.3205 0 2.97008 13 5 15 15 0.02 0.000498487
-1.935920339886e+01 1.29448 17.3205 0 8.71025 13 13 15 2 0.02 0.000498487
-2.123794969278e+01 1.30902 17.3205 1.58518 8.71025 13 13 13 5 0.02 0.000287968
-3.579099761269e+01 1.52414 17.3205 1.30642 8.71025 13 13 13 5 0.02 0.000220016
-1.674063083432e+01 1.29457 17.3205 0 14.4504 13 13 15 2 0.02 0.000498487
-1.548740826516e+01 1.52415 17.3205 1.45407 14.4504 13 13 13 5 0.02 0.000220016
-1.779197348711e+01 1.3228 17.3205 1.71196 14.4504 13 13 13 8 0.02 0.000287968
-1.367065497322e+01 1.66003 73.0434 1.79487 12.2572 13 13 13 8 0.02 7.67586e-05
-1.772169325355e+01 1.81957 73.0434 1.46573 12.2572 13 13 13 5 0.02 4.43422e-05
-2.021960493499e+01 1.82061 73.0434 1.39205 12.2572 13 13 13 5 0.02 3.38788e-05
-9.012246630357e+00 1.81529 73.0434 0 36.5717 13 8 15 15 0.02 7.67586e-05
-7.462779538274e+00 1.82255 73.0434 1.81499 36.5717 13 13 13 8 0.02 3.38788e-05
-1.030499912298e+01 1.80592 73.0434 1.81066 36.5717 13 13 13 8 0.02 4.43422e-05
-9.823059079115e+00 2.43711 73.0434 1.81689 60.8862 14 14 13 8 0.02 7.67586e-05
-7.394722435913e+00 1.79092 73.0434 1.79092 60.8862 13 8 13 8 0.02 4.43422e-05
-7.396288708628e+00 1.8216 73.0434 1.8216 60.8862 13 8 13 8 0.02 3.38788e-05
+1.378266748188e+01 1.66293 50.9713 1.78767 12.8178 13 13 13 8 0.02 0.000339963
+1.817608462595e+01 1.82104 50.9713 1.41436 12.8178 13 13 13 5 0.02 0.000193036
+7.422997711686e+00 1.82479 50.9713 1.82171 38.2535 13 13 13 8 0.02 0.000193036
+1.205711924468e+01 1.73765 50.9713 0 38.2535 13 13 15 8 0.02 0.000339963
 
 </pre></div></div>
 </div>
 </section>
+</section>
 </section>
 
 
@@ -1414,9 +1418,9 @@ time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 st
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/notebook_population.ipynb b/docs/build/html/examples/notebook_population.ipynb
index 760b1480e..ebc19cff0 100644
--- a/docs/build/html/examples/notebook_population.ipynb
+++ b/docs/build/html/examples/notebook_population.ipynb
@@ -25,7 +25,7 @@
     "import os\n",
     "\n",
     "from binarycpython.utils.custom_logging_functions import temp_dir\n",
-    "from binarycpython.utils.grid import Population\n",
+    "from binarycpython import Population\n",
     "\n",
     "TMP_DIR = temp_dir(\"notebooks\", \"notebook_population\")\n",
     "\n",
@@ -58,13 +58,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: M_1=10 to BSE_options\n",
-      "adding: orbital_period=45000000080 to BSE_options\n",
-      "adding: max_evolution_time=15000 to BSE_options\n",
-      "adding: eccentricity=0.02 to BSE_options\n",
       "adding: num_cores=2 to grid_options\n",
-      "adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population to grid_options\n",
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_population to grid_options\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
       "1\n",
       "example_pop.dat\n",
@@ -139,13 +135,17 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Writing settings to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json\n"
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n"
      ]
     },
     {
      "data": {
       "text/plain": [
-       "'/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json'"
+       "'/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz'"
       ]
      },
      "execution_count": 3,
@@ -185,9 +185,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Help on method add_grid_variable in module binarycpython.utils.grid:\n",
+      "Help on method add_grid_variable in module binarycpython.utils.population_extensions.gridcode:\n",
       "\n",
-      "add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int], gridtype: str = 'centred', branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None) -> None method of binarycpython.utils.grid.Population instance\n",
+      "add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int] = -1, gridtype: str = 'centred', branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None, index: Optional[int] = None, dry_parallel: Optional[bool] = False) -> None method of binarycpython.utils.grid.Population instance\n",
       "    Function to add grid variables to the grid_options.\n",
       "    \n",
       "    The execution of the grid generation will be through a nested for loop.\n",
@@ -198,17 +198,15 @@
       "    beware that if you insert some destructive piece of code, it will be executed anyway.\n",
       "    Use at own risk.\n",
       "    \n",
-      "    Tasks:\n",
-      "        - TODO: Fix this complex function.\n",
-      "    \n",
       "    Args:\n",
       "        name:\n",
       "            name of parameter used in the grid Python code.\n",
       "            This is evaluated as a parameter and you can use it throughout\n",
       "            the rest of the function\n",
       "    \n",
-      "            Examples:\n",
-      "                name = 'lnm1'\n",
+      "            Examples::\n",
+      "    \n",
+      "                name = 'lnM_1'\n",
       "    \n",
       "        parameter_name:\n",
       "            name of the parameter in binary_c\n",
@@ -223,47 +221,66 @@
       "        longname:\n",
       "            Long name of parameter\n",
       "    \n",
-      "            Examples:\n",
+      "            Examples::\n",
+      "    \n",
       "                longname = 'Primary mass'\n",
+      "    \n",
       "        range:\n",
       "            Range of values to take. Does not get used really, the samplerfunc is used to\n",
       "            get the values from\n",
       "    \n",
-      "            Examples:\n",
+      "            Examples::\n",
+      "    \n",
       "                range = [math.log(m_min), math.log(m_max)]\n",
+      "    \n",
       "        samplerfunc:\n",
       "            Function returning a list or numpy array of samples spaced appropriately.\n",
       "            You can either use a real function, or a string representation of a function call.\n",
       "    \n",
-      "            Examples:\n",
-      "                samplerfunc = \"const(math.log(m_min), math.log(m_max), {})\".format(resolution['M_1'])\n",
+      "            Examples::\n",
+      "    \n",
+      "                samplerfunc = \"self.const_linear(math.log(m_min), math.log(m_max), {})\".format(resolution['M_1'])\n",
       "    \n",
       "        precode:\n",
       "            Extra room for some code. This code will be evaluated within the loop of the\n",
-      "            sampling function (i.e. a value for lnm1 is chosen already)\n",
+      "            sampling function (i.e. a value for lnM_1 is chosen already)\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                precode = 'M_1=math.exp(lnM_1);'\n",
       "    \n",
-      "            Examples:\n",
-      "                precode = 'M_1=math.exp(lnm1);'\n",
       "        postcode:\n",
       "            Code executed after the probability is calculated.\n",
+      "    \n",
       "        probdist:\n",
       "            Function determining the probability that gets assigned to the sampled parameter\n",
       "    \n",
-      "            Examples:\n",
-      "                probdist = 'Kroupa2001(M_1)*M_1'\n",
+      "            Examples::\n",
+      "    \n",
+      "                probdist = 'self.Kroupa2001(M_1)*M_1'\n",
+      "    \n",
       "        dphasevol:\n",
       "            part of the parameter space that the total probability is calculated with. Put to -1\n",
       "            if you want to ignore any dphasevol calculations and set the value to 1\n",
-      "            Examples:\n",
-      "                dphasevol = 'dlnm1'\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                dphasevol = 'dlnM_1'\n",
+      "    \n",
       "        condition:\n",
       "            condition that has to be met in order for the grid generation to continue\n",
-      "            Examples:\n",
-      "                condition = 'self.grid_options['binary']==1'\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                condition = \"self.grid_options['binary']==1\"\n",
+      "    \n",
       "        gridtype:\n",
       "            Method on how the value range is sampled. Can be either 'edge' (steps starting at\n",
       "            the lower edge of the value range) or 'centred'\n",
-      "            (steps starting at lower edge + 0.5 * stepsize).\n",
+      "            (steps starting at ``lower edge + 0.5 * stepsize``).\n",
+      "    \n",
+      "        dry_parallel:\n",
+      "            If True, try to parallelize this variable in dry runs.\n",
       "    \n",
       "        topcode:\n",
       "            Code added at the very top of the block.\n",
@@ -313,35 +330,7 @@
    "execution_count": 6,
    "id": "47979841-2c26-4b26-8945-603d013dc93a",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Added grid variable: {\n",
-      "    \"name\": \"lnm1\",\n",
-      "    \"parameter_name\": \"M_1\",\n",
-      "    \"longname\": \"Primary mass\",\n",
-      "    \"valuerange\": [\n",
-      "        2,\n",
-      "        150\n",
-      "    ],\n",
-      "    \"samplerfunc\": \"const(math.log(2), math.log(150), 20)\",\n",
-      "    \"precode\": \"M_1=math.exp(lnm1)\",\n",
-      "    \"postcode\": null,\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",
-      "    \"condition\": \"\",\n",
-      "    \"gridtype\": \"centred\",\n",
-      "    \"branchpoint\": 0,\n",
-      "    \"branchcode\": null,\n",
-      "    \"topcode\": null,\n",
-      "    \"bottomcode\": null,\n",
-      "    \"grid_variable_number\": 0\n",
-      "}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Add grid variables\n",
     "resolution = {\"M_1\": 20}\n",
@@ -351,9 +340,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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",
@@ -364,8 +353,8 @@
     "#     name=\"q\",\n",
     "#     longname=\"Mass ratio\",\n",
     "#     valuerange=[\"0.1/M_1\", 1],\n",
-    "#     samplerfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n",
-    "#     probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n",
+    "#     samplerfunc=\"self.const_linear(0.1/M_1, 1, {})\".format(resolution['q']),\n",
+    "#     probdist=\"self.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",
@@ -377,12 +366,12 @@
     "#    name=\"log10per\", # in days\n",
     "#    longname=\"log10(Orbital_Period)\",\n",
     "#    valuerange=[0.15, 5.5],\n",
-    "#    samplerfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n",
+    "#    samplerfunc=\"self.const_linear(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",
+    "#    probdist=\"self.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"
@@ -434,7 +423,7 @@
    ],
    "source": [
     "# Create custom logging statement: in this case we will log when the star turns into a compact object, and then terminate the evolution.\n",
-    "custom_logging_statement = \"\"\"\n",
+    "custom_logging_code = \"\"\"\n",
     "if(stardata->star[0].stellar_type >= 13)    \n",
     "{\n",
     "    if (stardata->model.time < stardata->model.max_evolution_time)\n",
@@ -454,7 +443,7 @@
     "\"\"\"\n",
     "\n",
     "example_pop.set(\n",
-    "    C_logging_code=custom_logging_statement\n",
+    "    C_logging_code=custom_logging_code\n",
     ")"
    ]
   },
@@ -476,7 +465,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: parse_function=<function parse_function at 0x1528ac7290d0> to grid_options\n"
+      "adding: parse_function=<function parse_function at 0x7f2b6ca163a0> to grid_options\n"
      ]
     }
    ],
@@ -552,38 +541,41 @@
      "output_type": "stream",
      "text": [
       "adding: verbosity=0 to grid_options\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "**************************************\n",
-      "* Total starcount for this run is 20 *\n",
-      "*   Total probability is 0.0444029   *\n",
-      "**************************************\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 19     *\n",
+      "* Total probability is 0.0443872 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
-      "EXAMPLE_COMPACT_OBJECT             4.139293101586e+01 1.29427 8.13626 0.00202467 13\n",
-      "EXAMPLE_COMPACT_OBJECT             2.802986496151e+01 1.33699 10.0967 0.00152924 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.963621764679e+01 1.39754 12.5294 0.00115504 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.427601421985e+01 1.47745 15.5483 0.000872405 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.094409257247e+01 1.57571 19.2947 0.00065893 13\n",
-      "EXAMPLE_COMPACT_OBJECT             9.181971798545e+00 1.68748 23.9436 0.000497691 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.905335716621e+00 1.77287 29.7128 0.000375908 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.451192744924e+00 1.81495 36.872 0.000283924 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.396133472739e+00 1.82088 45.7561 0.000214449 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.396675941641e+00 1.82123 56.7809 0.000161974 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.404641347602e+00 1.82074 70.4621 0.000122339 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.444217227690e+00 1.81636 87.4397 9.2403e-05 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.453317880232e+00 1.81536 108.508 6.97923e-05 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.450828476487e+00 1.81563 134.653 5.27143e-05 13\n",
+      "EXAMPLE_COMPACT_OBJECT             3.598268106227e+01 1.30592 8.75988 0.00193614 13\n",
+      "EXAMPLE_COMPACT_OBJECT             2.436983545111e+01 1.35842 10.9948 0.00144093 13\n",
+      "EXAMPLE_COMPACT_OBJECT             1.690157944401e+01 1.43124 13.7998 0.00107238 13\n",
+      "EXAMPLE_COMPACT_OBJECT             1.242397939068e+01 1.52416 17.3205 0.000798096 13\n",
+      "EXAMPLE_COMPACT_OBJECT             9.756794139032e+00 1.66914 21.7394 0.000593966 13\n",
+      "EXAMPLE_COMPACT_OBJECT             8.401414766976e+00 1.73729 27.2857 0.000442046 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.536373523810e+00 1.80677 34.247 0.000328983 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.393982410080e+00 1.82164 42.9844 0.000244839 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.396470605248e+00 1.82129 53.9508 0.000182216 13\n",
+      "Do join of subprocesses ...\n",
+      "EXAMPLE_COMPACT_OBJECT             7.399005684057e+00 1.82041 67.7151 0.00013561 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.443375325717e+00 1.81645 84.9909 0.000100925 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.451195752942e+00 1.81559 106.674 7.51114e-05 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.452661646076e+00 1.81543 133.89 5.59e-05 13\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-50fb66cc659c46c8bbc29fe0c8651c2f finished! *\n",
-      "*           The total probability is 0.0444029.          *\n",
-      "*  It took a total of 3.30s to run 20 systems on 2 cores *\n",
-      "*                   = 6.60s of CPU time.                 *\n",
-      "*              Maximum memory use 433.070 MB             *\n",
+      "*  Population-ce756bb317f64099a459bf8b55a746ac finished! *\n",
+      "*           The total probability is 0.0443872.          *\n",
+      "*  It took a total of 0.73s to run 19 systems on 2 cores *\n",
+      "*                   = 1.46s of CPU time.                 *\n",
+      "*              Maximum memory use 293.406 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n"
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
      ]
     }
    ],
@@ -614,7 +606,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "{'population_name': '50fb66cc659c46c8bbc29fe0c8651c2f', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.04440288843805411, 'total_count': 20, 'start_timestamp': 1635760967.3245144, 'end_timestamp': 1635760970.6249793, 'total_mass_run': 684.2544031669784, 'total_probability_weighted_mass_run': 0.28134439269236855, 'zero_prob_stars_skipped': 0}\n"
+      "{'population_id': 'ce756bb317f64099a459bf8b55a746ac', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.044387171445641534, 'total_count': 19, 'start_timestamp': 1646563001.7193637, 'end_timestamp': 1646563002.4480088, 'time_elapsed': 0.7286450862884521, 'total_mass_run': 649.905447944397, 'total_probability_weighted_mass_run': 0.28133908148630704, 'zero_prob_stars_skipped': 0}\n"
      ]
     }
    ],
@@ -642,9 +634,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Help on method write_binary_c_calls_to_file in module binarycpython.utils.grid:\n",
+      "Help on method write_binary_c_calls_to_file in module binarycpython.utils.population_extensions.dataIO:\n",
       "\n",
-      "write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False) -> None method of binarycpython.utils.grid.Population instance\n",
+      "write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False, encoding='utf-8') -> None method of binarycpython.utils.grid.Population instance\n",
       "    Function that loops over the grid code and writes the generated parameters to a file.\n",
       "    In the form of a command line call\n",
       "    \n",
@@ -655,10 +647,6 @@
       "    \n",
       "    On default this will write to the datadir, if it exists\n",
       "    \n",
-      "    Tasks:\n",
-      "        - TODO: test this function\n",
-      "        - TODO: make sure the binary_c_python .. output file has a unique name\n",
-      "    \n",
       "    Args:\n",
       "        output_dir: (optional, default = None) directory where to write the file to. If custom_options['data_dir'] is present, then that one will be used first, and then the output_dir\n",
       "        output_filename: (optional, default = None) filename of the output. If not set it will be called \"binary_c_calls.txt\"\n",
@@ -685,19 +673,19 @@
      "output_type": "stream",
      "text": [
       "Generating grid code\n",
-      "Generating grid code\n",
-      "Saving grid code to grid_options\n",
-      "Writing grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py [dry_run = False]\n",
-      "Symlinked grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid-latest2 \n",
-      "Loading grid code function from /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py\n",
+      "Save grid code to grid_options\n",
+      "Write grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py [dry_run = False]\n",
+      "Symlinked grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid-latest2 \n",
+      "Load grid code function from /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py\n",
       "Grid code loaded\n",
-      "Writing binary_c calls to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
-      "binary_c M_1 2.227955577093495 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681548 probability 0.010905083645619543\n",
-      "binary_c M_1 2.7647737053496777 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.00823663875514986\n",
-      "binary_c M_1 3.430936289925951 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681537 probability 0.0062211552141636295\n",
-      "binary_c M_1 4.2576084265970895 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.004698855121516281\n"
+      "Writing binary_c calls to /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
+      "binary_c M_1 2.2406484012210224 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.011394572976608001\n",
+      "binary_c M_1 2.812296769855663 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191117 probability 0.008480166685456411\n",
+      "binary_c M_1 3.5297876799548944 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.006311182276049824\n",
+      "binary_c M_1 4.430329401616038 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.004696962123378559\n",
+      "(abridged)\n"
      ]
     }
    ],
@@ -707,7 +695,8 @@
     "print(calls_filename)\n",
     "\n",
     "with open(calls_filename, 'r') as f:\n",
-    "    print('\\n'.join(f.read().splitlines()[:4]))"
+    "    print('\\n'.join(f.read().splitlines()[:4]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -715,7 +704,15 @@
    "id": "60359eb1-4d0c-4d2d-8265-ec5171b944a2",
    "metadata": {},
    "source": [
-    "## Full examples of population scripts\n",
+    "## Full examples of population scripts"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1ee279d6-e120-4aef-9e57-845e534f5c6a",
+   "metadata": {},
+   "source": [
+    "### Single star population\n",
     "Below is a full setup for a population of single stars"
    ]
   },
@@ -729,43 +726,51 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "**************************************\n",
-      "* Total starcount for this run is 20 *\n",
-      "*   Total probability is 0.0444029   *\n",
-      "**************************************\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 19     *\n",
+      "* Total probability is 0.0443872 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-05e51ba114934b37bab48f1db40b7333 finished! *\n",
-      "*           The total probability is 0.0444029.          *\n",
-      "*  It took a total of 3.46s to run 20 systems on 2 cores *\n",
-      "*                   = 6.93s of CPU time.                 *\n",
-      "*              Maximum memory use 437.047 MB             *\n",
+      "*  Population-0fa4c2b8707741a5ab41d209ef95a3a4 finished! *\n",
+      "*           The total probability is 0.0443872.          *\n",
+      "*  It took a total of 0.61s to run 19 systems on 2 cores *\n",
+      "*                   = 1.23s of CPU time.                 *\n",
+      "*              Maximum memory use 299.531 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n",
       "\n",
       "\n",
       "time mass zams_mass probability radius stellar_type\n",
-      "4.139293101586e+01 1.29427 8.13626 0.00202467 1.72498e-05 13\n",
-      "2.802986496151e+01 1.33699 10.0967 0.00152924 1.72498e-05 13\n",
-      "1.963621764679e+01 1.39754 12.5294 0.00115504 1.72498e-05 13\n",
-      "1.427601421985e+01 1.47745 15.5483 0.000872405 1.72498e-05 13\n",
-      "1.094409257247e+01 1.57571 19.2947 0.00065893 1.72498e-05 13\n",
-      "9.181971798545e+00 1.68748 23.9436 0.000497691 1.72498e-05 13\n",
-      "7.905335716621e+00 1.77287 29.7128 0.000375908 1.72498e-05 13\n",
-      "7.451192744924e+00 1.81495 36.872 0.000283924 1.72498e-05 13\n",
-      "7.396133472739e+00 1.82088 45.7561 0.000214449 1.72498e-05 13\n",
-      "7.396675941641e+00 1.82123 56.7809 0.000161974 1.72498e-05 13\n",
-      "7.404641347602e+00 1.82074 70.4621 0.000122339 1.72498e-05 13\n",
-      "7.444217227690e+00 1.81636 87.4397 9.2403e-05 1.72498e-05 13\n",
-      "7.453317880232e+00 1.81536 108.508 6.97923e-05 1.72498e-05 13\n",
-      "7.450828476487e+00 1.81563 134.653 5.27143e-05 1.72498e-05 13\n",
+      "3.598268106227e+01 1.30592 8.75988 0.00193614 1.72498e-05 13\n",
+      "2.436983545111e+01 1.35842 10.9948 0.00144093 1.72498e-05 13\n",
+      "1.690157944401e+01 1.43124 13.7998 0.00107238 1.72498e-05 13\n",
+      "1.242397939068e+01 1.52416 17.3205 0.000798096 1.72498e-05 13\n",
+      "9.756794139032e+00 1.66914 21.7394 0.000593966 1.72498e-05 13\n",
+      "8.401414766976e+00 1.73729 27.2857 0.000442046 1.72498e-05 13\n",
+      "7.536373523810e+00 1.80677 34.247 0.000328983 1.72498e-05 13\n",
+      "7.393982410080e+00 1.82164 42.9844 0.000244839 1.72498e-05 13\n",
+      "7.396470605248e+00 1.82129 53.9508 0.000182216 1.72498e-05 13\n",
+      "7.399005684057e+00 1.82041 67.7151 0.00013561 1.72498e-05 13\n",
+      "7.451195752942e+00 1.81559 106.674 7.51114e-05 1.72498e-05 13\n",
+      "7.443375325717e+00 1.81645 84.9909 0.000100925 1.72498e-05 13\n",
+      "7.452661646076e+00 1.81543 133.89 5.59e-05 1.72498e-05 13\n",
       "\n"
      ]
     }
@@ -877,9 +882,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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=\"\",\n",
@@ -908,7 +913,8 @@
    "id": "c2ab0979-6575-481d-9c1c-ca98517b2437",
    "metadata": {},
    "source": [
-    "We can also set up a population that samples biinary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded top be more useful"
+    "### Binary star population\n",
+    "We can also set up a population that samples binary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded to be more useful. Also note that we run very little systems in the following example, as its just intended to show how the code works."
    ]
   },
   {
@@ -921,45 +927,42 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 27 stars with a total probability of 0.0248684\n",
-      "**************************************\n",
-      "* Total starcount for this run is 27 *\n",
-      "*   Total probability is 0.0248684   *\n",
-      "**************************************\n",
+      "Grid has handled 8 stars with a total probability of 0.0211592\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 8      *\n",
+      "* Total probability is 0.0211592 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-8bc1eafea1c34b05894c1618639d8c37 finished! *\n",
-      "*           The total probability is 0.0248684.          *\n",
-      "* It took a total of 16.10s to run 27 systems on 2 cores *\n",
-      "*                  = 32.20s of CPU time.                 *\n",
-      "*              Maximum memory use 437.695 MB             *\n",
+      "*  Population-0eb5c0c9abd34607a6ee060b26a7e32f finished! *\n",
+      "*           The total probability is 0.0211592.          *\n",
+      "*  It took a total of 0.84s to run 8 systems on 2 cores  *\n",
+      "*                   = 1.68s of CPU time.                 *\n",
+      "*              Maximum memory use 300.125 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n",
       "\n",
       "\n",
       "time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 stellar_type_2 prev_stellar_type_2 metallicity probability\n",
-      "1.219029061236e+01 1.60007 17.3205 0 2.97008 13 5 15 15 0.02 0.000498487\n",
-      "1.935920339886e+01 1.29448 17.3205 0 8.71025 13 13 15 2 0.02 0.000498487\n",
-      "2.123794969278e+01 1.30902 17.3205 1.58518 8.71025 13 13 13 5 0.02 0.000287968\n",
-      "3.579099761269e+01 1.52414 17.3205 1.30642 8.71025 13 13 13 5 0.02 0.000220016\n",
-      "1.674063083432e+01 1.29457 17.3205 0 14.4504 13 13 15 2 0.02 0.000498487\n",
-      "1.548740826516e+01 1.52415 17.3205 1.45407 14.4504 13 13 13 5 0.02 0.000220016\n",
-      "1.779197348711e+01 1.3228 17.3205 1.71196 14.4504 13 13 13 8 0.02 0.000287968\n",
-      "1.367065497322e+01 1.66003 73.0434 1.79487 12.2572 13 13 13 8 0.02 7.67586e-05\n",
-      "1.772169325355e+01 1.81957 73.0434 1.46573 12.2572 13 13 13 5 0.02 4.43422e-05\n",
-      "2.021960493499e+01 1.82061 73.0434 1.39205 12.2572 13 13 13 5 0.02 3.38788e-05\n",
-      "9.012246630357e+00 1.81529 73.0434 0 36.5717 13 8 15 15 0.02 7.67586e-05\n",
-      "7.462779538274e+00 1.82255 73.0434 1.81499 36.5717 13 13 13 8 0.02 3.38788e-05\n",
-      "1.030499912298e+01 1.80592 73.0434 1.81066 36.5717 13 13 13 8 0.02 4.43422e-05\n",
-      "9.823059079115e+00 2.43711 73.0434 1.81689 60.8862 14 14 13 8 0.02 7.67586e-05\n",
-      "7.394722435913e+00 1.79092 73.0434 1.79092 60.8862 13 8 13 8 0.02 4.43422e-05\n",
-      "7.396288708628e+00 1.8216 73.0434 1.8216 60.8862 13 8 13 8 0.02 3.38788e-05\n",
+      "1.378266748188e+01 1.66293 50.9713 1.78767 12.8178 13 13 13 8 0.02 0.000339963\n",
+      "1.817608462595e+01 1.82104 50.9713 1.41436 12.8178 13 13 13 5 0.02 0.000193036\n",
+      "7.422997711686e+00 1.82479 50.9713 1.82171 38.2535 13 13 13 8 0.02 0.000193036\n",
+      "1.205711924468e+01 1.73765 50.9713 0 38.2535 13 13 15 8 0.02 0.000339963\n",
       "\n"
      ]
     }
@@ -1089,9 +1092,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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",
@@ -1102,8 +1105,8 @@
     "    name=\"q\",\n",
     "    longname=\"Mass ratio\",\n",
     "    valuerange=[\"0.1/M_1\", 1],\n",
-    "    samplerfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n",
-    "    probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n",
+    "    samplerfunc=\"self.const_linear(0.1/M_1, 1, {})\".format(resolution['q']),\n",
+    "    probdist=\"self.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",
@@ -1115,12 +1118,12 @@
     "   name=\"log10per\", # in days\n",
     "   longname=\"log10(Orbital_Period)\",\n",
     "   valuerange=[0.15, 5.5],\n",
-    "   samplerfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n",
+    "   samplerfunc=\"self.const_linear(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",
+    "   probdist=\"self.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",
@@ -1145,7 +1148,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1159,7 +1162,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/build/html/examples/notebook_solar_system.html b/docs/build/html/examples/notebook_solar_system.html
index 87db59307..756a185e7 100644
--- a/docs/build/html/examples/notebook_solar_system.html
+++ b/docs/build/html/examples/notebook_solar_system.html
@@ -614,9 +614,9 @@ div.rendered_html tbody tr:hover {
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/old/basic_example.html b/docs/build/html/examples/old/basic_example.html
index 9404e63f3..bd9957495 100644
--- a/docs/build/html/examples/old/basic_example.html
+++ b/docs/build/html/examples/old/basic_example.html
@@ -453,9 +453,9 @@ div.rendered_html tbody tr:hover {
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/examples/old/workshop_example_notebook.html b/docs/build/html/examples/old/workshop_example_notebook.html
index a96e0af0f..55957aa98 100644
--- a/docs/build/html/examples/old/workshop_example_notebook.html
+++ b/docs/build/html/examples/old/workshop_example_notebook.html
@@ -892,9 +892,9 @@ Took 14.214274644851685s
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/functions.html b/docs/build/html/functions.html
index 8c0e5679d..793a0acc5 100644
--- a/docs/build/html/functions.html
+++ b/docs/build/html/functions.html
@@ -212,6 +212,12 @@ useful functions for the user</p>
 <dd><p>Function to check whether the script is running from a shell</p>
 </dd></dl>
 
+<dl class="py function">
+<dt class="sig sig-object py" id="binarycpython.utils.functions.command_string_from_list">
+<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.functions.</span></span><span class="sig-name descname"><span class="pre">command_string_from_list</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">list</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/functions.html#command_string_from_list"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.functions.command_string_from_list" title="Permalink to this definition"></a></dt>
+<dd><p>Given a list, turn it into a quoted command string</p>
+</dd></dl>
+
 <dl class="py function">
 <dt class="sig sig-object py" id="binarycpython.utils.functions.conv_time_units">
 <span class="sig-prename descclassname"><span class="pre">binarycpython.utils.functions.</span></span><span class="sig-name descname"><span class="pre">conv_time_units</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">t</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/functions.html#conv_time_units"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.functions.conv_time_units" title="Permalink to this definition"></a></dt>
@@ -601,6 +607,12 @@ the help function to get as much information as possible.</p>
 </dl>
 </dd></dl>
 
+<dl class="py function">
+<dt class="sig sig-object py" id="binarycpython.utils.functions.quotewrap">
+<span class="sig-prename descclassname"><span class="pre">binarycpython.utils.functions.</span></span><span class="sig-name descname"><span class="pre">quotewrap</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">list</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/functions.html#quotewrap"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.functions.quotewrap" title="Permalink to this definition"></a></dt>
+<dd><p>Given a list, wrap each item in double quotes and return the new list</p>
+</dd></dl>
+
 <dl class="py function">
 <dt class="sig sig-object py" id="binarycpython.utils.functions.remove_file">
 <span class="sig-prename descclassname"><span class="pre">binarycpython.utils.functions.</span></span><span class="sig-name descname"><span class="pre">remove_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbosity</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/functions.html#remove_file"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.functions.remove_file" title="Permalink to this definition"></a></dt>
@@ -720,9 +732,9 @@ of all the binary_c parameters.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html
index e34c0ea2e..600fdd60a 100644
--- a/docs/build/html/genindex.html
+++ b/docs/build/html/genindex.html
@@ -90,6 +90,7 @@
  | <a href="#N"><strong>N</strong></a>
  | <a href="#O"><strong>O</strong></a>
  | <a href="#P"><strong>P</strong></a>
+ | <a href="#Q"><strong>Q</strong></a>
  | <a href="#R"><strong>R</strong></a>
  | <a href="#S"><strong>S</strong></a>
  | <a href="#T"><strong>T</strong></a>
@@ -366,6 +367,8 @@
       <li><a href="grid.html#binarycpython.utils.grid.Population.clean">clean() (binarycpython.utils.grid.Population method)</a>
 </li>
       <li><a href="plot_functions.html#binarycpython.utils.plot_functions.color_by_index">color_by_index() (in module binarycpython.utils.plot_functions)</a>
+</li>
+      <li><a href="functions.html#binarycpython.utils.functions.command_string_from_list">command_string_from_list() (in module binarycpython.utils.functions)</a>
 </li>
       <li><a href="custom_logging_functions.html#binarycpython.utils.custom_logging_functions.compile_shared_lib">compile_shared_lib() (in module binarycpython.utils.custom_logging_functions)</a>
 </li>
@@ -376,11 +379,11 @@
       <li><a href="population_extensions/condor.html#binarycpython.utils.population_extensions.condor.condor.condor_check_requirements">condor_check_requirements() (binarycpython.utils.population_extensions.condor.condor method)</a>
 </li>
       <li><a href="population_extensions/condor.html#binarycpython.utils.population_extensions.condor.condor.condor_dirs">condor_dirs() (binarycpython.utils.population_extensions.condor.condor method)</a>
-</li>
-      <li><a href="population_extensions/condor.html#binarycpython.utils.population_extensions.condor.condor.condor_grid">condor_grid() (binarycpython.utils.population_extensions.condor.condor method)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="population_extensions/condor.html#binarycpython.utils.population_extensions.condor.condor.condor_grid">condor_grid() (binarycpython.utils.population_extensions.condor.condor method)</a>
+</li>
       <li><a href="population_extensions/condor.html#binarycpython.utils.population_extensions.condor.condor.condor_outfile">condor_outfile() (binarycpython.utils.population_extensions.condor.condor method)</a>
 </li>
       <li><a href="population_extensions/condor.html#binarycpython.utils.population_extensions.condor.condor.condor_queue_stats">condor_queue_stats() (binarycpython.utils.population_extensions.condor.condor method)</a>
@@ -594,6 +597,8 @@
       <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_id_from_dir">HPC_id_from_dir() (binarycpython.utils.population_extensions.HPC.HPC method)</a>
 </li>
       <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_job">HPC_job() (binarycpython.utils.population_extensions.HPC.HPC method)</a>
+</li>
+      <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_id_range">HPC_job_id_range() (binarycpython.utils.population_extensions.HPC.HPC method)</a>
 </li>
       <li><a href="population_extensions/HPC.html#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_task">HPC_job_task() (binarycpython.utils.population_extensions.HPC.HPC method)</a>
 </li>
@@ -887,6 +892,14 @@
   </ul></td>
 </tr></table>
 
+<h2 id="Q">Q</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="functions.html#binarycpython.utils.functions.quotewrap">quotewrap() (in module binarycpython.utils.functions)</a>
+</li>
+  </ul></td>
+</tr></table>
+
 <h2 id="R">R</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
@@ -1074,9 +1087,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/grid.html b/docs/build/html/grid.html
index eab0d95e4..0a83dfaa8 100644
--- a/docs/build/html/grid.html
+++ b/docs/build/html/grid.html
@@ -255,7 +255,7 @@ simulation_&lt;date+time&gt;_settings.json will be created</p></li>
 <dl class="py method">
 <dt class="sig sig-object py" id="binarycpython.utils.grid.Population.jobID">
 <span class="sig-name descname"><span class="pre">jobID</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/binarycpython/utils/grid.html#Population.jobID"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.grid.Population.jobID" title="Permalink to this definition"></a></dt>
-<dd><p>Function to return the job ID number of this process</p>
+<dd><p>Function to return the job ID number of this process as a string.</p>
 <p>Normal processes return their process ID (PID)
 HPC processes return whatever HPC_jobID() gives.</p>
 </dd></dl>
@@ -376,9 +376,9 @@ in the self.grid_options</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/grid_options_descriptions.html b/docs/build/html/grid_options_descriptions.html
index ea4a6ed21..3278ba4b7 100644
--- a/docs/build/html/grid_options_descriptions.html
+++ b/docs/build/html/grid_options_descriptions.html
@@ -104,7 +104,7 @@
 <section id="population-grid-code-options">
 <h1>Population grid code options<a class="headerlink" href="#population-grid-code-options" title="Permalink to this headline"></a></h1>
 <p>The following chapter contains all grid code options, along with their descriptions
-There are 28 options that are not described yet.</p>
+There are 29 options that are not described yet.</p>
 <section id="public-options">
 <h2>Public options<a class="headerlink" href="#public-options" title="Permalink to this headline"></a></h2>
 <p>The following options are meant to be changed by the user.</p>
@@ -346,6 +346,9 @@ There are 28 options that are not described yet.</p>
 <div class="line"><strong>save_snapshots</strong>: No description available yet</div>
 </div>
 <div class="line-block">
+<div class="line"><strong>skip_before</strong>: No description available yet</div>
+</div>
+<div class="line-block">
 <div class="line"><strong>slurm</strong>: Integer flag used to control Slurm jobs. Default is 0 which means no Slurm. 1 means launch Slurm jobs. Do not manually set this to 2 (run Slurm jobs) or 3 (join Slurm job data) unless you know what you are doing, this is usually done for you.</div>
 </div>
 <div class="line-block">
@@ -643,9 +646,9 @@ q extrapolation (below 0.15) method
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/index.html b/docs/build/html/index.html
index d95a55e35..27543889c 100644
--- a/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -309,9 +309,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/modules.html b/docs/build/html/modules.html
index 44ab37915..42d63fe44 100644
--- a/docs/build/html/modules.html
+++ b/docs/build/html/modules.html
@@ -173,9 +173,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
index 8c86e9a4ddc8464c47e8ad83b14a64b5c6c74372..78075ad6aaeb850cb4fc53841a12889ef640b72f 100644
GIT binary patch
delta 11501
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
BXXO9@

delta 11378
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
AkpKVy

diff --git a/docs/build/html/plot_functions.html b/docs/build/html/plot_functions.html
index 97b69d573..5829713b7 100644
--- a/docs/build/html/plot_functions.html
+++ b/docs/build/html/plot_functions.html
@@ -377,9 +377,9 @@ This is not included in all the plotting routines.</p></li>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/HPC.html b/docs/build/html/population_extensions/HPC.html
index 535aedc20..f3ba0ac7e 100644
--- a/docs/build/html/population_extensions/HPC.html
+++ b/docs/build/html/population_extensions/HPC.html
@@ -219,7 +219,7 @@ TODO: Comment this function better</p>
 <dl class="py method">
 <dt class="sig sig-object py" id="binarycpython.utils.population_extensions.HPC.HPC.HPC_jobID">
 <span class="sig-name descname"><span class="pre">HPC_jobID</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/binarycpython/utils/population_extensions/HPC.html#HPC.HPC_jobID"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.population_extensions.HPC.HPC.HPC_jobID" title="Permalink to this definition"></a></dt>
-<dd><p>Function to return an HPC (Slurm or Condor) job id in the form x.y. Returns None if not an HPC job.</p>
+<dd><p>Function to return an HPC (Slurm or Condor) job id in the form of a string, x.y. Returns None if not an HPC job.</p>
 </dd></dl>
 
 <dl class="py method">
@@ -228,6 +228,11 @@ TODO: Comment this function better</p>
 <dd><p>Return the job ID as a tuple of ints, (x,y), or (None,None) on failure</p>
 </dd></dl>
 
+<dl class="py method">
+<dt class="sig sig-object py" id="binarycpython.utils.population_extensions.HPC.HPC.HPC_job_id_range">
+<span class="sig-name descname"><span class="pre">HPC_job_id_range</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/binarycpython/utils/population_extensions/HPC.html#HPC.HPC_job_id_range"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_id_range" title="Permalink to this definition"></a></dt>
+<dd></dd></dl>
+
 <dl class="py method">
 <dt class="sig sig-object py" id="binarycpython.utils.population_extensions.HPC.HPC.HPC_job_task">
 <span class="sig-name descname"><span class="pre">HPC_job_task</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/binarycpython/utils/population_extensions/HPC.html#HPC.HPC_job_task"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.population_extensions.HPC.HPC.HPC_job_task" title="Permalink to this definition"></a></dt>
@@ -304,7 +309,6 @@ up and running the scripts, 2 when joining data.</p>
 <dt class="sig sig-object py" id="binarycpython.utils.population_extensions.HPC.HPC.HPC_queue_stats">
 <span class="sig-name descname"><span class="pre">HPC_queue_stats</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/binarycpython/utils/population_extensions/HPC.html#HPC.HPC_queue_stats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.population_extensions.HPC.HPC.HPC_queue_stats" title="Permalink to this definition"></a></dt>
 <dd><p>Function that returns the queue stats for the HPC grid</p>
-<p>TODO: the slurm_queue_stats doesntt actually return anything</p>
 </dd></dl>
 
 <dl class="py method">
@@ -370,9 +374,9 @@ and (if given) the string passed in.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/Moe_di_Stefano_2017.html b/docs/build/html/population_extensions/Moe_di_Stefano_2017.html
index be0c5d33a..d37b69167 100644
--- a/docs/build/html/population_extensions/Moe_di_Stefano_2017.html
+++ b/docs/build/html/population_extensions/Moe_di_Stefano_2017.html
@@ -192,9 +192,9 @@ then set the distribution functions</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/analytics.html b/docs/build/html/population_extensions/analytics.html
index ed8e791da..f7664a723 100644
--- a/docs/build/html/population_extensions/analytics.html
+++ b/docs/build/html/population_extensions/analytics.html
@@ -181,9 +181,9 @@ the time elapsed if otherwise or if force is True</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/cache.html b/docs/build/html/population_extensions/cache.html
index f92e4d4bd..65b41b49e 100644
--- a/docs/build/html/population_extensions/cache.html
+++ b/docs/build/html/population_extensions/cache.html
@@ -215,9 +215,9 @@ given caches of size self.grid_options[‘function_cache_size’][func]</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/condor.html b/docs/build/html/population_extensions/condor.html
index 61271228d..908266942 100644
--- a/docs/build/html/population_extensions/condor.html
+++ b/docs/build/html/population_extensions/condor.html
@@ -135,7 +135,7 @@
 <dl class="py method">
 <dt class="sig sig-object py" id="binarycpython.utils.population_extensions.condor.condor.condorID">
 <span class="sig-name descname"><span class="pre">condorID</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ClusterID</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Process</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/binarycpython/utils/population_extensions/condor.html#condor.condorID"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.population_extensions.condor.condor.condorID" title="Permalink to this definition"></a></dt>
-<dd><p>Function to return a Condor job ID. The ClusterID and Process passed in are used if given, otherwise we default to the condor_ClusterID and condor_Process in grid_options.</p>
+<dd><p>Function to return a Condor job ID as a string, [ClusterID].[Process]. The ClusterID and Process passed in are used if given, otherwise we default to the condor_ClusterID and condor_Process in grid_options.</p>
 </dd></dl>
 
 <dl class="py method">
@@ -234,9 +234,9 @@ TODO: Comment this function better</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/dataIO.html b/docs/build/html/population_extensions/dataIO.html
index e369aa52f..412aa2aff 100644
--- a/docs/build/html/population_extensions/dataIO.html
+++ b/docs/build/html/population_extensions/dataIO.html
@@ -393,9 +393,9 @@ passed to json.dumps)</p></li>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/distribution_functions.html b/docs/build/html/population_extensions/distribution_functions.html
index e66a86c87..f1d6fcc16 100644
--- a/docs/build/html/population_extensions/distribution_functions.html
+++ b/docs/build/html/population_extensions/distribution_functions.html
@@ -833,9 +833,9 @@ and is be given by dp/dlogP ~ (logP)^p for all other binary configurations (defa
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/grid_logging.html b/docs/build/html/population_extensions/grid_logging.html
index d9dba13b9..87fc47987 100644
--- a/docs/build/html/population_extensions/grid_logging.html
+++ b/docs/build/html/population_extensions/grid_logging.html
@@ -179,9 +179,9 @@ system_number: the system number</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/grid_options_defaults.html b/docs/build/html/population_extensions/grid_options_defaults.html
index 439f371f6..70b90c9d1 100644
--- a/docs/build/html/population_extensions/grid_options_defaults.html
+++ b/docs/build/html/population_extensions/grid_options_defaults.html
@@ -242,9 +242,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/gridcode.html b/docs/build/html/population_extensions/gridcode.html
index b7b08589c..848265f27 100644
--- a/docs/build/html/population_extensions/gridcode.html
+++ b/docs/build/html/population_extensions/gridcode.html
@@ -298,9 +298,9 @@ of the self.grid_options[“_grid_variables”] dictionary.</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/metadata.html b/docs/build/html/population_extensions/metadata.html
index 8fd5c2007..ce11c6cd3 100644
--- a/docs/build/html/population_extensions/metadata.html
+++ b/docs/build/html/population_extensions/metadata.html
@@ -167,9 +167,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/slurm.html b/docs/build/html/population_extensions/slurm.html
index 5709891e6..2fca66f7e 100644
--- a/docs/build/html/population_extensions/slurm.html
+++ b/docs/build/html/population_extensions/slurm.html
@@ -161,7 +161,7 @@
 <dl class="py method">
 <dt class="sig sig-object py" id="binarycpython.utils.population_extensions.slurm.slurm.slurmID">
 <span class="sig-name descname"><span class="pre">slurmID</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">jobid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">jobarrayindex</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/binarycpython/utils/population_extensions/slurm.html#slurm.slurmID"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.population_extensions.slurm.slurm.slurmID" title="Permalink to this definition"></a></dt>
-<dd><p>Function to return a Slurm job ID. The jobid and jobarrayindex passed in are used if given, otherwise we default to the jobid and jobarrayindex in grid_options.</p>
+<dd><p>Function to return a Slurm job ID as a string, [jobid].[jobarrayindex]. The jobid and jobarrayindex passed in are used if given, otherwise we default to the jobid and jobarrayindex in grid_options.</p>
 </dd></dl>
 
 <dl class="py method">
@@ -197,7 +197,7 @@ TODO: Comment this function better</p>
 <dt class="sig sig-object py" id="binarycpython.utils.population_extensions.slurm.slurm.slurm_queue_stats">
 <span class="sig-name descname"><span class="pre">slurm_queue_stats</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/binarycpython/utils/population_extensions/slurm.html#slurm.slurm_queue_stats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#binarycpython.utils.population_extensions.slurm.slurm.slurm_queue_stats" title="Permalink to this definition"></a></dt>
 <dd><p>Function to XXX</p>
-<p>TODO: is this function finished?</p>
+<p>TODO</p>
 </dd></dl>
 
 <dl class="py method">
@@ -235,9 +235,9 @@ TODO: Comment this function better</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/spacing_functions.html b/docs/build/html/population_extensions/spacing_functions.html
index 6ce96228a..186fcce7c 100644
--- a/docs/build/html/population_extensions/spacing_functions.html
+++ b/docs/build/html/population_extensions/spacing_functions.html
@@ -322,9 +322,9 @@ not that the integral is 1.0</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/population_extensions/version_info.html b/docs/build/html/population_extensions/version_info.html
index 3caf373c6..a9bc813c4 100644
--- a/docs/build/html/population_extensions/version_info.html
+++ b/docs/build/html/population_extensions/version_info.html
@@ -199,9 +199,9 @@ dictionary</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html
index 3c3914ada..f194b6c66 100644
--- a/docs/build/html/py-modindex.html
+++ b/docs/build/html/py-modindex.html
@@ -222,9 +222,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/readme_link.html b/docs/build/html/readme_link.html
index 14ca7278b..435d699be 100644
--- a/docs/build/html/readme_link.html
+++ b/docs/build/html/readme_link.html
@@ -241,9 +241,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/run_system_wrapper.html b/docs/build/html/run_system_wrapper.html
index f601e20c6..3aacb64f0 100644
--- a/docs/build/html/run_system_wrapper.html
+++ b/docs/build/html/run_system_wrapper.html
@@ -193,9 +193,9 @@ and returns what the parse_function returns</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/search.html b/docs/build/html/search.html
index 48f49fd57..e478c8d05 100644
--- a/docs/build/html/search.html
+++ b/docs/build/html/search.html
@@ -100,9 +100,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
index b4b80c26e..f18524f46 100644
--- a/docs/build/html/searchindex.js
+++ b/docs/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["binary_c_parameters","custom_logging_functions","dicts","ensemble","example_notebooks","examples/notebook_BHBH","examples/notebook_HRD","examples/notebook_api_functionality","examples/notebook_common_envelope_evolution","examples/notebook_custom_logging","examples/notebook_extra_features","examples/notebook_individual_systems","examples/notebook_luminosity_function_binaries","examples/notebook_luminosity_function_single","examples/notebook_massive_remnants","examples/notebook_population","examples/notebook_solar_system","examples/old/basic_example","examples/old/workshop_example_notebook","functions","grid","grid_options_descriptions","index","modules","plot_functions","population_extensions/HPC","population_extensions/Moe_di_Stefano_2017","population_extensions/analytics","population_extensions/cache","population_extensions/condor","population_extensions/dataIO","population_extensions/distribution_functions","population_extensions/grid_logging","population_extensions/grid_options_defaults","population_extensions/gridcode","population_extensions/metadata","population_extensions/slurm","population_extensions/spacing_functions","population_extensions/version_info","readme_link","run_system_wrapper","stellar_types","useful_funcs"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,nbsphinx:3,sphinx:56},filenames:["binary_c_parameters.rst","custom_logging_functions.rst","dicts.rst","ensemble.rst","example_notebooks.rst","examples/notebook_BHBH.ipynb","examples/notebook_HRD.ipynb","examples/notebook_api_functionality.ipynb","examples/notebook_common_envelope_evolution.ipynb","examples/notebook_custom_logging.ipynb","examples/notebook_extra_features.ipynb","examples/notebook_individual_systems.ipynb","examples/notebook_luminosity_function_binaries.ipynb","examples/notebook_luminosity_function_single.ipynb","examples/notebook_massive_remnants.ipynb","examples/notebook_population.ipynb","examples/notebook_solar_system.ipynb","examples/old/basic_example.ipynb","examples/old/workshop_example_notebook.ipynb","functions.rst","grid.rst","grid_options_descriptions.rst","index.rst","modules.rst","plot_functions.rst","population_extensions/HPC.rst","population_extensions/Moe_di_Stefano_2017.rst","population_extensions/analytics.rst","population_extensions/cache.rst","population_extensions/condor.rst","population_extensions/dataIO.rst","population_extensions/distribution_functions.rst","population_extensions/grid_logging.rst","population_extensions/grid_options_defaults.rst","population_extensions/gridcode.rst","population_extensions/metadata.rst","population_extensions/slurm.rst","population_extensions/spacing_functions.rst","population_extensions/version_info.rst","readme_link.rst","run_system_wrapper.rst","stellar_types.rst","useful_funcs.rst"],objects:{"binarycpython.utils":[[1,0,0,"-","custom_logging_functions"],[2,0,0,"-","dicts"],[3,0,0,"-","ensemble"],[19,0,0,"-","functions"],[20,0,0,"-","grid"],[24,0,0,"-","plot_functions"],[40,0,0,"-","run_system_wrapper"],[41,0,0,"-","stellar_types"],[42,0,0,"-","useful_funcs"]],"binarycpython.utils.custom_logging_functions":[[1,1,1,"","autogen_C_logging_code"],[1,1,1,"","binary_c_log_code"],[1,1,1,"","binary_c_write_log_code"],[1,1,1,"","compile_shared_lib"],[1,1,1,"","create_and_load_logging_function"],[1,1,1,"","from_binary_c_config"],[1,1,1,"","return_compilation_dict"]],"binarycpython.utils.dicts":[[2,2,1,"","AutoVivificationDict"],[2,1,1,"","count_keys_recursive"],[2,1,1,"","custom_sort_dict"],[2,1,1,"","filter_dict"],[2,1,1,"","filter_dict_through_values"],[2,1,1,"","inspect_dict"],[2,1,1,"","keys_to_floats"],[2,1,1,"","merge_dicts"],[2,1,1,"","multiply_float_values"],[2,1,1,"","multiply_values_dict"],[2,1,1,"","normalize_dict"],[2,1,1,"","prepare_dict"],[2,1,1,"","recursive_change_key_to_float"],[2,1,1,"","recursive_change_key_to_string"],[2,1,1,"","set_opts"],[2,1,1,"","subtract_dicts"],[2,1,1,"","update_dicts"]],"binarycpython.utils.dicts.AutoVivificationDict":[[2,3,1,"","__getitem__"],[2,3,1,"","__iadd__"]],"binarycpython.utils.ensemble":[[3,2,1,"","BinarycDecoder"],[3,2,1,"","BinarycEncoder"],[3,1,1,"","binaryc_json_serializer"],[3,1,1,"","ensemble_compression"],[3,1,1,"","ensemble_file_type"],[3,1,1,"","ensemble_setting"],[3,1,1,"","extract_ensemble_json_from_string"],[3,1,1,"","format_ensemble_results"],[3,1,1,"","handle_ensemble_string_to_json"],[3,1,1,"","load_ensemble"],[3,1,1,"","open_ensemble"]],"binarycpython.utils.ensemble.BinarycDecoder":[[3,3,1,"","decode"]],"binarycpython.utils.ensemble.BinarycEncoder":[[3,3,1,"","default"]],"binarycpython.utils.functions":[[19,2,1,"","Capturing"],[19,1,1,"","bin_data"],[19,1,1,"","call_binary_c_config"],[19,2,1,"","catchtime"],[19,1,1,"","check_if_in_shell"],[19,1,1,"","conv_time_units"],[19,1,1,"","convert_bytes"],[19,1,1,"","convfloat"],[19,1,1,"","create_arg_string"],[19,1,1,"","create_hdf5"],[19,1,1,"","datalinedict"],[19,1,1,"","example_parse_output"],[19,1,1,"","filter_arg_dict"],[19,1,1,"","format_number"],[19,1,1,"","get_ANSI_colours"],[19,1,1,"","get_arg_keys"],[19,1,1,"","get_defaults"],[19,1,1,"","get_help"],[19,1,1,"","get_help_all"],[19,1,1,"","get_help_super"],[19,1,1,"","get_size"],[19,1,1,"","get_username"],[19,1,1,"","imports"],[19,1,1,"","is_capsule"],[19,1,1,"","isfloat"],[19,1,1,"","isint"],[19,1,1,"","load_logfile"],[19,1,1,"","make_build_text"],[19,1,1,"","mem_use"],[19,1,1,"","now"],[19,1,1,"","output_lines"],[19,1,1,"","pad_output_distribution"],[19,1,1,"","remove_file"],[19,1,1,"","temp_dir"],[19,1,1,"","timedelta"],[19,1,1,"","trem"],[19,1,1,"","verbose_print"],[19,1,1,"","write_binary_c_parameter_descriptions_to_rst_file"]],"binarycpython.utils.functions.Capturing":[[19,3,1,"","__enter__"],[19,3,1,"","__exit__"]],"binarycpython.utils.functions.catchtime":[[19,3,1,"","__enter__"],[19,3,1,"","__exit__"]],"binarycpython.utils.grid":[[20,2,1,"","Population"]],"binarycpython.utils.grid.Population":[[20,3,1,"","clean"],[20,3,1,"","evolve"],[20,3,1,"","evolve_single"],[20,3,1,"","exit"],[20,3,1,"","export_all_info"],[20,3,1,"","jobID"],[20,3,1,"","parse_cmdline"],[20,3,1,"","return_all_info"],[20,3,1,"","return_binary_c_defaults"],[20,3,1,"","return_population_settings"],[20,3,1,"","set"],[20,3,1,"","was_killed"]],"binarycpython.utils.plot_functions":[[24,1,1,"","color_by_index"],[24,1,1,"","dummy"],[24,1,1,"","parse_function_hr_diagram"],[24,1,1,"","parse_function_masses"],[24,1,1,"","parse_function_orbit"],[24,1,1,"","plot_HR_diagram"],[24,1,1,"","plot_masses"],[24,1,1,"","plot_orbit"],[24,1,1,"","plot_system"]],"binarycpython.utils.population_extensions":[[25,0,0,"-","HPC"],[26,0,0,"-","Moe_di_Stefano_2017"],[27,0,0,"-","analytics"],[28,0,0,"-","cache"],[29,0,0,"-","condor"],[30,0,0,"-","dataIO"],[31,0,0,"-","distribution_functions"],[32,0,0,"-","grid_logging"],[33,0,0,"-","grid_options_defaults"],[34,0,0,"-","gridcode"],[35,0,0,"-","metadata"],[36,0,0,"-","slurm"],[37,0,0,"-","spacing_functions"],[38,0,0,"-","version_info"]],"binarycpython.utils.population_extensions.HPC":[[25,2,1,"","HPC"]],"binarycpython.utils.population_extensions.HPC.HPC":[[25,3,1,"","HPC_can_join"],[25,3,1,"","HPC_check_requirements"],[25,3,1,"","HPC_dir"],[25,3,1,"","HPC_dirs"],[25,3,1,"","HPC_dump_status"],[25,3,1,"","HPC_get_status"],[25,3,1,"","HPC_grid"],[25,3,1,"","HPC_id_filename"],[25,3,1,"","HPC_id_from_dir"],[25,3,1,"","HPC_job"],[25,3,1,"","HPC_jobID"],[25,3,1,"","HPC_jobID_tuple"],[25,3,1,"","HPC_job_task"],[25,3,1,"","HPC_job_type"],[25,3,1,"","HPC_join_from_files"],[25,3,1,"","HPC_join_previous"],[25,3,1,"","HPC_joinlist"],[25,3,1,"","HPC_load_joinfiles_list"],[25,3,1,"","HPC_make_joiningfile"],[25,3,1,"","HPC_njobs"],[25,3,1,"","HPC_path"],[25,3,1,"","HPC_queue_stats"],[25,3,1,"","HPC_restore"],[25,3,1,"","HPC_set_status"],[25,3,1,"","HPC_snapshot_filename"],[25,3,1,"","HPC_status"],[25,3,1,"","HPC_touch"]],"binarycpython.utils.population_extensions.Moe_di_Stefano_2017":[[26,2,1,"","Moe_di_Stefano_2017"]],"binarycpython.utils.population_extensions.Moe_di_Stefano_2017.Moe_di_Stefano_2017":[[26,3,1,"","Moe_di_Stefano_2017"],[26,3,1,"","get_Moe_di_Stefano_2017_default_options"],[26,3,1,"","get_Moe_di_Stefano_2017_default_options_description"],[26,3,1,"","get_moe_di_stefano_dataset"],[26,3,1,"","set_moe_di_stefano_settings"]],"binarycpython.utils.population_extensions.analytics":[[27,2,1,"","analytics"]],"binarycpython.utils.population_extensions.analytics.analytics":[[27,3,1,"","CPU_time"],[27,3,1,"","make_analytics_dict"],[27,3,1,"","set_time"],[27,3,1,"","time_elapsed"]],"binarycpython.utils.population_extensions.cache":[[28,2,1,"","cache"]],"binarycpython.utils.population_extensions.cache.cache":[[28,2,1,"","NullCache"],[28,3,1,"","default_cache_dir"],[28,3,1,"","setup_function_cache"],[28,3,1,"","test_caches"]],"binarycpython.utils.population_extensions.cache.cache.NullCache":[[28,3,1,"","__delitem__"],[28,3,1,"","__getitem__"],[28,3,1,"","__setitem__"],[28,3,1,"","popitem"]],"binarycpython.utils.population_extensions.condor":[[29,2,1,"","condor"]],"binarycpython.utils.population_extensions.condor.condor":[[29,3,1,"","condorID"],[29,3,1,"","condor_check_requirements"],[29,3,1,"","condor_dirs"],[29,3,1,"","condor_grid"],[29,3,1,"","condor_outfile"],[29,3,1,"","condor_queue_stats"],[29,3,1,"","condor_status_file"],[29,3,1,"","condorpath"],[29,3,1,"","get_condor_status"],[29,3,1,"","make_condor_dirs"],[29,3,1,"","set_condor_status"]],"binarycpython.utils.population_extensions.dataIO":[[30,2,1,"","dataIO"]],"binarycpython.utils.population_extensions.dataIO.dataIO":[[30,3,1,"","NFS_flush_hack"],[30,3,1,"","NFSpath"],[30,3,1,"","compression_type"],[30,3,1,"","dir_ok"],[30,3,1,"","load_population_object"],[30,3,1,"","load_snapshot"],[30,3,1,"","locked_close"],[30,3,1,"","locked_open_for_write"],[30,3,1,"","merge_populations"],[30,3,1,"","merge_populations_from_file"],[30,3,1,"","open"],[30,3,1,"","save_population_object"],[30,3,1,"","save_snapshot"],[30,3,1,"","set_status"],[30,3,1,"","snapshot_filename"],[30,3,1,"","wait_for_unlock"],[30,3,1,"","write_binary_c_calls_to_file"],[30,3,1,"","write_ensemble"]],"binarycpython.utils.population_extensions.distribution_functions":[[31,2,1,"","distribution_functions"]],"binarycpython.utils.population_extensions.distribution_functions.distribution_functions":[[31,3,1,"","Arenou2010_binary_fraction"],[31,3,1,"","Izzard2012_period_distribution"],[31,3,1,"","Kroupa2001"],[31,3,1,"","Moe_di_Stefano_2017_multiplicity_fractions"],[31,3,1,"","Moe_di_Stefano_2017_pdf"],[31,3,1,"","build_q_table"],[31,3,1,"","calc_P_integral"],[31,3,1,"","calc_e_integral"],[31,3,1,"","calc_total_probdens"],[31,3,1,"","calculate_constants_three_part_powerlaw"],[31,3,1,"","const_distribution"],[31,3,1,"","cosmic_SFH_madau_dickinson2014"],[31,3,1,"","duquennoy1991"],[31,3,1,"","fill_data"],[31,3,1,"","flat"],[31,3,1,"","flatsections"],[31,3,1,"","gaussian"],[31,3,1,"","gaussian_func"],[31,3,1,"","gaussian_normalizing_const"],[31,3,1,"","get_integration_constant_q"],[31,3,1,"","get_max_multiplicity"],[31,3,1,"","imf_chabrier2003"],[31,3,1,"","imf_scalo1986"],[31,3,1,"","imf_scalo1998"],[31,3,1,"","imf_tinsley1980"],[31,3,1,"","interpolate_in_mass_izzard2012"],[31,3,1,"","ktg93"],[31,3,1,"","linear_extrapolation_q"],[31,3,1,"","merge_multiplicities"],[31,3,1,"","number"],[31,3,1,"","poisson"],[31,3,1,"","powerlaw"],[31,3,1,"","powerlaw_constant"],[31,3,1,"","powerlaw_constant_nocache"],[31,3,1,"","powerlaw_extrapolation_q"],[31,3,1,"","raghavan2010_binary_fraction"],[31,3,1,"","sana12"],[31,3,1,"","three_part_powerlaw"]],"binarycpython.utils.population_extensions.grid_logging":[[32,2,1,"","grid_logging"]],"binarycpython.utils.population_extensions.grid_logging.grid_logging":[[32,3,1,"","vb1print"],[32,3,1,"","vb2print"],[32,3,1,"","verbose_print"]],"binarycpython.utils.population_extensions.grid_options_defaults":[[33,2,1,"","grid_options_defaults"]],"binarycpython.utils.population_extensions.grid_options_defaults.grid_options_defaults":[[33,3,1,"","default_cache_dir"],[33,3,1,"","get_grid_options_defaults_dict"],[33,3,1,"","get_grid_options_descriptions"],[33,3,1,"","grid_options_description_checker"],[33,3,1,"","grid_options_help"],[33,3,1,"","print_option_descriptions"],[33,3,1,"","write_grid_options_to_rst_file"]],"binarycpython.utils.population_extensions.gridcode":[[34,2,1,"","gridcode"]],"binarycpython.utils.population_extensions.gridcode.gridcode":[[34,3,1,"","add_grid_variable"],[34,3,1,"","delete_grid_variable"],[34,3,1,"","rename_grid_variable"],[34,3,1,"","update_grid_variable"]],"binarycpython.utils.population_extensions.metadata":[[35,2,1,"","metadata"]],"binarycpython.utils.population_extensions.metadata.metadata":[[35,3,1,"","add_ensemble_metadata"],[35,3,1,"","add_system_metadata"]],"binarycpython.utils.population_extensions.slurm":[[36,2,1,"","slurm"]],"binarycpython.utils.population_extensions.slurm.slurm":[[36,3,1,"","get_slurm_status"],[36,3,1,"","make_slurm_dirs"],[36,3,1,"","set_slurm_status"],[36,3,1,"","slurmID"],[36,3,1,"","slurm_check_requirements"],[36,3,1,"","slurm_dirs"],[36,3,1,"","slurm_grid"],[36,3,1,"","slurm_outfile"],[36,3,1,"","slurm_queue_stats"],[36,3,1,"","slurm_status_file"],[36,3,1,"","slurmpath"]],"binarycpython.utils.population_extensions.spacing_functions":[[37,2,1,"","spacing_functions"]],"binarycpython.utils.population_extensions.spacing_functions.spacing_functions":[[37,3,1,"","const_dt"],[37,3,1,"","const_int"],[37,3,1,"","const_linear"],[37,3,1,"","const_ranges"],[37,3,1,"","gaussian_zoom"],[37,3,1,"","peak_normalized_gaussian_func"]],"binarycpython.utils.population_extensions.version_info":[[38,2,1,"","version_info"]],"binarycpython.utils.population_extensions.version_info.version_info":[[38,3,1,"","minimum_stellar_mass"],[38,3,1,"","parse_binary_c_version_info"],[38,3,1,"","return_binary_c_version_info"]],"binarycpython.utils.run_system_wrapper":[[40,1,1,"","run_system"]],"binarycpython.utils.useful_funcs":[[42,1,1,"","calc_period_from_sep"],[42,1,1,"","calc_sep_from_period"],[42,1,1,"","maximum_mass_ratio_for_RLOF"],[42,1,1,"","minimum_period_for_RLOF"],[42,1,1,"","minimum_separation_for_RLOF"],[42,1,1,"","ragb"],[42,1,1,"","roche_lobe"],[42,1,1,"","rzams"],[42,1,1,"","zams_collision"]]},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"0":[0,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,25,26,28,31,34,37,42],"00":[5,11,12,15,18],"000":[5,11,18],"0000":[5,11,18],"00000":18,"000000":18,"000000000000e":11,"000000e":18,"000001":11,"000002":11,"000003":11,"0001":[5,7,42],"000122339":15,"000161974":15,"000214449":15,"000220016":15,"000283924":15,"000287968":15,"000375908":15,"000497691":15,"000498487":15,"00065893":15,"0007":31,"000872405":15,"001":[0,5,7],"00115504":15,"0013":5,"00152924":15,"00182":5,"002":[5,17,18],"00202467":15,"0021272":5,"00215604":5,"00235329":5,"00237669":5,"00239838":5,"00242158":5,"00247821":5,"00247864":5,"00248439":5,"00254115":5,"00254512":5,"00256681":5,"00261516":5,"00268237":5,"00280816":5,"00283345":5,"00286793":5,"00288661":5,"00294":5,"00296406":5,"003":5,"00300971":5,"00303761":5,"00311757":5,"00317508":5,"00319483":5,"0034":5,"004":5,"004698855121516281":15,"005":5,"00518983":5,"0055":5,"00585495":5,"006":5,"0062211552141636295":15,"00632092":7,"00666382":5,"007":[5,16],"00707417":5,"00712":5,"00730797":5,"0074":5,"008":5,"0081514":5,"00823663875514986":15,"00832":5,"0087":5,"009":[5,16],"00984861":5,"00e":12,"01":[0,5,6,7,8,9,12,15,18],"010":5,"0102":5,"010905083645619543":15,"011":5,"0118":5,"012":5,"0122109":5,"012246630357e":15,"0128":5,"013":5,"0131145":5,"014":5,"0141":7,"0143651":5,"0143896":8,"014832":5,"015":5,"0152545":5,"0153961":5,"0155":5,"0156":5,"01561":5,"0156945":5,"0159":5,"016":5,"0162":5,"016309":8,"0163656":8,"0164":5,"0165":5,"0166":5,"0168":5,"0169":5,"017":[5,16],"0171":5,"0175264":8,"0176575":6,"01791":5,"018":5,"0182":5,"0184":5,"0187":5,"019":5,"0192009":5,"019715467199999996":8,"01e":12,"01t09":[6,8,12],"01t10":12,"02":[0,5,6,7,8,9,11,12,15,16,18,31,42],"020":5,"0208":5,"021":5,"0214":5,"0214824":5,"021960493499e":15,"022":5,"023":5,"0232618":5,"02379":5,"024":5,"0241634":5,"0245":5,"024684":5,"02473":5,"0248684":15,"025":5,"0250231":5,"0251003":5,"0259932":5,"026":5,"0261496":5,"027":5,"0276":5,"02786":5,"0278672":5,"028":5,"02823":5,"0283541":5,"029":5,"0290733":5,"0295":5,"0298011":5,"0298364":5,"02e":[8,12],"03":[0,1,5,7,8,12],"030":5,"0303129":5,"030499912298e":15,"031":5,"0316266":5,"0319":5,"032":5,"03221":5,"033":5,"0335":5,"0335017":5,"034":5,"03493":5,"03499999999999":14,"035":5,"03502960360000004":8,"03507":5,"036":5,"0367878":5,"037":5,"0385396":5,"039":5,"0393944":5,"0394":5,"0399":5,"03996e":5,"03e":12,"04":[0,5,7,12,18],"040":5,"041":5,"0411":5,"0414":5,"04198":5,"042":5,"0425":5,"043":5,"0434":15,"044":5,"0440989":5,"044142002936e":9,"04440288843805411":15,"0444029":15,"044572277695e":9,"044654032097e":9,"0448877":5,"0449442":5,"045":5,"045084306856e":9,"0459174":5,"046":5,"0461":5,"0469097":5,"047":[5,15,16],"0474164":5,"0474572":5,"048":[5,16,18],"049":5,"04924":5,"04e":12,"05":[0,5,7,8,9,12,15],"0501":5,"050651207308e":9,"051":[5,6],"0511173":5,"0512":5,"052":5,"0523":5,"0528412":5,"053":5,"0531294":5,"0533803":5,"0535":5,"0536749":5,"054":[5,31],"0547419":5,"055":5,"055188":5,"056":[5,16],"0563088":5,"057":5,"0570946":18,"0572914":5,"057949":5,"058":5,"0583837":5,"0585":5,"059":5,"05e":12,"05e51ba114934b37bab48f1db40b7333":15,"06":[0,5,8,9,11,12],"0608":5,"061":5,"061141":5,"0613":5,"062":5,"0621119":5,"0625403":5,"06257":5,"0626266":5,"063":5,"064":5,"0641":5,"06459059967730083":8,"0645906":8,"0649":5,"065":5,"06527":5,"066":5,"06696":5,"067":5,"0670735":5,"068":5,"0683196":5,"069":5,"06987":5,"06e":12,"07":[5,12,13,14,18,31,37],"070":[5,15],"0701913":5,"071":5,"07108":5,"0714679":5,"0717":5,"0719":5,"072":5,"0722":5,"0727126":5,"0727584":5,"074":5,"0744186":5,"0745":5,"07484":5,"075":5,"075416":5,"0755737":5,"076":5,"077":5,"0770302":5,"0772021":5,"0772781":5,"078":5,"0784":5,"0784722":5,"0787729":5,"0789786":5,"079":[5,6],"0791":5,"07e":12,"08":[0,5,8,12,18],"080763":11,"0808":5,"081":[5,6],"081024":6,"082":5,"0820":[0,7],"0823499":5,"0831":5,"0834973":18,"0837":5,"084":5,"0849409":5,"085":5,"086":5,"086004":5,"0868":5,"087":5,"0877":5,"0877243":5,"0878":5,"088":5,"089":5,"0890815":5,"0896":5,"08e":12,"08msun":[0,7],"09":[5,6,8,12],"090":5,"0900":18,"0902":[0,7],"0907":5,"0907537":5,"091":5,"0910814":5,"0913095":5,"09164":5,"092":5,"09295167374":12,"093":[6,16],"0931922":5,"094":[5,8],"094409257247e":15,"095":5,"0958704":5,"096":5,"09665":5,"0967":15,"097":5,"09706e":5,"09786":5,"098":[5,6],"0987206":5,"099":5,"0991059":5,"0993":5,"099417":8,"0995":5,"0m":12,"0mb":[8,12],"0msun":37,"0x146f912dbc60":7,"0x149c2e81ec10":11,"0x149c95c56c10":8,"0x14bf2250fdc0":6,"0x1528ac7290d0":15,"1":[0,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,21,22,24,25,29,30,31,32,34,36,37,39,40,42],"10":[0,2,5,6,7,8,9,11,12,13,14,15,16,17,18,21,31,37,40],"100":[0,5,6,7,8,12,13,14,31,37],"1000":[0,7,8,21,37],"100000000000":[17,18],"1001":12,"1005":5,"101":5,"101038":5,"1012":5,"101323":5,"101955":5,"102":5,"1021":5,"1024mb":21,"1025":12,"102750e":18,"103":5,"1035":5,"103702":5,"103789":5,"104":[5,8],"1043":5,"104427":5,"104997":5,"105":[5,13,14],"105082":5,"10522":5,"105704":5,"106":5,"1062":5,"106368":5,"106545":5,"10689":5,"107":5,"107187":5,"1075":5,"10782":5,"108":[5,15],"1082":5,"1085":11,"108571":5,"10877":5,"1088":5,"109":[5,8],"10941":5,"109679":5,"1098":5,"1099":5,"10e":12,"11":[0,5,6,8,9,11,12,14,15,16,18],"110":5,"11003":11,"1104":5,"1108":5,"111":5,"111023":5,"111583":5,"11182":5,"112":5,"11239":5,"1124":5,"113":5,"1130":5,"11346":5,"113492":18,"1135":5,"11376":5,"114":5,"114678":5,"11491":5,"115":[5,31],"11506":5,"115297":5,"11558":5,"115722":5,"11582":11,"116":5,"11686":5,"11695":5,"117":5,"11707":5,"1173":5,"1178":5,"118":5,"11802":5,"118229":5,"11854":5,"119":5,"1193":5,"1199":5,"11e":12,"12":[0,5,6,9,11,12,14,15,16,18,19,31],"120":5,"120000":[0,7],"120066":5,"1204":[5,18],"121":5,"121263":5,"12136":5,"1219":5,"122":5,"1222":5,"123":5,"123048":5,"12325":11,"123635":5,"1237":5,"123794969278e":15,"1239555":8,"124":5,"1241251901":16,"124379":18,"124496":5,"12457":11,"12460":11,"12461":11,"124931":5,"12495":5,"125":[0,5,7],"12500":0,"12522":5,"1254":5,"12548":5,"125553":5,"125886":5,"125968":5,"126":5,"126532":5,"127":5,"12741":5,"127442":5,"127957":5,"128":5,"12806":5,"129":5,"12974":5,"129879":5,"12e":[1,6,9,11,12,13,14,15],"13":[0,5,6,7,8,9,11,12,14,15,16,18],"130":5,"1301":11,"1302":11,"1306":5,"130725":5,"131":5,"13108":18,"1314":5,"131680e":18,"132":5,"132057":5,"1326":5,"13267":5,"1327":5,"13298":5,"133":5,"1334":5,"134":[5,15],"13416":5,"1345":11,"1346":11,"13461":11,"1347":11,"1348":11,"1349":11,"135":5,"135101":5,"135164":5,"1354":12,"1355":12,"13567":9,"136":5,"1360":5,"13607":5,"13626":15,"137":5,"13700":[6,8],"137502":5,"1379":5,"13796e":5,"138":5,"1380":18,"139":5,"139044":5,"1392":5,"139293101586e":15,"139732":5,"1398":5,"13e3":[0,7],"14":[0,5,6,7,9,11,12,14,15,16,18],"140":5,"1403":31,"141":5,"14112":5,"141361":5,"1415":5,"142":5,"14212":5,"143":5,"144":5,"144141":5,"14439":5,"14461":11,"1449":[5,12],"145":5,"145296":5,"145632":5,"146":5,"1468":5,"146844":5,"147":5,"1471":5,"1473":5,"14764":5,"1478":5,"148":[5,18],"1485":5,"148721":5,"149":5,"1492":5,"1494":12,"1498":5,"14e":12,"15":[0,5,7,8,9,11,12,14,15,16,18,21,31],"150":[5,8,12,13,14,15],"15000":[0,5,7,9,11,15,16,18],"1502":5,"150217":5,"15042":5,"150681":5,"151":5,"1514":5,"151616":5,"1517":5,"15186":5,"152":5,"1521":5,"1527":5,"153":5,"153329":5,"153852":5,"1539":12,"154":5,"155":5,"1551":5,"1553":5,"155342":5,"155662":12,"155678":8,"15594":5,"156":[5,8,18],"1560":5,"1567":5,"1569":5,"157":5,"1571":5,"1575":5,"158":5,"1585":12,"1586":5,"158640":8,"15884":5,"159":[5,8],"15907":5,"1599":5,"15e":12,"15msun":31,"16":[0,5,8,12,14,15,16,18,31],"160":5,"1606":5,"160675":12,"161":5,"1610":5,"1612":5,"1618":5,"162":5,"162006":5,"162038":5,"1622":5,"1624":[5,12],"162454":12,"16265":5,"1627":11,"162734":11,"162941":5,"163":[5,8],"1631":5,"1633":5,"163481":8,"1635760192":6,"1635760194":6,"1635760256":8,"1635760377":8,"1635760613":12,"1635760806":14,"1635760813":14,"1635760967":15,"1635760970":15,"1635761189":12,"1637":5,"164":5,"164714":5,"165":5,"16539":5,"16564":5,"166":[5,8],"1663":5,"166559":5,"167":[5,12],"1670":5,"16729":5,"16733":5,"1674":[5,12],"1678":5,"168":[5,8],"16833":5,"16837":5,"168379":8,"168558":5,"168972":5,"169":5,"1691":5,"1695":5,"169775":12,"17":[5,6,8,12,14,15,16,18],"170":5,"1703":12,"1708":5,"171":5,"171096":5,"1713":5,"1715":5,"172":5,"172014":5,"1722":5,"1729":5,"173":5,"1736":5,"174":5,"174169":5,"1747":5,"1749":12,"175":5,"175004":5,"1753":5,"17588":5,"176":5,"176751":12,"177":[5,8],"177444":5,"1775":5,"177551":5,"177727":5,"178":5,"1780":12,"1781":5,"1783":5,"1784":5,"1786":5,"179":5,"179142":5,"1792":5,"17932":5,"1796":5,"18":[5,12,14,16,18],"180":5,"1804":5,"180453":5,"1806":5,"1807":5,"1808":5,"1809":5,"181":5,"1810":5,"18108":5,"1811":5,"1812":5,"181244":5,"1813":5,"18139":5,"1814":[5,12],"18148":5,"1815":5,"1816":5,"1817":5,"181795":5,"1818":5,"1819":5,"181971798545e":15,"182":5,"1821":5,"1822":5,"1823":5,"1824":5,"1825":5,"1826":5,"1827":5,"1828":5,"1829":5,"183":5,"1830":5,"183048":5,"1831":5,"1833":5,"1834":5,"1835":5,"1838":5,"1839":5,"183974":5,"184":5,"1841":5,"1843":5,"1844":5,"184464":5,"1845":5,"1846":5,"1847":5,"184829":5,"185":5,"1851":[5,12],"1854":5,"1858":5,"186":[5,12],"1865":9,"187":5,"1876":5,"187694":5,"1877":5,"1879":12,"187993":5,"188":5,"1882":5,"189":5,"189239":5,"19":[5,8,12,15,18],"190":[0,5,18],"19097":5,"191":5,"1910":12,"1915":5,"191543":5,"192":5,"1920":5,"1923":5,"193":5,"193528":5,"19366":5,"19393":5,"194":5,"1947":12,"195":5,"1951":[0,7],"19521":5,"196":5,"196046":5,"196177":5,"19622":5,"196311":5,"1967":5,"1968":12,"197":5,"1972":[0,7],"1973":5,"1975":[0,7],"1977":5,"197729":5,"197x":[0,7],"198":5,"1980":31,"1983":42,"1986":[0,7,31],"1987":5,"1989":[0,7,12],"199":5,"19907":5,"1991":31,"1992":[0,7],"1993":[0,7],"1996":42,"1998":[0,5,7,31],"1999":[0,7],"19e":12,"1aearth":16,"1ajupit":16,"1amar":16,"1amercuri":16,"1aneptun":16,"1apluto":16,"1asaturn":16,"1auranu":16,"1avenu":16,"1ckzg0p9":[22,39],"1dex":[12,13,14],"1e":[0,7,8,9,11,12,18],"1e2":[0,7],"1e9":[0,7],"1gyr":37,"1m":12,"1mb":[8,12],"1mearth":16,"1mjupit":16,"1mmar":16,"1mmercuri":16,"1mneptun":16,"1mpluto":16,"1msaturn":16,"1msun":37,"1muranu":16,"1mvenu":16,"1s":[8,12],"1y":[0,7],"2":[0,1,2,5,6,7,8,9,10,11,12,13,14,15,16,18,19,21,22,24,25,29,31,36,37,39],"20":[0,5,6,8,9,12,13,14,15,16,18,37],"200":[0,5,7],"2000":[0,5,7],"2001":[13,14,31],"2002":[0,7],"2003":[0,7,31],"2004":[0,5,7],"2005":[0,5,7],"2008":5,"2009":[0,7],"201":5,"2010":[0,7,21,31],"2012":[0,7,31],"2013":[0,7],"2014":[0,5,7,31],"2015":[0,5,7],"2016":[0,7],"201620bd7":0,"2017":[0,7,12,15,21,31],"2018":[0,1,5,7],"2019":[0,5,7,18],"202":5,"2020":[0,7],"2021":[5,6,8,12],"202196":5,"2022":0,"20220107":0,"202339":5,"202569":5,"20265":5,"202750e":18,"2029":5,"203":5,"2033":5,"204":5,"2044":5,"20447":5,"204663":5,"2048":12,"205":5,"2053":5,"205353":5,"205527":5,"205537":5,"2057":5,"206":[5,16],"2063":5,"20677":5,"207":5,"2071":12,"2075":5,"208":5,"2081":5,"208169":5,"208453":5,"20887":5,"208923":5,"209":5,"2091":12,"209274":5,"20938":5,"20980":5,"20e":[8,12],"21":[0,1,5,6,12,18],"210":[5,18],"21043":5,"211":[5,14],"2112":5,"2118":18,"212":5,"212034":5,"2122":12,"2127":5,"213":5,"2132":5,"21333":5,"213396":5,"2135":5,"213854":5,"214":5,"214274644851685":18,"2143":12,"2147":5,"215":5,"215504":5,"2156":5,"215638":5,"2157":5,"21587440567681537":15,"21587440567681548":15,"2158744056768156":15,"216":5,"21603":5,"216067":5,"2164":12,"216496":5,"216951":5,"217":5,"21764":5,"218":5,"2182":5,"218222":14,"21824":5,"2183":12,"21844":5,"219":5,"219029061236e":15,"219058":5,"2191":5,"21927":5,"21948":5,"21e":12,"22":[5,12,18],"220":5,"22036":5,"2206":12,"22098":5,"221":5,"2210":5,"2214":5,"2216":5,"221832":5,"222":5,"2221":5,"2224":5,"22281":5,"223":5,"2232":12,"2234":5,"224":5,"2245":12,"224923":5,"225":5,"225135":5,"22518":5,"22543":5,"2258":12,"226":5,"2261":5,"22611318083528548":8,"226424":5,"2266":5,"2268":5,"2269":12,"227":5,"227249":5,"2275":5,"22787":5,"227955577093495":15,"228":5,"2282":12,"228555":5,"229":5,"2291":5,"22936":5,"2295":5,"229591":5,"22e":8,"23":[5,12,15],"230":5,"2300":12,"230102":5,"2305":5,"230955":5,"231":5,"231680e":18,"231704":5,"232":5,"2329":12,"233":5,"2332":5,"2333":5,"2338":5,"234":[5,8],"2348":12,"235":[5,6],"23513":5,"2352":5,"235464":5,"235689312423":8,"236":[5,18],"2365":[12,18],"237":5,"2371":5,"237203":5,"237951":5,"238":5,"2383":12,"238584":5,"23894":5,"239":5,"239197":5,"239704":5,"24":[5,8,12],"240":5,"2400":12,"2403e":15,"2406":5,"24098":5,"241":5,"2413":5,"24165":5,"242":5,"2421":5,"242151":5,"2423":12,"242309":5,"2424":11,"243":[5,6],"243214":5,"243583":5,"2437":5,"2438":12,"2439":5,"244":[5,16],"2444":16,"244645":5,"245":5,"245209":5,"245223":5,"2454":12,"246":5,"2466":12,"246604":5,"246625":5,"246671":6,"247":5,"2472":5,"2477":[5,12],"248":[5,8],"248871":5,"249":5,"249106":5,"2492":12,"2493":5,"249848":5,"24e":12,"25":[0,5,8,12,18],"250":5,"25014bc73b334765a1c09a4e4a97ed66":12,"251":[5,8],"2514":5,"2516":12,"25164":5,"252":5,"2528":5,"252877":5,"2529":5,"253":5,"2537":12,"253705":5,"254":5,"2544031669784":15,"255":[0,5,7],"2551":5,"2552":5,"2554":12,"2556":5,"256":[5,6,21],"256488":5,"256783":5,"25694":5,"257":[5,42],"2570":12,"2572":15,"257278":5,"257437":5,"2576084265970895":15,"258":[5,8],"2583":5,"259":5,"2590":12,"25msun":[0,7],"26":[5,12],"260":5,"26051":5,"260676":5,"261":5,"2613":5,"261343":5,"26171201413c43f5b91552a374879940":6,"2618":5,"262":5,"2622":[5,12],"2626":5,"2629":5,"263":5,"263079":5,"2632":5,"263235":5,"2636":12,"264":5,"26416":5,"26441":5,"26456":5,"2646":18,"265":5,"2652":12,"266":5,"2663":5,"26637":5,"2664":5,"266485":5,"2666":12,"267":[5,8],"2670":5,"2671":5,"2672":5,"2673":5,"2674":5,"2676":5,"2677":5,"2678":5,"2679":5,"268":5,"2680":5,"2681":5,"2682":5,"2683":5,"2684":5,"2685":5,"2686":5,"2687":5,"2688":5,"2689":5,"269":5,"2690":5,"2691":[5,12],"2692":5,"2693":5,"2694":5,"2695":5,"2696":5,"2697":5,"2698":5,"2699":5,"27":[5,8,12,15],"270":5,"2700":5,"2701":5,"2702":5,"27025":5,"2703":5,"2704":5,"2705":5,"2706":5,"2707":5,"2708":5,"2709":5,"271":5,"2710":5,"2711":5,"2712":5,"2713":5,"2714":5,"27143e":15,"2715":5,"2716":5,"2717":5,"2718":5,"2719":5,"272":5,"2720":5,"2721":5,"2722":5,"2723":5,"2724":5,"2725":5,"2726":5,"2727":5,"2728":5,"2729":5,"272943":5,"273":5,"2730":5,"2731":5,"2732":5,"2733":[5,12],"2734":5,"274":5,"274206":5,"274445":5,"2746":12,"274854":5,"275":5,"2754":5,"27569e":5,"2757":12,"276":5,"2767":5,"277":5,"2773":5,"27734":5,"2775":12,"27767":5,"278":5,"27829":5,"279":5,"2791":5,"2795":12,"28":[5,7,8,9,11,12,21],"280":5,"2800":5,"2801":5,"2802":5,"28060251":31,"280723":5,"280749":5,"281":[5,42],"281309":5,"28134439269236855":15,"2816":5,"2819":5,"282":5,"282234":5,"2823":5,"282623":5,"283":5,"2831":12,"2834":5,"2835":5,"2836":5,"28369":5,"283972":5,"284":5,"2845":12,"2846":5,"285":5,"286":5,"2861":12,"287":5,"2871":5,"2873":5,"2875":12,"2878":5,"288":5,"2881":5,"288353":5,"28867":5,"289":5,"2891":12,"2898":5,"28984":5,"28e":8,"29":[5,8,12,15],"290":5,"290684":5,"291":5,"29136":5,"2914":5,"292":5,"2921":5,"2924":5,"292641":5,"2927":5,"293":5,"2930":12,"2934e":18,"293512":5,"294":[5,6],"29427":15,"29448":15,"29457":15,"2947":[12,15],"295":5,"295543":5,"296":5,"2961":5,"2965":12,"296544":5,"2967":5,"2969346":31,"297":5,"297187":5,"297506":5,"298":5,"29816":5,"298194":5,"2982":12,"299":5,"2991":5,"2996":5,"29e":12,"2b66f805db424c48a1d29c45092b6e3c":8,"2d":[0,7],"2e":[9,12,18],"2f":18,"2m":[8,12],"2mb":[8,12],"2msun":[0,7],"2s":12,"3":[0,1,2,5,6,7,8,9,10,11,12,13,14,15,18,19,21,22,29,31,36,37,39],"30":[1,5,6,8,9,11,12,13,14,15,16,18],"300":[5,37],"3000":[0,7,16],"3002":5,"3008":5,"301":5,"3010":12,"301129":5,"301483":5,"3017":5,"302":[5,18],"3025":5,"302750e":18,"303":5,"3034":5,"3035":12,"303533":5,"3038":5,"30388e":5,"304":5,"3042":5,"30441":5,"3046":5,"3048":5,"305":5,"305334":5,"3059":12,"306":5,"30642":15,"3065":5,"306619":5,"3069":5,"307199":5,"3078":12,"308":5,"3081e":18,"3082":5,"308203":5,"3084":5,"309":5,"30902":15,"309361":5,"309461":5,"3096":5,"30975":5,"30e4":[0,7],"31":[0,5,7,8,12,18],"310":5,"3100":[5,12],"310029":5,"3101":5,"311":5,"312":[5,6],"3124":12,"312637":5,"3127":5,"313":5,"313623":12,"314":5,"31408":5,"314533":5,"3148":12,"315":5,"315124":5,"315223":5,"3154":5,"315404":5,"315903":5,"315973":5,"316":[5,8],"316118":5,"317":5,"3171":5,"3172":5,"3174":12,"3176":5,"317663":5,"317921":5,"318":5,"3185":5,"318753":5,"319":5,"3192":5,"3193":5,"31958":5,"3197":12,"31e":12,"32":[5,8,12,15,19,21],"320":5,"3205":15,"32076":5,"321":5,"321082":5,"3211":5,"32118":5,"3216":5,"321643":5,"322":5,"3223":5,"3228":[5,15],"32282":5,"323":5,"3231":[5,12],"323359":8,"3235":5,"324":5,"3243":5,"3244":5,"3245144":15,"3246":5,"3247":5,"3248":5,"325":5,"325197":5,"3256":12,"325743":5,"325965":5,"326":5,"326147":5,"32620":5,"32631":5,"3264":5,"326601":5,"32684":5,"327":5,"3273":[5,12],"328":5,"328066":5,"3282":5,"328512":5,"329":[5,8],"3294":12,"32e":12,"33":[5,12],"330":5,"331":5,"331680e":18,"332":5,"332091":5,"3321":12,"332251":5,"332777":5,"33295":5,"333":5,"333032":5,"3331":5,"334":5,"33451":5,"33469":9,"3348":12,"335":5,"335153":5,"3352":5,"335342":5,"335428":5,"33552":5,"335642":5,"335847":5,"336":5,"336295":5,"3368":5,"33699":15,"337":5,"33719":5,"337249":5,"3373":12,"338":[5,9],"33817":18,"33879":5,"339":5,"3394":12,"339587":5,"3396":5,"34":[5,6,7,8,9,11,12,13,15,16],"340":5,"34018":5,"340477":5,"34081":5,"341":5,"3412":5,"34126":5,"34175":5,"3419":5,"342":[5,12],"34213":9,"342134":5,"3422":12,"342474":5,"3429":5,"343":5,"3438":5,"344":5,"34421":18,"3445":12,"344772":5,"3448":5,"345":5,"34537":5,"345842":12,"346":5,"3461":5,"3462":5,"3464":12,"3469":5,"347":5,"3471":5,"347169":5,"347405":5,"347623":5,"348":[5,8],"3483":12,"34870":5,"349":5,"3495":5,"3497":5,"34e":8,"35":[5,8,12,31],"350":[5,12],"3502":5,"35051":5,"3507":5,"3509":12,"351":5,"351532":5,"3518":5,"352":5,"3529":5,"353":5,"3533":12,"353432":5,"3536":5,"354":5,"3540":18,"354576":5,"35487":5,"354981":5,"355":5,"3550":12,"35505":5,"355513":5,"3559":5,"356":5,"3563":5,"3568":12,"356812":5,"357":5,"358":5,"3583":5,"3588":12,"3589":5,"35895":5,"359":5,"3591":5,"359784":5,"359881":5,"3599":5,"36":[5,8,12,15],"360":5,"360093":5,"36016":5,"361":5,"3616":5,"362":5,"3622":12,"362601":5,"36298":5,"363":5,"3630":18,"3631":18,"36314":5,"3632":18,"36323":5,"3633":18,"3634":18,"3635":18,"364":5,"3640":12,"364017":5,"36403":5,"364747":5,"3649":5,"365":5,"3657":12,"365763":5,"365949":5,"366":5,"366259":5,"366392":5,"367":5,"367065497322e":15,"367268":5,"3674":5,"36747":5,"3676":12,"367793":5,"368":5,"368345":5,"3688":5,"369":5,"3695":5,"36957":5,"3698":5,"36e":12,"37":[5,8,12],"370":5,"3702e":18,"3706":12,"371":5,"371427":5,"371458":5,"371625":5,"3719":5,"372":5,"3726":[5,12],"3729":5,"373":5,"373282":5,"374":5,"37409":5,"3746":12,"374905":5,"375":5,"3752":5,"375537":5,"3757":5,"375712":5,"3758":5,"376":5,"376059":5,"3763":12,"376604":5,"3767":5,"377":5,"3771":5,"378":5,"3781":5,"3786":12,"37874":5,"379":5,"379292":5,"37e":12,"38":[0,5,8,12],"380":5,"38009":5,"380393":5,"380887":5,"381":5,"3811":12,"382":5,"382144":5,"382472":5,"383":5,"38316":5,"3832":12,"384":5,"3849":12,"385":5,"386":5,"387":5,"3875":12,"38788e":15,"388":5,"388321":5,"389":5,"38908":5,"389208":5,"38921":5,"389749":5,"38m":12,"39":[5,6,7,8,10,11,12,13,14,15,16,17],"390":5,"3905":12,"391":5,"3914":18,"39152e":5,"391798":5,"392":[5,18],"39205":15,"392194":5,"392487":5,"3927":18,"3928":[5,18],"3929":18,"393":5,"3930":[12,18],"3931":[12,18],"3932":18,"393886":5,"394":5,"394722435913e":15,"395":5,"39521":5,"3954":12,"3957":5,"3959":5,"396":5,"396133472739e":15,"396288708628e":15,"3963":5,"396675941641e":15,"3967":5,"397":5,"3971":5,"39754":15,"3977":12,"397754":5,"3978":5,"398":5,"39831":5,"39834":5,"398381":5,"398419":5,"398927":5,"399":5,"3995":5,"3999999999996":14,"3d":[0,7],"3e":18,"3m":12,"3mb":[8,12],"3msun":31,"3s":[8,12],"4":[0,1,5,6,7,8,9,10,11,12,13,14,15,16,18,20,30,31,37],"40":[5,8,12,13,14],"400":5,"4000":[0,12],"40049":5,"401":5,"4011":5,"401263":5,"4013":5,"401728":5,"4018":5,"402":5,"40238":5,"402750e":18,"402961":5,"403":5,"40339":5,"404":5,"4046":5,"404641347602e":15,"4048":5,"404962":5,"405":5,"405068":5,"405577":5,"406":[5,12],"407":5,"40735":5,"4076":5,"408":5,"409":5,"4098":5,"40e":12,"41":[5,12],"410":[5,18],"4101":5,"4102":5,"4108":5,"410828":5,"411":5,"411151":5,"412":5,"41238":5,"413":[5,6],"413467":5,"414":5,"41457":5,"4146":5,"41485":5,"414875":5,"415":5,"416":5,"416141":6,"4162":5,"417":5,"41726":5,"4176":5,"418":5,"418029":5,"4182":5,"4183":5,"4184":5,"4186":5,"41862":5,"418757":5,"4188":5,"419":5,"4192":5,"4197":5,"41996":5,"41e":12,"42":[0,5,8,12],"420":5,"420182":5,"4202":5,"420316":5,"4205":5,"42052":5,"42097":5,"421":5,"421365":5,"421436":5,"421475":5,"4218":5,"4219":5,"422":5,"422436":5,"42266":5,"4229":5,"423":5,"42362":5,"424":[5,6],"4243":5,"424712":5,"424924":5,"425":5,"4251":5,"4256":5,"425788":5,"426":5,"427":5,"427601421985e":15,"42785":5,"428":5,"428699":5,"429":[5,12],"429122":5,"429398":5,"42e":12,"42msun":[0,7],"43":[5,12],"430":5,"4304":5,"430936289925951":15,"431":5,"4311":5,"431313":5,"431680e":18,"43173":5,"432":5,"4321":5,"432729":5,"433":[5,15],"4330":5,"433207":12,"4333":5,"433477":5,"434":5,"43422e":15,"435":5,"4357":5,"435809":5,"436":5,"43618":5,"4365":5,"4369":5,"437":[5,12,15],"43711":15,"4379":5,"438":5,"4380":5,"4385":5,"438686":5,"4387":5,"438861":5,"439":5,"4397":15,"44":[5,12],"440":5,"441":5,"441158":5,"44170":5,"442":5,"44211":5,"4422":5,"44223e":5,"443":5,"4433":5,"4438":5,"444":[5,18],"444217227690e":15,"445":5,"4454":5,"4455":5,"44558":5,"445821":5,"446":5,"447":5,"447918":5,"448":5,"448242":5,"448401":5,"44852":5,"449":[5,12],"4493":5,"44e":12,"44msun":[0,7],"45":[5,6,8,12,15],"450":5,"4500":7,"45000000080":15,"4501":5,"4504":15,"450629":5,"4507":5,"450818":5,"450828476487e":15,"4509":5,"451":[5,8],"45114":5,"451192744924e":15,"451732":5,"452":5,"453":5,"4530":[9,11,18],"453059":12,"453317880232e":15,"453348":5,"453412":5,"453932":5,"454":5,"4540":5,"454013":5,"45407":15,"454268":5,"454409":5,"455":5,"45534":5,"455552":5,"456":12,"456313":5,"456519":5,"457":5,"45757":5,"457987":5,"458":5,"458064":5,"458272":18,"4588":5,"45889":5,"459":5,"459382":5,"45msun":[0,7],"46":[5,8,12,15],"460":5,"460081":5,"46057":5,"46089":5,"462":[5,18],"4621":15,"4622":5,"46220":5,"4623":5,"462779538274e":15,"463":5,"463455":5,"464":5,"464494":5,"465":5,"465133":5,"46573":15,"465867":5,"46607":5,"4666":5,"4670":5,"4673":5,"467851":5,"468":5,"4680":8,"46822":5,"4683":5,"469":5,"46901":5,"469056":5,"469524":5,"47":[5,8,12],"470":5,"471":5,"4710":5,"471379":5,"4714":5,"472":[14,18],"472105":5,"472318":5,"4734":5,"473762":5,"474":5,"47419":5,"475":5,"4752":5,"475287":5,"47534":5,"4755":5,"4759":5,"476":5,"4764":5,"476589":5,"477":5,"477089":5,"4773":5,"47745":15,"477535":5,"477791":5,"478":5,"478253":5,"478315":5,"4788":5,"478807":5,"479":5,"47946":5,"4797":5,"479973":5,"48":[5,12],"480":5,"480045":5,"48046":5,"4807":5,"4809":5,"481":5,"482":5,"4822":5,"4825":5,"482668":5,"483":5,"48336":5,"4838":[7,9,11],"484":5,"4845":5,"485":5,"48586":5,"486":5,"4862":5,"4865":5,"4867":5,"4872":5,"48749":5,"4877":5,"488":5,"48809":5,"489":5,"489077":5,"48926":5,"48e":[8,12],"49":[5,6,12],"490":5,"491":5,"491811":5,"492":5,"492242":5,"492302":5,"492484":5,"492707":5,"492818":5,"493":5,"493648":5,"493975":5,"494":5,"4945":5,"4949":5,"495":5,"4957":5,"4959":5,"495924":5,"496":5,"4961":5,"496312":5,"4966016":14,"497":5,"497008":5,"497294":5,"498":5,"4981":5,"498232":5,"499":5,"49e":12,"4b8c7f4a86e445099d73f27dffaad94b":14,"4e":[0,7,18],"4e3":[0,7],"4m":12,"4mb":[8,12],"4s":[8,12],"5":[0,1,5,6,7,8,9,10,11,12,13,14,15,16,18,19,28,30,31,34],"50":[0,5,7,8,12,14],"500":[0,5,7],"500000e":18,"501":5,"5017":5,"502":5,"502451":5,"502775":5,"502841":5,"503":5,"503726":5,"504":5,"5043":5,"5046":5,"505":5,"5051":5,"50537":5,"506":5,"5064":5,"50652":5,"5066257":14,"50682":5,"50687":5,"507":5,"507104":5,"507443":5,"508":[5,15],"5089":5,"509":5,"5094":5,"50973":5,"50e":12,"50fb66cc659c46c8bbc29fe0c8651c2f":15,"51":[5,8,12],"510":5,"511":5,"511114":5,"5112":5,"5114":5,"5117":5,"512":5,"512561":5,"512617":5,"512mb":21,"513":5,"514":5,"514087":5,"51478":5,"514898":5,"514916":5,"515":12,"515062":5,"5164":5,"517":5,"51742":5,"517454":5,"5175":5,"518":5,"51803":9,"51809":5,"51819":5,"518397":5,"518757914":13,"518851":5,"519":5,"51e":12,"52":[5,6,8,12],"52058":5,"5208":5,"520903":5,"5217":5,"522":5,"5221":5,"523":5,"523485":5,"523561":5,"524":5,"52414":15,"52415":15,"5244":5,"524629":18,"524755":5,"525":5,"526":5,"527":5,"528":5,"528102":5,"5286":5,"529":5,"5294":15,"52e":12,"53":[5,6,8,12],"530":5,"5301":5,"5309":5,"531":5,"531293":5,"531411":5,"5317":5,"532":5,"5324":5,"533":5,"5333":5,"534":5,"534699":5,"535":5,"5358":5,"536":5,"5366":5,"53715":5,"5374":5,"537743":5,"538":5,"53854":5,"539":5,"539343":5,"539941":5,"53e":12,"54":[5,12],"54027":5,"5403":5,"541":5,"541792":5,"542":5,"5423":5,"542419":5,"543":5,"54307":5,"54371":5,"544":5,"54439":5,"544482":5,"545":5,"5456":5,"545743":5,"546":5,"5462":5,"547002":5,"547729":5,"548":5,"5483":15,"548589":5,"548740826516e":15,"548864":5,"549":5,"5493":5,"54949":5,"55":[5,6,8,12,14,15,31],"550575":5,"551":[5,6],"551072":5,"552":5,"552711":5,"5528":5,"553":5,"5532":5,"554":5,"55458":9,"55473":5,"555":[5,8],"5556":5,"5557":5,"557":5,"558":5,"559":5,"5593":5,"55982":5,"559889":5,"55e":12,"56":[5,8,12,15],"560118":5,"5603":5,"561":5,"5612":5,"5619":5,"562":5,"562029":18,"56228":5,"564":5,"565":5,"56518":5,"5652":5,"566":[5,18],"566263":5,"56631":5,"566495":5,"567":5,"567303":5,"567898":5,"568":5,"5681":5,"56865":5,"569":5,"569581":5,"5696":5,"56e":12,"57":[5,6,8,12],"570":5,"570222":5,"5703":5,"57062":5,"57093":5,"571":5,"5712":5,"57141":5,"5717":15,"572":5,"573":5,"5734":5,"5735":5,"573703":5,"5738":5,"573874":5,"574":5,"57443":9,"574826":5,"575":5,"57538":5,"57571":15,"576":5,"577":5,"57739":5,"5775":5,"577826":5,"578":5,"57878":5,"579":5,"579099761269e":15,"5791":5,"5794":5,"5795":5,"5796":5,"5798":5,"58":[5,12],"581":5,"5812":5,"581558":5,"58166":5,"582":5,"582318":5,"583":5,"58332":5,"583346":5,"583436":5,"5845":0,"584622":5,"585":5,"58504":5,"58518":15,"585985":5,"586":5,"587":[5,14],"588":5,"588396":5,"5885":5,"589":5,"58e":8,"59":[5,6,12],"590":5,"5904":5,"590877":5,"591":5,"5919":5,"592":5,"592309":5,"592733":5,"593":5,"594":5,"59429":5,"59452":9,"595":5,"596":[5,12],"59616":5,"596161":5,"597":5,"5977":5,"598":5,"5982":5,"59867":5,"59e":12,"5dex":[8,12,13,14],"5e":12,"5m":12,"5mb":[8,12],"5msun":[0,7],"5s":12,"6":[0,1,5,6,7,8,9,10,11,12,13,14,15,18,22,39],"60":[5,12,15,30],"600":5,"6000":[0,7],"600000":0,"60007":15,"600258":5,"600593":5,"6008":5,"601":5,"60101":5,"602":5,"603":[5,12],"6032":5,"604":5,"60468":5,"605":5,"60547":5,"6058":5,"606":[5,12],"606169":5,"60636":5,"607":12,"608":[5,12],"608269":5,"608402":18,"608485":5,"608655":5,"60876":5,"609":5,"6094":5,"61":[5,12],"610184":5,"610285":5,"611":[5,12],"61117":5,"611632":5,"611763":5,"611785":5,"612":[5,12],"612281":5,"613":[5,12],"613167":5,"614":[5,12],"6145":5,"615":5,"615165":5,"61521":5,"616":[5,12],"6161":5,"616737":5,"61679":5,"617":[5,12],"617224":5,"6179":5,"618":5,"6181":5,"6182":5,"618382":5,"618445":5,"6185":5,"618705":5,"619":[5,12],"619099":5,"61e":12,"62":[0,5,12],"620":12,"621":14,"6212":5,"62124":18,"621375":5,"6215":5,"62172":11,"622":5,"62200":5,"622081":5,"622494":5,"6225":5,"623":12,"623052":5,"623232":5,"623354":5,"62366":5,"624":[5,12],"624125":5,"6249793":15,"625":[0,5],"62549":5,"626":[5,12],"627748":18,"628":[5,12],"628169":5,"629":[5,12],"63":[5,8,12],"630":12,"631":[5,8],"63153":5,"632":[5,12],"6328":5,"633":5,"633148":5,"633684":5,"634":[5,12],"634261":5,"6344":5,"634667":18,"635":[0,7,12],"63566e":5,"635703":5,"636":12,"636985":5,"637":[5,12],"637666":5,"637754":5,"6379":5,"638":[5,12],"63818":5,"6384":5,"6388":5,"639":[5,12,18],"63923":5,"639951":5,"63e":12,"64":[5,12],"640":[5,12],"6409":5,"641":12,"6413":5,"64137":5,"642":12,"64207":5,"64265":5,"6429":5,"643":12,"64359":5,"6438124832773024":12,"644":[5,12],"644553":11,"64463":5,"645":[5,11,12,18],"645286":5,"645339":5,"645763":5,"646":5,"64611":5,"646273":5,"647":5,"647161":5,"64724":5,"6474":5,"6475":5,"648":5,"648549":5,"6485656144116352":12,"648566":12,"6489":5,"6492":5,"6493":5,"64932":5,"649327":5,"64e":12,"65":[5,12,37],"651":5,"6514":5,"6515":5,"65262":5,"652638":12,"652755":5,"653":[5,15],"6548":5,"6550":5,"6552":5,"655371":5,"6556":5,"6559":5,"656":5,"6562":5,"657":5,"6571":5,"6579":5,"658":5,"6588":5,"659":5,"659393":5,"659448":5,"659469":5,"659526":5,"659581":5,"659743":5,"65976":5,"65e":12,"66":[5,12],"66003":15,"66016":5,"66025":5,"6602514":12,"6604":5,"660415":5,"661":5,"661725":5,"662":5,"6626":5,"663":5,"663251":5,"663976":5,"664":5,"664546":5,"6649":5,"665406":5,"66554":5,"665969":5,"666661":5,"667":5,"6674":5,"668":5,"668328":5,"669":5,"66915":5,"669442":5,"66e":12,"67":[5,12],"670":5,"67023":5,"670337":5,"670413":5,"670422":5,"67059":5,"671":5,"671001":5,"671551":5,"67179":5,"672":5,"67245":5,"673":5,"674":5,"674063083432e":15,"6745":5,"674645":5,"6747":5,"6749":5,"675":5,"675689":5,"6758":5,"67586e":15,"676":5,"676181":5,"676215":5,"6764":5,"6765":5,"677":5,"6771":5,"677623":5,"678":5,"679":[5,8],"679223":5,"6797":5,"67e":12,"68":[5,8,12],"681":5,"681473":5,"681487":5,"6816":5,"682":[5,8],"6822":5,"683":5,"6831":5,"6832":5,"6834":5,"683467":5,"68376":5,"684":[5,8,15],"684890":12,"685":[8,12],"685255":5,"685872":5,"686":5,"686591":5,"687":[5,8],"68746":5,"68748":15,"688":[5,8],"6883":5,"6885":5,"689":5,"689781":5,"689835":5,"68e":12,"69":[5,12],"690":12,"690194":12,"690203":5,"6905":5,"690746":5,"6908":5,"6909":5,"691":[5,8],"691586":5,"692":5,"693":[5,8],"693128":5,"693321":5,"6934":5,"693944":5,"694":[5,8,12],"6944":0,"694517":12,"695":[5,15],"6952":5,"695505":5,"69569":5,"696":5,"696003":18,"696284":5,"697":5,"6975":5,"697827":5,"698":[5,12],"69808":5,"698517":5,"6989":5,"699":5,"6e":[8,12],"6e1":31,"6e5":[0,7],"6m":12,"6mb":[8,12],"6msun":[0,7],"6s":[8,12],"7":[0,1,5,6,7,8,9,11,12,13,14,15,17,18,22,31,39],"70":[5,8,12,15,31],"700":[5,18],"70005":5,"700359":5,"70043":5,"70052":5,"70054":5,"701":5,"702":5,"70235":5,"7028":5,"703":5,"703545":5,"70365":5,"704":5,"70429":5,"7046":5,"705":[5,18],"7052":5,"705715":5,"706":5,"7060":5,"706029":5,"706126":5,"706483":5,"706780":12,"7069":5,"706984":5,"707":[5,12],"708":5,"7085":5,"7087":18,"709":5,"7093":5,"709965":5,"70e":12,"71":[5,12],"710":5,"71025":15,"7106":18,"7107":5,"7108":5,"711":5,"7114":5,"71196":15,"712":5,"712414":5,"7128":15,"713946":5,"714712":5,"716":[5,11],"71617":11,"71662":9,"71746":5,"71818":5,"7184":5,"718549":5,"7188":5,"719058":5,"71e":12,"72":[5,12],"720749":5,"721":5,"7210":5,"7214":5,"7219":5,"722":5,"72386":5,"724":[5,9],"72498e":[9,15],"725":5,"725718":5,"726":18,"726002":5,"72611":5,"72617":5,"7267":5,"7269":5,"727":5,"727196":5,"72764":5,"728":[5,8],"7282":5,"728237":5,"72832e":5,"728797":5,"729":5,"729193":5,"7292":5,"7296":5,"72983":5,"72e":12,"73":[5,12,15],"730":5,"731":5,"7315":5,"7319":5,"732":5,"7322":5,"732244":8,"7324":5,"7326":5,"732818":5,"732953":5,"732983":5,"7335":5,"734":5,"7342":5,"734534":5,"735":5,"7354":5,"7359":5,"736":[5,8],"736112":5,"7365":5,"737":5,"7370":5,"737411":5,"738":5,"7380":5,"7381":5,"738399":5,"7384":5,"7385":5,"738524":5,"7386":5,"739":5,"7390":5,"739962":5,"73e":12,"74":[5,12],"740":5,"740494":5,"740929":5,"7413":5,"741346":5,"741448":5,"7418":5,"7419":5,"742":5,"7420":5,"7421":5,"7422":5,"7423":5,"7424":5,"7425":5,"7426":5,"7427":5,"7428":5,"7429":5,"743":5,"7430":5,"7431":5,"743118":5,"7432":5,"7433":5,"7434":5,"7435":5,"7436":5,"7437":5,"7438":5,"743837":5,"7439":5,"744":5,"7440":5,"7446":5,"7447":5,"7448":5,"7449":5,"745":5,"7450":5,"7451":5,"7452":5,"7453":5,"7454":5,"7455":5,"7456":5,"7457":5,"7458":5,"74583":5,"7459":5,"746":5,"7460":5,"7461":5,"7462":5,"747":5,"7472":5,"748":[5,18],"748832":5,"749":5,"75":[0,5,8,12],"750":[5,6],"7500":5,"75005":5,"750149":5,"750806":5,"7509":18,"751305":5,"752":5,"752134":5,"752438":5,"7527":5,"753":5,"7530":5,"7536":5,"7537":5,"754":5,"754141":5,"7544":5,"755":5,"75508":5,"755323":5,"7554":5,"7557":5,"756":5,"7561":15,"7564":5,"7566":5,"756795":5,"757":[5,8],"757025":5,"7572":5,"758":[5,18],"7582":5,"7589":5,"759":5,"75921":5,"75931":5,"7595":5,"7598":5,"75e":12,"76":[5,12],"760064":5,"760389":5,"7605":5,"7607":5,"761":5,"7612":5,"7613":5,"76134":5,"761478":5,"7617":5,"7619":0,"7620":5,"7622":5,"7626":5,"7629":5,"763":[5,31],"7631":5,"7633":5,"7635":5,"764":5,"76416e":5,"7644":5,"7645":5,"764629":5,"7647":5,"7647737053496777":15,"764989":5,"765":5,"7650":5,"7657":5,"7659":5,"766":5,"766094":5,"7666":5,"7669":5,"767":5,"7671":5,"7675":5,"7677":5,"7678":5,"7679":5,"768":5,"7683":5,"768339":5,"7684":5,"768655":5,"7689":5,"769":5,"7690":5,"7691":5,"769195":5,"7695":18,"76e":8,"77":[5,12,14],"7705":5,"770532":5,"7706":5,"7709":5,"7714":5,"7717":5,"7718":5,"772":5,"7720":5,"7721":5,"772169325355e":15,"7722":5,"7727":5,"7728":5,"77287":15,"773":5,"7730":5,"7731":5,"773166":5,"7734":5,"7735":5,"7736":5,"7737":5,"774":5,"7741":5,"77416":5,"7742":5,"7743":5,"7745":5,"77455":5,"7748":5,"774954":5,"774969":5,"775":[5,18],"7750":5,"77505":5,"7751":5,"7752":5,"77541":5,"7757":5,"7759":5,"776":[5,18],"7761":5,"77624":5,"776263":5,"77631":5,"7764":5,"7765":5,"776523":5,"7766":5,"7767":5,"776818":5,"7769":5,"777":5,"7772":5,"7773":[5,18],"7774":5,"77766":5,"7779":5,"778":5,"7781":5,"7782":5,"7785":5,"7789":5,"779":5,"7790":5,"779197348711e":15,"7792":5,"7795":5,"7797":5,"78":[5,12],"78012":5,"7803":5,"7806":5,"7809":15,"781":5,"781046":5,"78125":0,"7813":5,"7817":5,"7819":5,"782":5,"7823":5,"7825":5,"7826":5,"7827":5,"7828":5,"783":[5,11],"7831":5,"7836":5,"783746":5,"783792":5,"784":5,"7840":5,"7842":5,"7843":5,"7844":5,"7845":5,"7848":5,"78488":5,"784972":5,"785":5,"7852":5,"785539":5,"7856":5,"7858":5,"786":5,"786062":5,"7861":5,"7863":5,"7864":5,"7868":5,"786e":18,"787":5,"7871":5,"787102":5,"787368":5,"7874":5,"7875":5,"7877":5,"787705":5,"7879":5,"788":5,"78817":18,"7882":5,"7883":5,"7886":5,"7887":5,"789":5,"789064":5,"7891":5,"789188":5,"7893":5,"7898":5,"789859":5,"7899":5,"78e":12,"79":[5,12],"7901":5,"7902":5,"7903":5,"7905":5,"7907":5,"7909":5,"79092":15,"790941":5,"791":5,"7911":5,"7912":5,"791274":5,"7913":5,"791478":5,"7916":5,"7918":5,"7919":5,"791991":5,"792":5,"7920":5,"7925":5,"7926":5,"79264":5,"7927":5,"792721":5,"792744":5,"7928":5,"7933":5,"7934":5,"7936":5,"793832":5,"7941":5,"79412":5,"7942":5,"7943":5,"7944":5,"79487":15,"795":[5,31],"795024":5,"7958":5,"796":5,"7960":5,"7962":5,"7964":5,"796455":18,"7965":5,"7967":5,"7968":5,"7969":5,"797":5,"7973":5,"7974":5,"7975":5,"7979":5,"798":5,"7980":5,"7982":5,"7988":5,"799":5,"7990":5,"79911":5,"7996":5,"7997":5,"799889":5,"79e":12,"7a2e4301f5224b2cb8939d2297df0aad":14,"7e":12,"7m":12,"7mb":12,"7s":8,"8":[0,3,5,6,7,8,9,11,12,13,14,15,18,30,31],"80":[5,12,31,37],"800":6,"8000":5,"8001":5,"8003":5,"8004":5,"8008":5,"8009":5,"801":5,"8010":5,"8012":5,"8013":5,"802":5,"802706":6,"802986496151e":15,"803":5,"8031":5,"8034":5,"8039":5,"804":5,"80402":5,"8043":5,"8044":5,"8047":5,"8048":5,"804961":5,"805":5,"8050":5,"8053":5,"8055":5,"805733":5,"8058":5,"8059":5,"80592":15,"806":5,"8060":5,"80602":18,"8062":5,"806431":5,"8065":5,"8066":5,"8067":5,"806722":5,"807":5,"8071":5,"8073":5,"807331":5,"807361":5,"8074":5,"807403":5,"8076":5,"8079":5,"808":5,"808134":5,"809":[5,6],"8091":5,"8095":5,"80954":5,"809662":5,"80e":12,"80msol":31,"81":[5,8,12],"810":8,"8101":5,"8104":5,"8105":5,"81066":15,"8107":5,"8108":5,"8109":5,"811":5,"8111":5,"8115":5,"812":5,"8121":5,"8123":5,"8124797":6,"813":5,"81352":5,"8138":5,"81395":9,"814":5,"8140":5,"8141":5,"814387":5,"81495":15,"81499":15,"815":5,"8151":5,"81529":15,"81536":15,"8155":5,"81562":5,"81563":15,"8158":5,"816":5,"8163":5,"81636":15,"81689":15,"816958":5,"817":[5,11],"81705":5,"817432":5,"817620e":18,"81762e":18,"817843":5,"817888":5,"818":5,"8182":5,"818294":5,"819":5,"8194":5,"8195":5,"81957":15,"8196":5,"819715":5,"8199":5,"81e":12,"82":[5,12],"8200":5,"8202":5,"8205":5,"82061":15,"82064":5,"82074":15,"82088":15,"821":5,"82123":15,"821301":5,"821367":5,"8216":15,"822":5,"82224":5,"8224":5,"82245":5,"82255":15,"823":5,"823059079115e":15,"82325":5,"8234":5,"823767":5,"824494":5,"8245":5,"8247":5,"824848":5,"82486":5,"8249":5,"825":5,"8250":5,"825086":5,"8251":5,"8252":5,"8254":5,"82563":12,"825648":5,"826":5,"8261":5,"8263":5,"82642":5,"826771":5,"8268":5,"826831":5,"827":5,"8271":5,"8276":5,"82797":5,"828":5,"8280":5,"828241":5,"828858":5,"829":5,"829017":5,"8292":5,"8293":5,"8295":5,"829668":5,"829726":5,"829757":5,"8299":5,"82e":12,"83":[5,8,12],"830":[5,18],"8300":5,"8303":5,"830541":5,"831236":5,"832":5,"832981":5,"833":5,"8339":5,"834303":5,"834483":5,"835":5,"8354":5,"836":[5,6],"836621":5,"83672":5,"836783":5,"837":5,"8372":5,"83762":5,"8377":5,"837816":5,"8379":5,"838":[5,6],"838411":6,"838423":5,"83843":5,"839":5,"8399":5,"83e":12,"84":[5,8,12],"840":5,"84029":5,"84071":5,"840796":5,"840994":5,"841":5,"841284":5,"841718":5,"8427e":18,"8429":5,"843":5,"8435":5,"8435e":18,"844":[5,6],"8441":5,"84428":5,"8443":5,"845":5,"84502":5,"8452":5,"845387":5,"845641":5,"846":[5,6],"846045":6,"847":5,"847153":5,"84827":5,"848380621869e":9,"848866":5,"8493":5,"85":[5,8,12,37],"850":5,"850309":5,"851":5,"851646":5,"852":5,"852252":5,"8523":5,"852712":5,"853":5,"8533":5,"854":5,"85406e":5,"8544":5,"8545":5,"854649":5,"855":5,"856":[5,12],"85661":18,"8569":5,"857":5,"8573":5,"857699":5,"8577":5,"858":[5,6],"8585":5,"859":5,"8596":5,"859753":5,"8598":5,"859977":5,"86":[5,8,12],"860402":5,"8605":5,"861":5,"861368":5,"863":[5,8],"86323":5,"86334":5,"8635":5,"8638":5,"865":5,"8653":5,"8654":5,"865806":5,"866":5,"8664":5,"867":5,"86728":5,"8674":5,"8678":5,"86794":5,"868":5,"8683":5,"86878":5,"869":5,"86918":5,"8694":5,"869544":5,"87":[5,12,15],"870":5,"8704":5,"8706":5,"8708":5,"871":5,"872":[5,15],"872312":5,"872316":5,"873":5,"8731":5,"873639":5,"874":5,"874638":5,"875":5,"876":5,"876084":5,"876382":5,"877":5,"877963":5,"878":5,"87813":5,"878253":5,"879":5,"8791":5,"87e":12,"88":[5,12],"880":5,"8805":5,"880528":5,"881":5,"8813":5,"882017":5,"8828":5,"883":5,"883252":5,"88343":5,"8837":5,"884":5,"8840":5,"8843":5,"88441":5,"884461":5,"8846":5,"8848":5,"885":5,"8851":5,"8853":5,"8855":5,"885537":5,"8856":5,"8858":5,"88581":5,"886":5,"8860":5,"8862":[5,15],"8864":5,"8866":5,"8867":5,"8868":5,"8869":5,"887":5,"8870":5,"8871":5,"8872":5,"8873":5,"8874":5,"8875":5,"8876":5,"8877":5,"8878":5,"888":5,"8880":5,"8881":5,"888123":5,"8882":5,"8884":5,"8886":5,"888613":5,"8887":5,"8889":5,"889":5,"8891":5,"8892":5,"8893":5,"8894":5,"8896":5,"8897":5,"8898":5,"8899":5,"89":[5,6,12,14],"890":5,"8901":5,"8902":5,"8903":5,"8904":5,"8906":5,"8907":5,"8908":5,"8909":5,"891":5,"8910":5,"891056":5,"8911":5,"8912":5,"8917":5,"892":5,"89211":18,"8924":5,"8926":5,"893":5,"8934":5,"8935":5,"8939":5,"893941":5,"894":5,"894041":5,"8941":5,"8949":5,"895":5,"895821":5,"896":5,"8961":5,"896110e":18,"896196":5,"896286":5,"8972":5,"8975":5,"897612":5,"898":5,"8982":5,"898786":5,"899":5,"8992":5,"899464":5,"8a7d52edc59346ce991063d9e05e9ba7":6,"8bc1eafea1c34b05894c1618639d8c37":15,"8e":[0,7],"8m":[8,12],"8mb":12,"8s":[8,12],"9":[0,5,6,7,8,9,11,12,14,15,18],"90":[5,8,12],"900":5,"901":5,"901988":5,"902":5,"903":5,"9032":5,"9036":5,"9038":5,"904":5,"9043":5,"9046":5,"9047":5,"905":5,"905335716621e":15,"9057":5,"906":5,"906059":5,"906299":5,"90695":5,"907":5,"9071":5,"90716":5,"9073":5,"9074":5,"908":5,"9087":5,"909":5,"9093":5,"9098":5,"90e":12,"91":[5,8,12],"910419":5,"9105":5,"910817":5,"910981":5,"911":5,"9110":5,"911093":5,"9113":5,"912":5,"912238":5,"912283":5,"912289":5,"912327":5,"9127":5,"912919":5,"913":5,"9139":5,"914":5,"9147":5,"9148":5,"915":[5,8],"915148":5,"915221":5,"9153":5,"91548":5,"916":5,"916093":5,"916207":5,"917":5,"917439":5,"9179":5,"918":5,"918543":5,"9189":5,"919":5,"9196":5,"91e":12,"92":[5,12],"920":5,"9203":5,"9206":5,"920832":5,"921":5,"9214":5,"922":5,"922199":5,"923":5,"92382":5,"924":5,"924056":18,"925":5,"9253":5,"9255":5,"9256":5,"925761":5,"926":5,"9263":5,"9264":5,"927":5,"929":5,"929511":5,"92995":5,"92e":12,"93":[5,12,15],"930":[5,14],"930282":5,"9304":5,"93044":5,"9308":5,"9309":5,"930943":5,"931":5,"9310":5,"932":5,"9323":5,"932839":5,"933":5,"9339":5,"934":5,"9342":5,"935":5,"935069":5,"9351":5,"9357":5,"935816":5,"935920339886e":15,"936":5,"936532":5,"936762":5,"937":5,"9373e":18,"938":5,"938568":5,"938576":5,"93898":5,"939":5,"939376":5,"939378":5,"939757":5,"93e":12,"94":[5,6,8,12,19],"941":[5,8],"9411":5,"941478":5,"942":5,"942154":5,"9423":5,"9427":5,"942854":5,"943":5,"9436":15,"944":5,"9445":5,"94464":5,"945":5,"9452":5,"946":5,"946468":5,"946757":5,"947":5,"9471":5,"947719":5,"947774":5,"94797":5,"948":5,"949":5,"95":[5,12,14],"950":5,"9505":5,"950733":5,"951":5,"951344":5,"951597":5,"952":5,"9524":5,"952496":5,"953":5,"953182":5,"9537":5,"953738":5,"953798":5,"954":5,"954624":5,"9548":5,"954848":5,"955":5,"9557":5,"956":5,"9561":5,"956619":5,"957":5,"9573":5,"95783":5,"957894":5,"958":5,"959":5,"959422":5,"959492":5,"9595":5,"9598":5,"95e":8,"96":[5,6,8,12],"960":5,"9603":5,"9606":5,"960734":5,"961":5,"9610":5,"96112":5,"96161":5,"962":5,"962482":5,"962876":5,"963":[5,8],"963621764679e":15,"964":5,"9648":5,"965":5,"9650":5,"965167":5,"96557e":5,"966":5,"966681":5,"967":5,"968":5,"969":5,"96963":5,"96e":12,"97":[5,12],"970":5,"97008":15,"970206":5,"970505":5,"970783":5,"971":5,"971686":5,"971941":5,"972":5,"9725":5,"973":[5,12],"973135":5,"97316":5,"9739":5,"9739752":8,"974":5,"9743":5,"9749":5,"975":5,"9757":5,"9758":5,"975864":5,"976":5,"976041":5,"977":5,"9779":5,"97797":5,"978":5,"979":5,"97923e":15,"9794":5,"9797":5,"97e":[8,12],"98":[5,12,14],"98061":5,"98081":5,"98096":5,"981":5,"981292":5,"9814":5,"981555":5,"9816":5,"982":5,"9825":5,"983":5,"983229":5,"984":[5,14],"9841":5,"9842":5,"985":5,"9851":5,"985359":5,"9859":5,"986":[5,8],"9869":5,"987":5,"988":5,"988755":5,"989":5,"98e":12,"99":[5,12,14],"990":5,"9900":5,"9902":5,"991":5,"9912":5,"991224":5,"991657":8,"99191":9,"99192":9,"99194":9,"992":5,"99203":5,"9927":[5,11],"993":5,"994":5,"994118":5,"995":5,"995631":14,"995687":5,"995824":5,"996":[5,8],"996798":5,"997":5,"9977":5,"997751":5,"998":5,"998023":5,"99808":5,"9983":11,"998563":5,"999":5,"999122":5,"9999999999999998":14,"99e":12,"9e":8,"9m":12,"9mb":[8,12],"9s":[8,12],"abstract":40,"boolean":[0,2,7,19,20,21,24,38,42],"break":[0,7],"case":[0,2,4,7,15,19,21,22,25,30,37],"catch":[6,8,11,12,13,14,15,18,19,21],"char":21,"class":[2,3,19,22,23],"const":[6,8,12,13,14,15],"default":[0,1,2,3,6,7,9,10,12,13,14,15,18,19,20,21,25,26,28,29,30,31,33,36,37,38,40],"do":[0,1,2,5,6,7,8,9,12,13,14,15,18,20,21,22,24,25,30,31,33,37,39,42],"export":[3,15,19,20,30],"final":[5,8,12,13,14,18],"float":[0,2,3,5,7,10,11,16,19,31,32,37,42],"function":[0,1,2,3,4,5,6,8,9,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42],"import":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,34],"int":[0,1,2,5,7,12,15,19,20,21,25,31,32,33,34,37,42],"krtickov\u00e1":[0,7],"kub\u00e1t":[0,7],"long":[0,6,7,8,15,21,27,30,34,38,41],"new":[0,2,6,7,8,11,12,13,14,15,20,25,30,31,34],"null":[0,6,7,8,15,19],"paczy\u0144ski":[0,7],"public":[12,13,14,15,22],"return":[1,2,3,5,6,7,8,10,11,12,13,14,15,18,19,20,21,24,25,26,27,28,29,30,31,33,34,36,37,38,40,42],"short":[0,6,7,8,12,13,14,41],"super":[0,7],"switch":[0,7],"throw":[22,39],"true":[0,2,3,5,6,7,8,10,12,13,14,15,17,18,19,20,21,24,25,27,29,30,33,34,36,37,38],"try":[0,2,5,7,8,11,12,13,14,15,22,25,30,34,39],"void":9,"while":[0,5,6,7,8,12],A:[0,2,4,7,15,28,42],And:[22,33,39,42],As:[0,6,7,8,11,12,13,14,15],At:[6,15],But:11,By:[0,6,7,12,13,14,15,18,21],For:[0,2,7,9,11,12,13,14,24],If:[0,2,6,7,8,12,13,14,15,19,20,21,22,24,25,26,27,29,30,31,34,36,39,40,42],In:[0,2,6,7,8,9,10,11,12,13,14,15,18,21,30,37],It:[0,6,7,8,11,12,13,14,15,16,18,21,22,30,33,39],Its:21,NO:21,NOT:[0,7,34,37,40],No:[5,7,21,22,39],Not:[6,8],OR:[2,18],On:[0,7,15,19,30],One:[0,7,21],Or:[15,18],Such:8,That:[0,6,7],The:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,24,25,27,28,29,30,31,32,34,36,37,39,40],Then:[2,6,19,22,39],There:[6,7,8,9,10,11,12,13,14,15,16,18,20,21,24,31,33],These:[6,7,12,13,14,15,19,21,24,25],To:[0,7,11,12,13,14,15,21,22,30,31,39],Will:[0,7,19,21,40],With:33,_1:[12,13,14],_:[6,8,12,13,14,21,33],__:15,__arg_begin:7,__attribute__:9,__delitem__:28,__enter__:19,__exit__:19,__getitem__:[2,28],__iadd__:2,__setitem__:28,_actually_evolve_system:21,_binary_c_bind:[7,9,11,16,38,42],_binary_c_config_execut:21,_binary_c_dir:21,_binary_c_execut:21,_binary_c_shared_librari:21,_commandline_input:21,_count:21,_custom_logging_shared_library_fil:21,_end_time_evolut:21,_errors_exceed:21,_errors_found:21,_evolution_type_opt:21,_failed_count:21,_failed_prob:21,_failed_systems_error_cod:21,_generate_grid_cod:21,_grid_vari:[13,14,21,34],_kill:21,_loaded_moe2017_data:21,_main_pid:21,_moe2017_json_data:21,_population_id:21,_pre_run_setup:20,_probtot:21,_process_run_population_grid:21,_queue_don:21,_repeat:21,_restart_dir:25,_set:20,_set_moe2017_grid:21,_start_time_evolut:21,_store_memaddr:21,_system_gener:21,_total_mass_run:21,_total_probability_weighted_mass_run:21,_total_starcount:21,_zero_prob_stars_skip:21,a173:[0,7],a_in:5,a_out:5,ab:[0,19],abat:[0,7],abbrevi:41,abl:7,about:[4,6,8,12,13,14,15,19,20,21,25,30,33,42],abov:[0,6,7,9,11,13,14,15,19,20,31],abridg:[7,9],absolut:[0,7,19,37],abund:[0,7],ac:[6,15],acceler:[0,7],accept:[15,19,26],access:[2,9,11,12,13,14,15,21,25,30],accord:[0,6,7,30,31,37],accordingli:[11,13,14,15],account:[0,7,21,31],accret:[0,5,7],accretion_limit_dynamical_multipli:[0,7],accretion_limit_eddington_lmms_multipli:[0,7],accretion_limit_eddington_steady_multipli:[0,7],accretion_limit_eddington_wd_to_remnant_multipli:[0,7],accretion_limit_thermal_multipli:[0,7],accretor:[0,5,7,42],accur:[12,13,14],acquir:5,act:[0,7,13,14,15,21],activ:[0,7,21],actual:[0,3,6,7,8,9,11,12,13,14,15,20,21,22,24,25,29,31,37,39],ad:[2,4,6,8,11,30,34],adam:[0,7],adapt:[0,7,13,14],add:[0,2,6,7,8,9,11,12,13,14,15,20,21,24,31,34,35,37],add_ensemble_metadata:35,add_grid_valu:37,add_grid_vari:[6,8,12,13,14,15,34],add_system_metadata:35,addit:0,address:[1,7,9,21,42],admittedli:24,adress:[7,9,42],advis:9,af:5,affect:[0,6,7],after:[0,6,7,8,9,12,13,14,15,20,21,30,34,37],ag89:[0,7],ag:[0,4,5,6,7,8,14,22,37],again:[2,3,6,10,11,19,21],against:24,agb:[0,6,7],agb_3dup_algorithm:[0,7],agb_core_algorithm:[0,7],agb_core_algorithm_default:0,agb_core_algorithm_hurlei:0,agb_core_algorithm_karaka:0,agb_luminosity_algorithm:[0,7],agb_luminosity_algorithm_default:0,agb_luminosity_algorithm_hurlei:0,agb_luminosity_algorithm_karaka:0,agb_radius_algorithm:[0,7],agb_radius_algorithm_default:0,agb_radius_algorithm_hurlei:0,agb_radius_algorithm_karaka:0,agb_third_dredge_up_algorithm_default:0,agb_third_dredge_up_algorithm_hurlei:0,agb_third_dredge_up_algorithm_karaka:0,agb_third_dredge_up_algorithm_stancliff:0,ago:6,al:[0,7,31,42],albedo:[0,7],algorithm:[7,22],algothim:[0,7],all:[0,1,2,3,6,7,8,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,30,31,33,37,38,39,40],all_info:20,alloc:[7,37],allow:[0,2,7,9,17,18,21,28,31],allow_nan:3,almost:21,along:[0,21,22,33,39],alpha:[0,5,7],alpha_:8,alpha_c:[0,5,6,7,8],alpha_ej:5,alphacb:[0,7],alreadi:[6,15,16,25,30,34],also:[0,4,5,6,7,8,9,12,13,14,15,18,19,20,21,22,25,27,30,33,38,39,42],alter:[8,12,34],altern:[0,7,21],although:16,alwai:[0,7,21,31,37],amanda:[0,7],amax:31,amin:31,amount:[0,2,7],amp:[6,7,8],an:[0,2,3,6,7,8,10,11,12,13,14,15,18,19,21,22,25,26,29,30,31,32,33,34,35,36,37,40],analys:40,analyt:[6,8,12,13,14,15,20,22,23],analyz:11,andrew:[22,39],andronov:[0,7],angelou_lithium_cheb_decay_tim:[0,7],angelou_lithium_cheb_massfrac:[0,7],angelou_lithium_cheb_tim:[0,7],angelou_lithium_decay_funct:[0,7],angelou_lithium_decay_tim:[0,7],angelou_lithium_eagb_decay_tim:[0,7],angelou_lithium_eagb_massfrac:[0,7],angelou_lithium_eagb_tim:[0,7],angelou_lithium_gb_decay_tim:[0,7],angelou_lithium_gb_massfrac:[0,7],angelou_lithium_gb_tim:[0,7],angelou_lithium_hg_decay_tim:[0,7],angelou_lithium_hg_massfrac:[0,7],angelou_lithium_hg_tim:[0,7],angelou_lithium_lmms_decay_tim:[0,7],angelou_lithium_lmms_massfrac:[0,7],angelou_lithium_lmms_tim:[0,7],angelou_lithium_ms_decay_tim:[0,7],angelou_lithium_ms_massfrac:[0,7],angelou_lithium_ms_tim:[0,7],angelou_lithium_tpagb_decay_tim:[0,7],angelou_lithium_tpagb_massfrac:[0,7],angelou_lithium_tpagb_tim:[0,7],angelou_lithium_vrot_trigg:[0,7],angelou_lithium_vrotfrac_trigg:[0,7],angular:[0,7,16,24],ani:[0,3,7,11,15,19,20,22,25,31,34,38,39],anoth:[0,7,25],ansi:[0,7,19],ansi_colour:[0,7],anyth:[0,7,12,13,14,15,19,21,25,37],anywai:[11,15,31,34],api:[0,4,19,22,25],api_log_filename_prefix:[0,5,7,11,16],appear:21,append:[1,2,6,11,12,13,14,16],appli:[0,7],apply_darwin_radau_correct:[0,7],appropri:[0,7,15,21,25,28,29,30,34,36],approxim:[0,6,7,8],ar:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,24,28,29,30,31,33,34,36,37,38,39,42],arang:18,aren:[21,31],arenou2010_binary_fract:31,arg:[5,7,15,19,28,31,32],arg_dict:[2,19],argh:16,argopt:[0,7],argpair:[10,38],argstr:[7,9,11,16,18],argument:[0,2,7,11,13,15,16,17,18,19,20,21,25,26,31,38,40],argument_of_periastron:[0,7],argument_of_periastron_quadrupl:[0,7],argument_of_periastron_tripl:[0,7],aritif:8,around:[0,7,9,11,17,18],arrai:[11,15,18,19,21,31,34,37],arrow:[0,7],artefact:[13,14],artifici:[0,7],artificial_accretion_end_tim:[0,7],artificial_accretion_ignor:0,artificial_accretion_start_tim:[0,7],artificial_angular_momentum_accretion_r:[0,7],artificial_mass_accretion_r:[0,7],artificial_mass_accretion_rate_by_stellar_typ:[0,7],artificial_orbital_angular_momentum_accretion_r:[0,7],arxiv:[0,7,31],ask:[0,7,42],asplund:[0,7],assign:[12,13,14,15,34],associ:[6,8,12,13,14,29,36],assum:[0,6,7,8,12,16,24,37],ast871:[0,7],astronomi:[0,7],astrophys:[8,13,14],astropi:[22,24,39],asymptot:6,atom:38,attempt:[3,19,20],au:16,auto:[1,23],autogen_c_logging_cod:[1,9,18],autogener:18,automat:[0,1,7,9,15,17,18,21,22,28,30,33,34,39],autoviv:2,autovivif:2,autovivificationdict:2,avaibl:[22,39],avail:[0,7,8,9,12,13,14,15,19,21,22,27,39],avoid:[6,7,8],awai:[0,7,12],ax:18,axessubplot:17,axi:[0,7,24],b6213f2eb7f94d3196cf966b7b76b9f9:14,b:[21,30],b_1:[0,7],b_2:[0,7],b_3:[0,7],b_4:[0,7],b_inclination1:[0,7],b_inclination2:[0,7],b_inclination3:[0,7],b_inclination4:[0,7],back:[0,2,5,7],background:18,backward:[0,7],bagb:[0,7],bar:[13,14],barn:[0,7],base:[0,2,3,7,8,12,13,14,15,19,20,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,42],base_filenam:[15,20],bash:21,basic:[15,30],batch:21,batchmod:[0,7],batchnam:21,bb:[0,7],bbox_inch:18,beasor:[0,7],becaus:[0,2,6,7,8,11,12,13,14,16,18,20,21,22,28,30,31,39],becom:[0,1,2,5,7,9,13,14,16,19,21],been:[0,2,7,10,20,21,25,27,29,36],befor:[0,2,5,6,7,8,12,13,14,15,20,21,22,30,31,39],beg_bss:5,beg_rch:5,beg_symb:5,begin:6,behaviour:[2,6,12,13,14,15,40],behind:18,being:[29,36],belczynski:[0,7],below:[0,4,6,7,8,9,12,13,14,15,21,31],berro:[0,7],bertolami:[0,7],best:[5,20,21],beta:[0,7],beta_reverse_nova:[0,7],beta_reverse_novae_geometri:0,better:[0,2,4,7,15,25,29,30,36,42],between:[0,7,21,31,37],bewar:[15,30,34],beyond:16,bh:[0,5,8],bh_belczynski:[0,5,7],bh_bh:5,bh_fryer12_delai:[0,7],bh_fryer12_rapid:[0,5,7],bh_fryer12_startrack:[0,7],bh_hurley2002:[0,7],bh_prescript:[0,5,7],bh_spera2015:[0,7],bhbh:5,big:[0,7,21],biinari:15,bin:[0,7,8,12,13,14,19,21,22,37,39],bin_data:[8,12,13,14,19],binari:[4,7,8,11,13,14,15,21,22,24,31,34,39,42],binary_c2:[22,39],binary_c:[1,2,3,4,6,8,12,13,14,16,19,20,21,24,28,30,31,34,38,40],binary_c_api_funct:9,binary_c_cal:[15,30],binary_c_default:15,binary_c_grid:[6,8,12,15],binary_c_grid_25014bc73b334765a1c09a4e4a97ed66:12,binary_c_grid_26171201413c43f5b91552a374879940:6,binary_c_grid_2b66f805db424c48a1d29c45092b6e3c:8,binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f:15,binary_c_grid_8a7d52edc59346ce991063d9e05e9ba7:6,binary_c_grid_f4e5925effeb42e69b5be956f400ae41:6,binary_c_inline_config:1,binary_c_log_cod:[1,9,11,17,18],binary_c_macro:[0,7],binary_c_output:3,binary_c_paramet:[0,6,12,13,14,15],binary_c_python:[6,7,8,11,12,13,14,15,19],binary_c_python_api:18,binary_c_task_:[0,7],binary_c_write_log_cod:1,binary_grid:[0,7],binary_star:42,binaryc:[1,19,40],binaryc_config:1,binaryc_json_seri:3,binarycdecod:3,binarycencod:3,binarycpython:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42],binarygrid:[12,13,14,15],bind:[0,7,9,11,16],binned_log_luminos:[12,13,14],binned_post_period:8,binned_pre_period:8,binwidth:[8,12,13,14,19],birth:[0,7],bit:[6,12],bivari:[0,7],black:[0,4,6,7,22],black_hol:0,block:[15,34],bloecker:[0,7],blog:1,boltzman:24,boltzmann:[0,7],bondi:[0,7],bondi_hoyle_accretion_factor:[0,7],bool:[2,15,19,20,24,30,33,34,38],born:[0,6,7,12,13,14],bosswissam:19,both:[0,2,7,12,13,14,15],bottom:[0,7,15,34],bottomcod:[6,8,15,34],bound:[5,31,37],boundari:31,brake:[0,7],branch:[0,6,7,19,38],branch_david:0,branchcod:[6,8,15,34],branchpoint:[6,8,15,34],breakup:[0,7],brighten:[13,14],broken:[0,7],bse:[0,7,9,15,31],bse_opt:[6,8,11,12,13,14,15,20,37],bsf:[0,7],buffer:[0,7,30],build:[0,1,4,7,19,25,31],build_q_tabl:31,built:[0,1,10,19,22,39],burn:[0,7],busso:[0,7],bye:[0,7],bz2:30,c13_eff:[0,7],c2:31,c:[0,1,5,7,9,11,15,40],c_auto_log:21,c_log:0,c_logging_cod:[6,8,9,11,12,13,14,15,21],cach:[20,21,22,23,27,33,37],cache_dir:[21,37],cachedir:37,cachetool:[21,28],cachetyp:28,calc_e_integr:31,calc_p_integr:31,calc_period_from_sep:42,calc_sep_from_period:[8,12,15,42],calc_total_probden:31,calcul:[0,2,6,7,8,12,13,14,15,19,21,27,31,34,42],calculate_constants_three_part_powerlaw:31,call:[0,1,2,7,11,13,14,15,16,19,20,21,24,25,29,30,32,34,36,37,38,40],call_binary_c_config:19,calls_filenam:15,can:[0,1,2,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,24,25,30,31,34,39,40,42],candid:8,cannot:[6,9,28,30,33],canon:21,cap:[0,7],capit:[12,13,14],capsul:[1,7,19],captur:[0,7,19],carbon:[0,5,6,7],carbon_oxygen_white_dwarf:0,care:[6,12,13,14,21],carlo:[0,7,21],carrasco:[0,7],carri:[0,7],carriag:[19,21],cast:[18,19],catchtim:19,categor:7,categori:[7,15],categoris:19,caught:[11,19,38],caus:[5,12,42],cbdisc:[0,7],cbdisc_albedo:[0,7],cbdisc_alpha:[0,7],cbdisc_eccentricity_pumping_dermin:0,cbdisc_eccentricity_pumping_method:[0,7],cbdisc_eccentricity_pumping_non:0,cbdisc_end_evolution_after_disc:[0,7],cbdisc_fail_ring_inside_separ:[0,7],cbdisc_gamma:[0,7],cbdisc_init_djdm:[0,7],cbdisc_init_dm:[0,7],cbdisc_inner_edge_strip:[0,7],cbdisc_inner_edge_stripping_timescal:[0,7],cbdisc_kappa:[0,7],cbdisc_mass_loss_constant_r:[0,7],cbdisc_mass_loss_fuv_multipli:[0,7],cbdisc_mass_loss_inner_l2_cross_multipli:[0,7],cbdisc_mass_loss_inner_viscous_accretion_method:[0,7],cbdisc_mass_loss_inner_viscous_accretion_method_equ:0,cbdisc_mass_loss_inner_viscous_accretion_method_gerosa_2015:0,cbdisc_mass_loss_inner_viscous_accretion_method_non:0,cbdisc_mass_loss_inner_viscous_accretion_method_young_clarke_2015:0,cbdisc_mass_loss_inner_viscous_angular_momentum_multipli:[0,7],cbdisc_mass_loss_inner_viscous_multipli:[0,7],cbdisc_mass_loss_ism_pressur:[0,7],cbdisc_mass_loss_ism_ram_pressure_multipli:[0,7],cbdisc_mass_loss_xray_multipli:[0,7],cbdisc_max_lifetim:[0,7],cbdisc_minimum_evaporation_timescal:[0,7],cbdisc_minimum_fr:[0,7],cbdisc_minimum_luminos:[0,7],cbdisc_minimum_mass:[0,7],cbdisc_no_wind_if_cbdisc:[0,7],cbdisc_outer_edge_strip:[0,7],cbdisc_outer_edge_stripping_timescal:[0,7],cbdisc_resonance_damp:[0,7],cbdisc_resonance_multipli:[0,7],cbdisc_torquef:[0,7],cbdisc_viscous_l2_coupl:[0,7],cbdisc_viscous_photoevaporative_coupl:[0,7],cbdisc_viscous_photoevaporative_coupling_inst:[0,7],cbdisc_viscous_photoevaporative_coupling_non:[0,7],cbdisc_viscous_photoevaporative_coupling_visc:[0,7],ce:[0,7,8],cee:[0,7,8],cell:[7,12,13,14,15],cemp:[0,7],cemp_cfe_minimum:[0,7],centr:[8,15,34],central:16,central_object:[0,7],centralis:40,certain:[21,22,39],certainli:21,cf:[0,7],cf_amanda_log:[0,7],cflag:[22,39],chabrier:31,challeng:[13,14],chandrasekhar:[0,7],chandrasekhar_mass:[0,7],chang:[0,1,2,5,6,7,8,9,12,13,14,15,18,19,20,21,22,33,34,39],chapter:[0,21,23],charact:[19,21,30],cheb:[0,7],check:[0,6,7,8,12,13,14,15,18,19,20,21,25,29,30,31,33,36,40,42],check_circular:3,check_if_in_shel:19,chemic:[0,7,37],chen:[0,7],child:19,child_dir:19,choic:[0,7,24,31],choos:[0,6,7,8,9,12,18,24,25,30],chose:11,chosen:[12,13,14,15,34],chunk:[29,36],ci:16,circular:[0,5,7],circumbinari:[0,7],circumstanti:[0,7],cl:3,claei:[0,7],clark:[0,7],clean:[1,6,11,13,14,20],clean_up_custom_logging_fil:20,clear:[13,14,38],clearli:[13,14],clock:19,close:[0,5,7,8,13,14,16,30],closedir:30,closefd:30,closer:5,cloud:[0,7],clusterid:[21,29],cmdline_str:32,co2:[13,14],co:[0,5,7],coalesc:5,code:[0,1,6,7,8,9,11,12,13,14,15,17,18,20,22,24,29,30,31,33,34,36,37,39,40,42],collaps:[0,7],collapsar:[0,7],collect:42,collid:42,color:[19,24],color_by_index:24,colour:[0,7],colour_log:[0,7],column:[6,8,11,15,16,18,24],column_nam:11,com:[1,19,31],combin:[1,2,9,19,20,21],combine_ensemble_with_thread_join:21,combined_output_dict:35,come:[2,22,37,39],comenv:[5,8],comenv_bs:0,comenv_count:8,comenv_disc_angmom_fract:[0,7],comenv_disc_mass_fract:[0,7],comenv_ejection_spin_method:[0,7],comenv_ejection_spin_method_do_noth:[0,7],comenv_ejection_spin_method_sychron:[0,7],comenv_ejection_spin_method_synchron:0,comenv_merger_spin_method:[0,7],comenv_merger_spin_method_breakup:0,comenv_merger_spin_method_conserve_angmom:[0,7],comenv_merger_spin_method_conserve_omega:[0,7],comenv_merger_spin_method_specif:[0,7],comenv_ms_accret:[0,7],comenv_ms_accretion_fract:[0,7],comenv_ms_accretion_mass:[0,7],comenv_nandez2016:0,comenv_nelemans_tout:0,comenv_ns_accret:[0,7],comenv_ns_accretion_fract:[0,7],comenv_ns_accretion_mass:[0,7],comenv_post_eccentr:[0,7],comenv_prescript:[0,7],comenv_splitmass:[0,7],comenv_undef:0,comma:37,command:[0,1,7,15,20,21,22,30,39],command_lin:21,commandlin:15,comment:[15,25,29,36],common:[0,4,5,6,7,9,11,12,13,14,15,22],compact:[8,15],companion:[0,5,7,18,30],compar:[0,7,8,12,15,21],compens:[13,14],compil:[1,9,15,18,22,39],compile_shared_lib:1,complaint:30,complet:[6,8,12,13,14,15],complex:[2,8,9,15,17,18,21],compon:[19,24],compress:[3,30],compress_pickl:30,compression_typ:30,compresslevel:30,comput:[0,6,7,12,13,14],concaten:2,conceptu:12,concurr:21,condit:[6,8,9,12,13,14,15,17,18,34],condor:[21,22,23,25],condor_bash:21,condor_batchnam:21,condor_check_requir:29,condor_clusterid:[21,29],condor_d:21,condor_dir:[21,25,29,36],condor_env:21,condor_extra_set:21,condor_getenv:21,condor_grid:29,condor_initial_dir:21,condor_kill_sig:21,condor_memori:21,condor_njob:21,condor_outfil:29,condor_postpone_join:21,condor_postpone_submit:21,condor_process:[21,29],condor_pwd:21,condor_q:21,condor_queue_stat:29,condor_requir:21,condor_should_transfer_fil:21,condor_snapshot_on_kil:21,condor_status_fil:29,condor_stream_error:21,condor_stream_output:21,condor_submit:21,condor_univers:21,condor_warn_max_memori:21,condor_when_to_transfer_output:21,condorid:29,condorpath:29,config:[1,19,21,22,39],config_fil:1,configur:[6,11,12,13,14,15,18,21,26,31],confirm:30,conjunct:10,conserv:[0,7],consid:[0,1,2,7,12,13,14,20,21,24,32,33,37],const_distribut:31,const_dt:37,const_dt_cach:37,const_int:37,const_linear:[34,37],const_rang:37,constant:[0,2,7,13,14,24,31,37],construct:[0,1,6,7,8,11,12,13,14,16,18,21],contact:5,contain:[0,1,2,3,7,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],content:[2,3,7,19,20,25],context:19,continu:[15,29,34,36],contribut:[22,39],control:[0,6,7,12,13,14,15,21],conv_time_unit:19,convect:[0,7],conveni:19,converg:[0,7],convers:2,convert:[2,3,6,8,16,19,20,30,31,37],convert_byt:19,convert_float_kei:3,convfloat:19,convfrac:5,cool:[0,6,7],copi:[0,7,8,13,14,21,42],core:[0,6,7,8,12,13,14,15,21,24],core_co:9,core_h:9,core_helium_burn:0,core_mass:[0,7,9],correct:[0,7,11,20,24,31,32,42],correctli:[11,18,22,39],correspon:[29,36],correspond:[15,24,29,34,36],corretor:[0,7],cosmic:31,cosmic_sfh_madau_dickinson2014:31,cost:[12,13,14],could:[0,3,7,13,14,15,18,19,38],count:[2,5,6,18,19,21],count_keys_recurs:2,counter:21,coupl:[0,4,7],cours:[6,24],cover:[10,12,13,14],coverag:[22,39],cowd:[0,7],cpu:[0,6,7,8,12,13,14,15,21,27],cpu_tim:27,cpython:7,crap_paramet:[0,7],creat:[3,6,8,9,11,12,13,14,15,19,20,27,30,31,34,36],create_and_load_logging_funct:[1,9,18],create_arg_str:19,create_hdf5:19,creation:7,critic:[0,7],cross:[0,7],crunch:[6,8,12,13,14],cs1:16,ctype:1,cube:12,cubic:12,cuntz:[0,7],current:[0,2,7,8,9,12,13,14,19,22,25,30,39],curv:[8,13,14],custom:[0,1,2,3,4,6,7,8,11,12,13,14,15,19,20,21,22,24,31,40],custom_format:[2,19],custom_gener:21,custom_log:[11,18,20,21],custom_logging_cod:[1,9,11,17,18,40],custom_logging_func_memaddr:[7,9,21],custom_logging_funct:[9,11,15,17,18,21,22,23],custom_logging_info:20,custom_logging_memaddr:9,custom_logging_print_stat:11,custom_logging_stat:[6,8,12,13,14,15],custom_opt:[6,11,12,13,14,15,20,30],custom_output_funct:9,custom_sort_dict:2,custom_tmp_dir:1,customis:24,cut:18,cvode:[0,7],d48r:18,d:[0,1,5,6,7,8,9,11,12,15,16,19,37],d_:19,dai:[0,5,7,8,9,11,12,15,18,31,42],damp:[0,7],darwin:[0,7],dat:[0,15,19],data:[0,3,5,6,7,8,11,12,13,14,15,16,18,19,21,25,26,30,31,34,40,42],data_dict:31,data_dir:[15,19,20,21,30],datadir:[15,30],datafram:[6,8,11,12,13,14,16,17,18,24],dataio:[20,22,23],datalinedict:[6,8,12,13,14,19],datamodel:2,dataset:[15,21,25,26],date:[19,20,21],david:[0,2,18,22,39],david_logging_funct:0,dd7:[0,7],de:[0,5,7],deactiv:[0,7],deal:[3,11],dear:5,death:[0,7],debug:[0,5,6,7,8,12,13,14,15,21,32],decai:[0,7],decid:[0,2,7,9,17,18,19,20,21,25],decod:3,decompress:3,decreas:[0,7],deepcopi:8,deeper:[15,34],def:[5,6,8,11,12,13,14,15,18],default_cache_dir:[28,33],default_to_metal:[0,7],defaultdict:19,defer:[0,7],defin:[0,1,7,15,16,20,24,31,34],definit:[1,12,13,14,42],degener:[0,7],degenerate_core_helium_merger_ignit:[0,7],degenerate_core_merger_dredgeup_fract:[0,7],degenerate_core_merger_nucsyn:[0,7],degner:[0,7],degre:[0,7],del:8,delai:[0,7,21],delet:[28,34],delete_grid_vari:34,delta:[19,37],delta_mcmin:[0,7],demonstr:8,den:[0,7],densiti:[12,13,14,31],depend:[0,6,7,19,21,22,24,31,39],deprec:[0,7,20],depth:37,dermin:[0,7],describ:[0,7,18,21,31],descript:[0,7,10,19,21,26,31,33],design:[2,24],desir:[0,7],destruct:[15,34],detail:[0,6,7,11,19,21],detect:[0,5,7,8,16],detector:5,determin:[0,7,9,12,13,14,15,20,31,34,42],deton:[0,7],dev:[0,7],develop:1,development_requir:[22,39],deviat:[31,37],dewi:[0,7],dex:[0,7,8,37],df2:18,df:[16,17,18,24],di:[15,22,26,31],diagnost:21,diagram:[0,4,7,22,24],dickonson:31,dict2:2,dict:[1,3,5,6,11,12,13,14,15,16,19,20,21,22,23,25,26,28,30,31,33,38,41],dict_1:2,dict_2:2,dict_kei:[6,10,11],dictionari:[1,2,3,4,6,8,12,13,14,15,19,20,21,24,26,27,30,31,33,34,38,41],did:[19,22,39],differ:[0,6,7,8,12,13,14,15,18,19,21,22,24,37,39],differenti:19,dimmer:[0,7,12],dir:[22,29,39],dir_ok:30,direct:[0,7,20],directli:[2,11,21,25,30],director:21,directori:[0,4,7,15,19,20,21,22,25,28,29,30,33,36,39],disabl:[0,7,15],disable_debug:[0,7],disable_end_log:[0,7],disable_ev:[0,7],disc:[0,7,16],disc_legacy_log:[0,7],disc_log2d:[0,7],disc_log:[0,7],disc_log_directori:[0,7],disc_log_dt:[0,7],disc_log_level_non:0,disc_log_level_norm:0,disc_log_level_normal_first_disc_onli:0,disc_log_level_subtimestep:0,disc_log_level_subtimestep_first_disc_onli:0,disc_n_monte_carlo_guess:[0,7],disc_stripping_timescale_infinit:0,disc_stripping_timescale_inst:0,disc_stripping_timescale_orbit:0,disc_stripping_timescale_visc:0,disc_timestep_factor:[0,7],discret:15,discs_circumbinary_from_comenv:[0,7],discs_circumbinary_from_wind:[0,7],disk:[0,7,20],dispers:[0,7,37],displai:[0,6,7,8,16],disrupt:[0,5,7,18],dist:19,distanc:[6,16],distant:16,distefano2017:21,distefano:[25,26,31],distinct:20,distrefano:26,distribut:[0,2,4,7,8,12,15,19,25,26,31,37],distribution_funct:[6,8,12,13,14,15,20,22,23],divid:2,dj:[0,7],dlnm1:[8,12,15],dlnm:[13,14],dlnm_1:[13,14,34],dlog10per:[8,12,15],dlogp:31,dlogt:37,dm1:[6,13,14],dm:[0,5,7,13,14,31,37],dm_1:[6,13,14],dn:[19,31],do_analyt:21,do_dry_run:21,doc:[2,6,12,13,14,15,19,22,33,39],doc_fetch:31,docstr:[11,22,24,39],document:[12,13,14,15,21,23,30,33],doe:[0,2,6,7,9,10,11,12,13,14,15,20,21,28,30,31,34,42],doesn:[6,21],doesnt:[18,33],doesntt:25,don:[2,6,19,21,25],done:[0,2,5,6,7,12,13,14,15,18,21,22,30,39],donor:[0,5,7,42],donor_limit_dynamical_multipli:[0,7],donor_limit_envelope_multipli:[0,7],donor_limit_thermal_multipli:[0,7],donor_rate_algorithm_bs:0,donor_rate_algorithm_claeys2014:0,dont:[7,18],doubl:[6,9,15],down:15,dp:31,dphasevol:[6,8,12,13,14,15,34],dprob:[6,8,13,14],dq:[8,12,15],dr2:[0,7],dr3:[0,7],drai:[0,7],dredg:[0,7],drop:11,dry:[6,8,12,14,15,21,34],dry_parallel:34,dry_run:[6,8,12,15],dry_run_hook:21,dry_run_num_cor:21,dstep:31,dt:[0,1,7,19,28,37],dt_limit:10,dtfac:[0,7],dtlimit:38,dtm:[1,9,15],dtype:[16,17,18],due:[22,39],dummi:[21,24,31],dump:[0,3,7,11,20,30],dumpvers:[0,7],duquennoi:31,duquennoy1991:31,dure:[0,5,7,18],dust:[0,7],dwarf:[0,6,7,13,14],dx:[0,7],dynam:[0,7],e2:[0,7],e2_hurley_2002:0,e2_izzard:0,e2_mint:0,e2_prescript:[0,7],e:[0,2,5,6,7,8,9,11,12,13,14,15,19,20,21,22,25,28,29,30,31,34,36,37,39,42],each:[0,2,7,8,12,13,14,15,16,19,21,25,34,37],eagb:[0,5,7],eagb_wind_beasor_etal_2020:0,eagb_wind_bs:0,eagb_wind_goldman_etal_2017:0,eagbwind:[0,7],eagbwindfac:[0,7],earli:[0,7],early_asymptotic_giant_branch:0,earth:16,easi:[3,11],easier:[15,18,19],ebindi:5,ecc2:31,ecc3:31,ecc:[5,11,15,18,30,31],eccentr:[0,7,9,11,12,13,14,15,16,18,24,31,42],eccentric_rlof_model:[0,7],eccentricity_quadrupl:[0,7],eccentricity_tripl:[0,7],echo:[0,7],eddington:[0,7],edg:[0,6,7,15,34],edit:9,edu:[0,7],eej:5,eff:6,effect:[0,5,7,9,12,21,31],effective_metal:[0,7,18],effici:[0,6,7,8],egg:[22,39],eggleton:[0,7,42],either:[0,2,3,7,12,13,14,15,18,20,21,22,34,38,39,40],eject:[0,7,8,16],el:[11,15],elabor:9,elaps:27,eld:[0,7],eldridg:[0,7],electon:[0,7],electron:[0,7],element:[0,1,7,10,16,21,24,38],els:[2,5,8,19,21],email:38,emp:[0,7],emp_feh_maximum:[0,7],emp_logg_maximum:[0,7],emp_minimum_ag:[0,7],empti:[2,11,29,33,36],enabl:[0,7],encod:[3,30],encount:21,end:[0,5,7,19,21,27,31],end_bss:5,end_index:31,end_rch:5,end_symb:5,end_timestamp:[6,8,12,14,15],energi:[0,7],enhanc:[0,7],enlarg:[0,7],enough:31,ensembl:[0,7,10,21,22,23,30,34,35,38],ensemble_compress:3,ensemble_def:[0,7],ensemble_dictionari:3,ensemble_dt:[0,7],ensemble_factor_in_probability_weighted_mass:21,ensemble_file_typ:3,ensemble_filt:10,ensemble_filter_:[0,7],ensemble_filters_off:[0,7],ensemble_json:3,ensemble_legacy_ensembl:[0,7],ensemble_list:20,ensemble_logdt:[0,7],ensemble_logtim:[0,7],ensemble_macro:[0,7],ensemble_output_:21,ensemble_set:3,ensemble_startlogtim:[0,7],ensemebl:3,ensure_ascii:[3,20,30],enter:[0,7,21],enthalpi:[0,7],entir:[9,11,17,18],entri:[3,19,20],env:[21,24],envelop:[0,4,5,6,7,22],environ:21,eorbf:5,eorbi:5,ep:18,epoch:32,equal:[0,2,7,13,14,15,19],equat:[0,7],equation_of_state_algorithm:[0,7],equation_of_state_paczynski:0,equatori:[0,7],equival:[12,21,25],errno:[22,39],error:[0,2,6,7,8,12,13,14,15,19,21,22,25,30,39],error_on_overwit:25,error_on_overwrit:25,errors_exceed:[6,8,12,14,15],errors_found:[6,8,12,14,15],esa:31,escap:[0,7],escape_fract:[0,7],escape_veloc:[0,7],estim:[6,16,19,21],et:[0,7,31,42],eta:[0,7,8,12],etal:[0,7],etc:[0,7,11,13,14,15,19,20,21,22,24,30,31,39,40],etf:[8,12],euler:[0,7],evalu:[15,31,34,37,42],evan:[0,7],evapor:[0,7],evaporate_escaped_orbiting_object:[0,7],even:[3,10,13,14],event:[0,5,6,7],everi:[0,7,8,19,21,22,39],everyth:[11,15,20,21],everytim:[22,39],evid:[0,7],evolut:[0,1,4,5,6,7,11,12,13,14,15,18,21,22,24,37],evolution_split:[0,7],evolution_splitting_maxdepth:[0,7],evolution_splitting_sn_eccentricity_threshold:[0,7],evolution_splitting_sn_n:[0,7],evolution_stop:8,evolution_typ:[6,8,12,14,15,21],evolutionari:[0,7,11],evolv:[0,4,7,9,20,21],evolve_popul:15,evolve_singl:[9,11,20],exact:[1,2,21],exactli:[0,7,13,14],exampl:[1,2,11,19,31,34,37,40],example_compact_object:15,example_dco:15,example_df:11,example_head:19,example_header_1:18,example_header_2:18,example_log:40,example_log_co:[1,9],example_logging_string_co:9,example_logging_string_post_m:9,example_massloss:[9,11],example_output:11,example_parse_output:[17,19],example_pop:[11,15],example_pop_set:15,example_post_m:9,example_python_population_result:15,example_sn:9,exc_tb:19,exc_typ:19,exc_val:19,exce:[0,7,12],except:[2,5,6,7,12,13,14,15,21,24,33],excess:21,excit:8,exclud:25,execut:[0,7,15,21,34],exist:[0,2,6,7,15,18,21,25,30,33,34],exist_ok:[15,19],exists_ok:30,exit:[0,7,19,20,21,25,29,30,36],exit_after_dry_run:21,exit_cod:21,exp:[8,12,13,14,15,34],expand:15,expect:[6,7,8,12,13,14,21,22,39],experiment:[0,7,19],explain:[4,38],explicitli:[0,1,7],explod:[0,5,7],explor:16,explos:[0,5,6,7,18],expoenti:[0,7],expon:[0,7,19],export_all_info:[15,20],express:[0,7,19],extend:[0,7,8,22,38,39],extens:[3,7,22,23],extern:[0,7],extra:[0,4,7,15,21,22,32,34,40],extra_text:33,extract:[3,15],extract_ensemble_json_from_str:3,extrapol:[21,31],ey:32,f4e5925effeb42e69b5be956f400ae41:6,f:[0,5,7,11,15,18,31],fa:31,fabian:[0,7],fabian_imf_log:[0,7],fabian_imf_log_tim:[0,7],fabian_imf_log_timestep:[0,7],factor:[0,2,7,21,37],fade:[0,7],fail:[0,6,7,8,12,19,21,22,30,39],fail_sil:19,failed_count:[6,8,12,14,15],failed_prob:[6,8,12,14,15],failed_system:21,failed_system_log:21,failed_systems_error_cod:[6,8,12,14,15],failed_systems_threshold:21,failsaf:11,failur:[0,7,19,25],fallback:[0,7],fals:[0,3,5,6,7,8,12,14,15,16,19,20,21,24,25,27,28,29,30,34,36,37,38],fancy_parsing_funct:40,far:[0,5,6,7,13,14,16],farmer:0,fase:15,fast:[0,7],faster:[2,12,13,14,15],fatal_open_error:30,favorit:11,fe:[0,7],featur:[2,4,15,22],feed:21,ferguson:[0,7],fetch:11,few:[0,7,8],fewer:11,field:[0,7],fifocach:21,fig:[0,7,18,31],figsiz:[6,8,12,13,14,16,18],figur:[6,8,12,13,14,16,24],file:[0,1,3,5,7,11,15,19,20,21,22,24,25,28,29,30,33,34,36,38,39,40],file_log:[0,7],file_object:30,filehandl:33,filenam:[0,1,3,5,7,11,15,19,20,21,25,29,30,36,40],filenotfounderror:[22,39],filepath:1,fill:[11,19],fill_data:31,filter:[0,2,7,19],filter_arg_dict:19,filter_dict:2,filter_dict_through_valu:2,filter_list:2,filter_valu:19,fin:[0,7],final_mass:18,final_tim:18,find:[2,5,8,15,19,21,28,33],finish:[6,8,12,14,15,19,24,30,36],finit:[6,8,12,13,14],first:[0,2,6,7,8,11,12,13,14,15,16,19,22,25,30,31,39,42],first_giant_branch:0,fishlock:[0,7],fit:[0,2,7,11,31,42],fix:[0,5,7,11,15,19,20,24,30,31,32],flag:[0,1,20,21,30,37,38],flash:[0,7],flat:[21,31],flatsect:[8,12,15,31],flaw:20,float64:[17,18],float_overflow_check:[0,7],flto:[22,39],flufl:30,flush:[3,20,30],fo:21,focu:8,fold:31,follow:[0,7,9,18,19,21,22,24,31,37,39],font_scal:[6,8,12,13,14,16],fontsiz:18,forc:[0,5,7,21,27],force_circularization_on_rlof:[0,7],force_corotation_of_primary_and_orbit:[0,7],foreach_star:[6,12],form:[0,6,7,8,12,13,14,15,20,25,30,33,38],formal:[0,7],format:[0,2,3,5,7,8,9,11,12,13,14,15,16,18,19,21,29,30,31,34,37],format_ensemble_result:3,format_numb:19,format_stat:30,former:5,formula:[0,7,19],forward:[0,7],found:[5,6,8,12,14,15,29,31,36],four:[0,7],fourth:16,fraction:[0,7,12,18,21,31],fractions_z0002:18,fractions_z001:18,fractions_z002:18,framework:7,free:[6,8,12],free_persistent_data_memaddr_and_return_json_output:7,free_store_memaddr:7,frequenc:[0,7,16],friction:[0,7],fring:[0,7],from:[0,2,3,5,6,8,10,11,12,13,14,15,16,17,18,19,20,21,24,25,29,30,31,34,36,38,42],from_binary_c_config:1,from_dict:[8,12,13,14,17,18],fryer:[0,7],fsampl:37,ftz:[22,39],full:[4,9,16,19,21,29,36],full_path:19,func:28,func_memaddr:18,function_cach:21,function_cache_default_maxs:21,function_cache_default_typ:21,function_cache_funct:[21,28],function_cache_s:28,function_cache_ttl:21,further:15,futur:16,fuv:[0,7],g:[0,1,2,5,6,7,8,9,11,12,13,14,15,17,18,19,21,22,25,28,29,30,31,36,37,39],ga:[0,7],gaia:[0,7,31],gaia_colour_transform_method:[0,7],gaia_conversion_ubvri_bivariate_jordi2010:[0,7],gaia_conversion_ubvri_riello2020:[0,7],gaia_conversion_ubvri_univariate_evans2018:[0,7],gaia_conversion_ubvri_univariate_jordi2010:[0,7],gaia_conversion_ugriz_bivariate_jordi2010:[0,7],gaia_conversion_ugriz_riello2020:[0,7],gaia_conversion_ugriz_univariate_evans2018:[0,7],gaia_conversion_ugriz_univariate_jordi2010:[0,7],gaia_l_binwidth:[0,7],gaia_teff_binwidth:[0,7],galact:[0,7,37],gallino:[0,7],gamma:[0,7],gap:[0,7],garcia:[0,7],gauss:[0,7],gaussian:[31,37],gaussian_func:31,gaussian_normalizing_const:31,gaussian_zoom:37,gb:[0,7],gb_reimers_eta:[0,7],gb_wind_beasor_etal_2020:0,gb_wind_goldman_etal_2017:0,gb_wind_reim:0,gb_wind_schroeder_cuntz_2005:0,gbwind:[0,7],gbwindfac:[0,7],gcc:[1,22,39],gce:[0,7],gener:[0,1,6,7,8,9,11,12,14,15,17,18,19,20,21,24,25,30,31,33,34,37],general_info:2,generalis:31,geometr:[0,7],geq:6,gerosa:[0,7],get:[0,2,3,4,6,9,11,12,13,14,15,16,18,19,20,22,25,26,29,31,33,34,36,39,40,42],get_ansi_colour:19,get_arg_kei:19,get_condor_statu:29,get_default:[10,19],get_grid_options_defaults_dict:33,get_grid_options_descript:33,get_help:[10,19],get_help_al:[10,19,20],get_help_sup:[10,19],get_integration_constant_q:31,get_max_multipl:31,get_moe_di_stefano_2017_default_opt:26,get_moe_di_stefano_2017_default_options_descript:26,get_moe_di_stefano_dataset:26,get_siz:19,get_slurm_statu:36,get_usernam:19,getitem:2,gettempdir:18,getter:28,giant:[0,6,7,16],giant_branch:0,git:[0,12,13,14,15,19],git_branch:38,git_build:38,github:[19,30],gitlab:22,give:[0,5,7,8,19,20,31,42],given:[0,1,3,7,12,13,14,17,18,19,20,21,25,28,29,30,31,34,36,37,40,42],global:[0,2,7,12,13,14,19,31,37],global_dict:2,gmax:31,gmin:31,gnu:7,go:[0,6,7,10,12,15,20,22,24,39],goal:31,goe:[0,2,7,9,11,24],gogo:[0,7],goldman:[0,7],gonna:31,good:[0,7,11,12,13,14,15,21,42],got:[13,14],gov:[0,7],gravit:[0,6,7,8,15],gravitational_const:6,gravitational_radiation_bs:0,gravitational_radiation_bse_when_no_rlof:0,gravitational_radiation_landau_lifshitz:0,gravitational_radiation_landau_lifshitz_when_no_rlof:0,gravitational_radiation_model:[0,7],gravitational_radiation_modulator_:[0,7],gravitational_radiation_modulator_j:[0,7],gravitational_radiation_non:0,grb:[0,7],great:[0,7,13,14,21],greater:[0,7],grevess:[0,7],grid:[0,4,7,9,11,19,20,22,25,26,29,30,31,32,33,34,35,36,37,42],grid_cod:20,grid_ensemble_result:[30,35],grid_log:[20,22,23],grid_opt:[6,8,11,12,13,14,15,20,25,28,29,30,34,35,36,37],grid_options_default:[20,22,23,28],grid_options_defaults_dict:33,grid_options_descript:[6,15,33],grid_options_description_check:33,grid_options_help:33,grid_result:[6,8,12,13,14,21],grid_vari:[15,21],grid_variable_numb:[6,8,15,34],gridcod:[20,22,23],gridcode_filenam:21,gridtyp:[6,8,15,34],group:[6,12,16,38],grvitation:5,gsl:[22,39],gsl_dir:[22,39],gt:[5,6,7,8,9,11,13,15,16,17,18],guess:[0,7,31],gyr:[5,6,8],gz:30,gzip:30,h5py:[22,39],h:[0,5,7,9,19],ha:[0,1,2,5,6,7,8,9,10,12,13,14,15,18,19,21,27,30,34],hachisu:[0,7],hachisu_disk_wind:[0,7],hachisu_ignore_qcrit:0,hachisu_qcrit:[0,7],hack:33,had:[6,8,12,13,14,20],half:[0,7,31],hall:[0,7],handi:[0,7],handl:[0,2,3,4,7,11,19,20,21,25,26,34,35,38,40,42],handle_ensemble_string_to_json:3,happen:[0,6,7,8],hardcod:[9,12,13,14,15],hardli:38,have:[0,2,3,4,5,6,7,8,9,11,12,13,14,15,18,19,20,21,22,24,25,29,30,33,36,39,40],haven:6,hbb:[0,7],hbbtfac:[0,7],hd:24,hdf5:19,hdf5file:19,he:[0,5,7],head:16,header:[1,6,8,9,11,12,13,14,15,18,19],headerlin:15,headlin:21,hegb:[0,5],hehg:0,height:[8,12,15,31],held:[29,36],helium:[0,6,7],helium_flash_mass_loss:[0,7],helium_white_dwarf:0,help:[0,4,5,7,11,12,13,14,15,19,33],help_al:[0,7],hem:0,henc:[0,7,8,13,14,16],hendrik:[0,18,22,39],here:[1,6,7,9,11,12,13,14,16,18,19,20,21,24,31,40],hertzsprung:[0,4,7,22],hertzsprung_gap:0,hertzstrpung:[0,7],heuvel:[0,7],hewd:[0,7],hewd_hewd_ignition_mass:[0,7],hex:21,hg:[0,7],hi:31,high:[0,7,13,14,31],higher:[0,6,7,8,12,13,14,15,19,21,22,31,39],highlight:2,histogram:8,histori:31,hole:[0,4,6,7,22],home:7,homogen:[0,7],hood:11,hook:21,hopefulli:[0,7],hot:[0,7],hour:19,how:[0,2,5,6,7,8,9,11,12,13,14,15,18,21,27,31,34],howev:[0,7,9,12,13,14,15],hoyl:[0,7],hpc:[20,21,22,23,29,36],hpc_can_join:25,hpc_check_requir:25,hpc_dir:25,hpc_dump_statu:25,hpc_force_join:21,hpc_get_statu:25,hpc_grid:25,hpc_id_filenam:25,hpc_id_from_dir:25,hpc_job:25,hpc_job_task:25,hpc_job_typ:25,hpc_jobid:[20,25],hpc_jobid_tupl:25,hpc_join_from_fil:25,hpc_join_previ:25,hpc_joinlist:25,hpc_load_joinfiles_list:25,hpc_make_joiningfil:25,hpc_njob:25,hpc_path:25,hpc_queue_stat:25,hpc_rebuild_joinlist:[21,25],hpc_restor:25,hpc_set_statu:25,hpc_snapshot_filenam:25,hpc_statu:25,hpc_task:25,hpc_touch:25,hr:24,hr_diagram:24,hrd:[0,6,7,8],hrdiag:[0,7],hrdiag_output:[0,7],htcondor:21,html:[2,6,15,22,30,39],http:[0,1,2,6,7,15,19,30,31],human:19,hurlei:[0,7],hut:[0,7],hybrid:[0,7],hydro:[0,7],hydrogen:[0,6,7],i:[1,2,5,6,7,8,9,11,12,13,14,15,16,19,20,21,22,25,31,34,38,39,42],ia:[0,7,8],iadd:2,ib:[0,5,7],ibc:[0,7],id:[20,21,25,29,30,31,32,36],id_cor:9,idea:[15,24],ident:2,idum:[0,7],ignit:[0,6,7],ignor:[0,2,7,9,11,15,18,21,31,34],ii:[0,7,18],iia:[0,7],iloc:[11,18],images:21,imf:[0,7,13,14,31],imf_chabrier2003:31,imf_scalo1986:31,imf_scalo1998:31,imf_tinsley1980:31,immedi:[0,6,7,21],implement:[0,2,7,21],impli:[0,7],implic:[13,14],impos:[6,8,12,13,14,15],imposs:8,improv:[31,37],inclin:[0,7],inclination1:[0,7],inclination2:[0,7],inclination3:[0,7],inclination4:[0,7],inclini:[0,7],incliniation_quadrupl:[0,7],incliniation_tripl:[0,7],includ:[0,1,2,6,7,9,11,13,14,15,16,19,20,22,24,30,31,39],include_binary_c_default:[15,20],include_binary_c_help_al:[15,20],include_binary_c_version_info:[15,20],include_default:[15,30],include_popul:15,include_population_set:20,incom:[0,7],increas:[0,5,7,8,12,13,14],inde:[0,7,13,14],indent:[2,3,11,20,30],independ:31,index:[0,7,10,11,16,21,22,25,31,34],indic:[0,7,31],individu:[4,12,22],individual_nova:[0,7],induc:[0,7],inertia:[0,7],info:[7,10,15,19,20,22,24,38,39],inform:[0,1,3,4,6,9,11,12,13,14,15,19,20,21,24,25,31,33,35,38],init:20,init_abund:[0,7],init_abund_dex:[0,7],init_abund_mult:[0,7],init_abunds_onli:[0,7],initi:[0,4,5,7,10,11,18,20,31],initial_abundance_hash:20,initial_abundance_mix:[0,7],initial_abunds_onli:[0,7],initial_grid:18,initial_mass:[11,18],initial_tim:18,inlin:18,inner:[0,7,16],input:[1,2,3,7,10,11,19,20,21,22,24,26,30,31,32,33,40,42],input_dict:2,insert:[15,34],insid:[0,7],inspect:[2,11,24],inspect_dict:2,inspir:[1,24,42],instabl:[0,7],instal:[21,42],install_without_depend:[22,39],instanc:[2,11,12,13,14,15,31],instant:[0,7],instantli:[0,7],instead:[0,5,7,13,14,19,21],integ:[0,6,7,21,37,42],integr:[12,13,14,31,37],integrals_str:31,intens:[13,14],interact:[0,3,5,6,7,8,16,18,33],interfac:[7,16,19,22,25,39],interfer:[22,39],intermedi:8,intern:[0,7,10,21],internal_buff:[0,7],internal_buffering_off:0,internal_buffering_print:0,internal_buffering_stor:0,interpol:[26,31,37],interpolate_in_mass_izzard2012:31,interpolator_nam:31,intershel:[0,7],interstellar:[0,7],intger:[0,7],intro:[0,7],introduc:5,introduct:6,inv:[5,18],invers:42,invert_xaxi:6,involv:[0,7],inward:[0,7],io:30,ipykernel_216542:16,ipykernel_519112:13,ipynb:[12,13,14,15],is_capsul:19,isfil:15,isfloat:19,isint:19,isn:[13,14,19],isnt:15,isotop:[0,7,10,38],isotope_hash:20,isotope_list:20,issu:25,item:[1,2,6,8,12,13,14],iter:19,its:[0,2,3,7,12,13,14,15,16,19,21,22,24,25,26,30,33,37,38,39,40],itself:[3,6,9,11,21,22,31,39],iwamoto:[0,7],izzard2012_period_distribut:31,izzard:[0,6,7,8,11,12,13,14,15,22,39],jager:[0,7],jan:0,jaschek:31,jeff:[22,39],jej:5,jerki:6,jf:5,jia:[0,7],job:[20,21,25,29,36],job_id:25,job_index:25,jobarrayindex:[21,36],jobid:[20,21,36],john:[0,7],join:[7,9,11,15,18,21,25],joinfil:25,joiningfil:25,joinlist:[21,25],jorb_in:5,jorb_out:5,jordi:[0,7],json:[3,7,11,15,20,21,26,30],jsondecod:3,jsonencod:3,jtot_in:5,jupit:16,jupyt:[22,39],just:[0,2,6,7,8,15,18,19,20,21,22,26,30,38,39,42],k1:[5,11,18],k2:[5,11,18],k:[0,6,7,16,31],kap:[0,7],kappa:[0,7],kaps_rentrop:[0,7],karaka:[0,7],keep:[8,15,30,32],kei:[1,2,3,6,10,11,15,16,18,19,20,21,24,28,30,31,33,34,38],kelvin:[0,7],keplerian:[0,7],keys_to_float:2,keyword:[13,24,40],kick:[0,5,7,18,21],kick_backward:0,kick_forward:0,kick_inward:0,kick_outward:0,kick_random:0,kick_straight_up:0,kick_velocity_custom:0,kick_velocity_fix:0,kick_velocity_maxwellian:0,kill:[1,9,15,20],kilonova:6,kim:[0,7],kind:[0,7],kippenhahn:[0,7],klencki:[0,7],km:[0,7],know:[0,1,2,7,10,11,13,14,21,30,33],known:[0,6,7,11,12,13,14,15,20,31,40],kroupa2001:[15,31,34],kroupa:[13,14,31],krticka:[0,7],ktg93:31,kwarg:[18,20,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40],l1:5,l2:[0,7],l:[0,6,7,12,13,14],l_:[12,13,14],label:[6,18,31],lambda:[0,5,7,8],lambda_:8,lambda_c:[0,5,7,8],lambda_ce_dewi_tauri:[0,7],lambda_ce_klencki_2020:[0,7],lambda_ce_polytrop:[0,7],lambda_ce_wang_2016:[0,7],lambda_enthalpi:[0,7],lambda_ion:5,lambda_ionis:[0,7],lambda_min:[0,7],lambda_mult:[0,7],lambda_multipli:[0,7],lambda_v:31,lamer:[0,7],landau:[0,7],langer:[0,7],languag:6,larger:[0,6,7],last:[4,13,16,18,19,31],last_st:18,last_stellar_type_change_time_1:18,lastli:[7,11],late:18,later:[12,13,14,21],latest0:[6,8,12],latest1:[6,8,12],latest2:[6,15],latest3:6,latest4:6,latest5:6,latest:[22,39],latter:[0,7],launch:[21,29,36],law:[13,14,31],law_const:31,lbv:[0,7],ld_library_path:[22,39],ldist:[13,14],lead:[0,6,7,12,13,14,15,30,31,42],learn:[9,21],least:[22,39],leav:[0,7,21],left:[0,7],legaci:[0,7],legacy_yield:[0,7],legend:[16,18],len:[5,6,11,15,18],length:[5,19],lengthen:[0,7],leq:6,less:[0,1,4,5,7,30,31],let:[5,8,11,12,13,14,15,16,20],level:[1,6,19,32],lfucach:21,li7:[0,7],li:[0,7],lib:[7,11,17,18,22,39],libbinary_c:21,libcustom_logging_0639ee205c7d4782b4a27378f5d890bd:11,libcustom_logging_dafa15d2b1e64e19972ac0e9eb5c9a55:11,libgsl:[22,39],libmemo:[22,39],librari:[0,1,6,7,9,18,20,21,40],library_path:[22,39],librinterpol:[22,39],life:8,lifetim:[0,7,8,12,13,14,15,37],lifshitz:[0,7],like:[0,1,6,7,8,12,13,14,15,18,19,21,22,24,30,37,39],limit:[0,6,7,8,12,13,14,15,21,24],line:[1,5,6,8,9,11,12,13,14,15,16,17,19,20,21,22,24,30,37,39],linear2:21,linear:[0,7,12,13,14,21,31,37],linear_extrapolation_q:31,linearli:[13,14,37],linedata:[6,8,12,13,14],lineplot:[6,8,12,13,14,16],linewidth:[6,8,12,13,14,16],linker:1,linspac:37,linux:7,list:[0,1,2,3,6,7,8,11,12,13,14,15,16,19,21,25,28,31,34,37,40],list_arg:[0,7],list_of_sub_kei:2,lit:[0,7],lithium:[0,7],lithium_gb_post_1dup:[0,7],lithium_gb_post_heflash:[0,7],lithium_hbb_multipli:[0,7],lithium_t:[0,7],littl:[5,6,8,12,16,28],littleton:[0,7],liu:[0,7],ll:[2,9,10,13,14,16,30],llnl:[0,7],ln:31,lnm1:[8,12,13,14,15],lnm_1:[13,14,34],load:[0,1,3,6,7,8,9,11,12,13,14,15,18,19,20,21,24,25,26,30,34],load_ensembl:3,load_logfil:19,load_population_object:30,load_snapshot:30,lobe:[0,5,7,8,42],loc:16,local:[7,21,31],local_count:2,locat:[0,7,21,22,31,37,39],lock:[5,30],lock_lifetim:30,lock_object:30,lock_suffix:30,lock_timeout:30,locked_clos:30,locked_open_for_writ:30,lockfil:30,lodder:[0,7],log10:[0,6,7,8,12,13,14,15,31,37],log10m1:21,log10mass:37,log10p:31,log10per:[8,12,15],log10pmin:31,log:[0,1,4,5,7,11,16,17,19,21,22,24,30,31,32,34,37,39,40,42],log_:[6,8,12,13,14],log_arg:21,log_args_dir:21,log_arrow:[0,7],log_dt:[8,21],log_every_timestep:[9,11],log_fil:[5,21],log_filenam:[0,5,7,11,18,40],log_newlin:21,log_runtime_system:21,logarithm:[13,14,31,37],logensembletim:[0,7],logfil:[11,19,22,39],logg:[0,6,7],logger:15,logging_dict:1,logging_lin:[9,17,18],loggrav:6,logi:17,logic:[1,2,9,20,21],logl:6,logmass:[31,37],logp:31,logper:[8,31],logperiod:31,logperrang:[8,12],logspac:37,logteff:6,long_spectral_typ:31,longer:[0,6,7,8],longnam:[6,8,12,13,14,15,34],look:[1,3,6,8,12,13,14,15,18,22,31,39],lookback:[0,7],loon:[0,7],loop:[6,8,11,12,13,14,15,30,34],loos:24,lose:[0,7,18],loss:[0,5,7,11,12,16],lost:[0,7,8,18],lot:[6,12,13,14,15,16,21,38,40],lovegrov:0,low:[0,6,7,8,13,14,31],low_mass_m:0,low_mass_main_sequ:0,lower:[0,7,12,15,31,34,37],lowest:31,lru:28,lru_:28,lrucach:21,lsoda:[0,7],lsun:[0,7,24],lt:[6,7,8,11,13,15,16,17],lucianopaz:30,lugaro:[0,7],luminos:[0,4,6,7,22,24],luminosity_1:24,luminosity_2:24,luminosu:6,lw:[0,7],lynnett:[0,7],m01:5,m0:31,m1:[0,5,7,8,9,11,12,13,14,15,18,30,31,42],m2:[5,8,9,11,12,15,18,30,31,42],m3:31,m4:31,m:[0,5,6,7,8,12,13,14,16,18,19,31,42],m_1:[0,5,6,7,8,9,10,11,12,13,14,15,16,17,18,34,40],m_2:[0,5,6,7,8,9,11,12,15,17,18],m_3:[0,7],m_4:[0,7],m_:18,m_max:[15,31,34],m_min:[15,34],m_sun:6,maccretor:[0,5,7],machin:[8,21,22,39],macro:[0,7,10,19,38],madau:31,made:[6,22,25,39],maeder:[0,7],magellan:[0,7],magnet:[0,7],magnetic_braking_algorithm:[0,7],magnetic_braking_algorithm_andronov_2003:0,magnetic_braking_algorithm_barnes_2010:0,magnetic_braking_algorithm_hurley_2002:0,magnetic_braking_algorithm_rappaport_1983:0,magnetic_braking_factor:[0,7],magnetic_braking_gamma:[0,7],magnitud:19,mai:[0,7,8,12,30],main:[0,1,6,7,9,12,13,14,15,18,21,22,39],main_sequ:[0,7,12,13,14,18],mainprocess:[6,8,12],major:[0,7],make:[0,1,2,3,5,6,7,8,11,12,13,14,15,16,18,19,20,21,22,24,25,29,30,31,39,40,42],make_analytics_dict:27,make_build_text:19,make_condor_dir:29,make_slurm_dir:36,makedir:[15,19],makejoiningfil:25,manag:[19,22,39],mani:[0,6,7,8,10,12,13,14,15,21,29],manual:[9,21],manufactur:[0,7],map:21,mar:16,maria:[0,7],mass:[0,1,2,4,5,6,7,8,10,11,12,15,16,18,19,21,24,31,34,37,38,40,42],mass_1:[15,18,24],mass_2:[15,18,24],mass_accretion_for_eld:[0,7],mass_accretor:42,mass_donor:42,mass_evolut:24,mass_for_hestar_ia_low:[0,7],mass_for_hestar_ia_upp:[0,7],mass_loss_m:18,mass_lost:18,mass_of_pmz:[0,7],mass_rang:18,mass_str:31,massiv:[0,4,5,6,7,8,12,16,22,31],massless:[0,7],massless_remn:0,massloss:0,massrang:[6,8,12,13,14],master:[21,24],match:[0,2,6,7,11,12,15,16,21,24,28],materi:[0,6,7],math:[6,8,12,13,14,15,16,34,37],mathieu:31,mathrm:[6,8,12,13,14],matplotlib:[6,8,13,14,16,18,22,24,39],matter:[0,7],mattsson:[0,7],mattsson_mass_loss:[0,7],mattsson_orich_tpagbwind:[0,7],max:[0,7,8,9,12,13,14,15,21,31],max_bound:[31,37],max_column:[6,8,16],max_evolution_tim:[0,1,6,7,8,9,11,12,13,14,15,16,18,37],max_hewd_mass:[0,7],max_logp:31,max_model_numb:[0,7],max_multipl:31,max_neutron_star_mass:[0,7],max_queue_s:21,max_row:[6,8,16],max_stellar_angmom_chang:[0,7],max_stellar_type_1:[0,7],max_stellar_type_2:[0,7],max_stellar_type_3:[0,7],max_stellar_type_4:[0,7],max_tim:[5,11,18],max_val:31,maxcount:5,maxdm:37,maximum:[0,6,7,8,9,12,13,14,15,21,31,37,42],maximum_mass_ratio_for_instant_rlof:[0,7],maximum_mass_ratio_for_rlof:42,maximum_mcbagb_for_degenerate_carbon_ignit:[0,7],maximum_nuclear_burning_timestep:[0,7],maximum_timestep:[0,7],maximum_timestep_factor:[0,7],maxmimum:[0,7],maxsiz:21,maxwellian:[0,7],mayb:24,mayor:31,mb:[6,8,12,14,15,19,21],mc13_pocket_multipli:[0,7],mc1:5,mc:[0,5,7,15,18,30],mch:[0,7],mcmin:[0,7],mdonor:[0,5,7],mean:[0,5,7,19,21,22,29,31,36,37,39],meant:21,measur:19,medium:[0,7],mega:31,megabyt:21,mem:[8,12],mem_us:19,memaddr:[7,9],memori:[1,6,7,8,9,12,14,15,18,19,20,21,30,42],menv:[0,5,7],mer:5,mercuri:16,merg:[0,2,5,6,7,8,21,25,30,31,32],merge_dict:[2,10],merge_multipl:31,merge_popul:30,merge_populations_from_fil:30,merger:[0,5,7],merger_angular_momentum_factor:[0,7],merger_mass_loss_fract:[0,7],mesa:[22,39],mesasdk_init:[22,39],mesasdk_root:[22,39],mess:16,messag:[19,20],messi:6,mestel:[0,7],met:[15,20,25,34],metadata:[20,22,23,34],metal:[0,5,6,7,8,9,11,12,13,14,15,16,17,18,31,42],metallicity_0002:18,metallicity_001:18,metallicity_002:18,method:[0,7,9,11,12,13,14,15,18,20,21,26,30,32,33,34,38],meynet:[0,7],mf1:5,mf2:5,might:[2,3,8,12,15,16,19,21,22,30,39],milki:[0,7],miller:[0,7],min:[8,9,12,13,14,15,31],min_bound:[31,37],min_logp:31,min_per:31,min_val:31,mind:18,mindm:37,minimal_verbos:19,minimum:[0,7,19,21,31,37,38,42],minimum_co_core_mass_for_carbon_ignit:[0,7],minimum_co_core_mass_for_neon_ignit:[0,7],minimum_donor_menv_for_comenv:[0,7],minimum_envelope_mass_for_third_dredgeup:[0,7],minimum_helium_ignition_core_mass:[0,7],minimum_mcbagb_for_nondegenerate_carbon_ignit:[0,7],minimum_orbital_period_for_instant_rlof:[0,7],minimum_period_for_rlof:42,minimum_separation_for_instant_rlof:[0,7],minimum_separation_for_rlof:42,minimum_stellar_mass:38,minimum_time_between_pn:[0,7],minimum_timestep:[0,7],mint:[0,7],mint_data_cleanup:[0,7],mint_dir:[0,7],mint_disable_grid_load_warn:[0,7],mint_fallback_to_test_data:[0,7],mint_hard_max_nshel:[0,7],mint_hard_min_nshel:[0,7],mint_kippenhahn:[0,7],mint_kippenhahn_companion_stellar_typ:[0,7],mint_kippenhahn_stellar_typ:[0,7],mint_maximum_nshel:[0,7],mint_maximum_shell_mass:[0,7],mint_metal:[0,7],mint_minimum_nshel:[0,7],mint_minimum_shell_mass:[0,7],mint_ms_rejuven:[0,7],mint_nshel:[0,7],mint_nuclear_burn:[0,7],mint_remesh:[0,7],mint_use_zams_profil:[0,7],minut:[8,19],mira:[0,7],misc:[7,22],miscellan:[10,38],miss:[0,7,12,13,14,19,33],mistak:21,mix:[0,2,7,21],mixtur:[0,7,12],mmax:[13,14,31,37],mmin:[13,14,21,31,37],mnra:42,mode:30,model:[0,1,6,7,8,9,11,12,13,14,15,16,17,18,21],model_numb:[12,13,14],modif:4,modifi:[0,2,7,9,22,39],modul:[0,7,8,10,12,13,14,15,16,21,23],modulo:21,moe2017_opt:21,moe:[15,22,25,26,31],moe_di_stefano_2017:[20,22,23],moe_di_stefano_2017_multiplicity_fract:31,moe_di_stefano_2017_pdf:31,moment:[0,6,7,9,15,18,37],momenta:[0,7,24],momentum:[0,7,16],monoton:[13,14],mont:[0,7,21],monte_carlo_kick:[0,7],more:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,37,39],most:[6,7,8,13,14,16,19],mostli:[6,8,12,13,14,15,18,19,21,24,33,40],mount:30,move:[0,6,7],mrucach:21,ms:[0,5,7,9,12],msgpack:30,mstart:5,msun:[0,6,7,9,11,12,13,14,16,18,31,37,38],mu:[0,7],much:[0,6,7,8,12,15,18,19,27],multipl:[0,2,6,7,21,31],multiplc:[0,7],multipli:[0,2,7,13,14,21,37],multiplicity_arrai:31,multiplicity_fraction_funct:21,multiplicity_model:21,multiplicity_modul:21,multiplied_dict:2,multiply_float_valu:2,multiply_values_dict:[2,10],multiprocess:21,must:[0,2,6,7,8,11,12,13,14,15,16,30,34,37],mw:[0,7],my:11,my_stellar_data:[1,9,15,17,18],myr:[0,6,7,8,11,12,13,14,16,37],n100:[0,7],n100_z0:[0,7],n100h:[0,7],n100l:[0,7],n10:[0,7],n150:[0,7],n1600:[0,7],n1600c:[0,7],n1:[0,7],n200:[0,7],n20:[0,7],n300c:[0,7],n3:[0,7],n40:[0,7],n5:[0,7],n:[0,1,5,6,7,8,9,11,12,13,14,15,17,18,19,21,25,31],n_logging_stat:21,naked_helium_star_giant_branch:0,naked_helium_star_hertzsprung_gap:0,naked_main_sequence_helium_star:0,name:[1,2,5,6,7,8,12,13,14,15,16,18,19,21,29,30,33,34,40,41],nameerror:16,narrow:[13,14],natur:[0,7,13,14],nauenberg:[0,7],nazehdin:0,nb:[0,7],nbinary_c:18,ncol:18,nearer:[0,7],nearest:[8,12,13,14],nebula:[0,7],necessari:[8,15,16,18,19,20,36],need:[0,2,7,9,11,12,13,14,15,16,18,21,22,25,31,39,42],neg:[0,2,7,37],neither:[0,7,20],neleman:[0,7],nelemans_gamma:[0,7],nelemans_max_frac_j_chang:[0,7],nelemans_minq:[0,7],nelemans_n_comenv:[0,7],nelemans_recalc_eccentr:[0,7],nemp:[0,7],nemp_cfe_minimum:[0,7],nemp_nfe_minimum:[0,7],nenamg:[0,7],neon:[0,6,7],neptun:16,nest:[2,15,34,38],network:[0,7,10],neutrn:[0,7],neutron:[0,6,7,15],neutron_star:0,never:[0,6,7,13,14,21,28],new_dict:2,newdict:2,newer:[0,2,7],newli:[0,7],newlin:[19,21,30,32],newnam:34,newobj:25,newopt:[2,31],newpop:30,newton:[0,7],next:[12,13,14,15,19],nf:[21,30],nfs_flush_hack:30,nfspath:30,nice:[20,24],nieuwenhuijzen:[0,7],nieuwenhuijzen_windfac:[0,7],nine:6,nmax:31,no_thermohaline_mix:[0,7],nocach:21,node:21,noecho:[0,7],noechonow:[0,7],noel:[0,7],nolowq:21,nomin:[0,7],non:[0,2,7,13,14,21,30],nonconservative_angmom_gamma:[0,7],none:[0,1,2,3,5,6,7,8,12,14,15,16,18,19,20,21,25,26,28,29,30,31,33,34,36,37,42],nonetyp:2,nonzero:21,nor:[0,7],norm:21,normal:[0,2,7,20,25,37,38],normalis:[2,21,31],normalize_dict:2,normalize_multipl:21,normalized_dict:2,nospac:19,notabl:15,notat:19,note:[0,5,6,7,12,13,14,15,18,19,21,25,30,34,37,38],notebook:[5,6,7,8,9,10,11,12,13,14,15,16,22,39],notebook_api_funct:11,notebook_bhbh:5,notebook_comenv:8,notebook_custom_log:[11,12,13,14,15],notebook_hrd:6,notebook_individual_system:[9,11,12,13,14,15],notebook_luminos:[13,14],notebook_luminosity_funct:12,notebook_luminosity_function_binari:[13,14],notebook_popul:[11,15],notebook_solar_system:16,noteworthi:4,noth:[2,21,25,26,30],notic:[13,14],notifi:40,nov:18,nova:[0,6,7,8],nova_faml_multipli:[0,7],nova_irradiation_multipli:[0,7],nova_retention_algorithm_claeys2014:0,nova_retention_algorithm_const:0,nova_retention_algorithm_hillman2015:0,nova_retention_fract:[0,7],nova_retention_method:[0,7],nova_timestep_accelerator_index:[0,7],nova_timestep_accelerator_max:[0,7],nova_timestep_accelerator_num:[0,7],now:[0,2,5,6,7,8,9,11,12,13,14,15,16,18,19,25,31,32],now_object:19,np:[11,17,18,37],nre:[12,37],nrow:18,ns:[0,1,7,8,9,15],nsep:8,nsep_max:8,nsep_min:8,nstar:[6,12],nuclear:[0,7],nuclear_mass_hash:20,nuclear_mass_list:20,nucleosynthesi:[0,7,38],nucleosynthesis_sourc:[10,38],nucreacmult:[0,7],nucsyn:[7,22],nucsyn_angelou_lithium:[0,7],nucsyn_gce_outflow_check:[0,7],nucsyn_hbb:[0,7],nucsyn_metal:[0,7],nucsyn_network:[0,7],nucsyn_network_error:[0,7],nucsyn_s_process:[0,7],nucsyn_solv:[0,7],nucsyn_third_dredge_up:[0,7],nugi:[0,7],nullcach:[21,28],num_ansi_colour:[0,7],num_cor:[6,8,12,13,14,15,21],num_cores_avail:21,number:[0,2,3,5,6,7,8,12,13,14,15,16,18,19,20,21,22,25,30,31,32,33,34,37,39],numer:2,numpi:[11,15,17,18,19,22,34,37,39],o:[3,7,19,22,31],obj:[3,19],object:[0,2,3,4,7,16,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40],object_hook:3,object_pairs_hook:3,object_parse_funct:11,observ:[12,13,14],obtain:[0,6,8,12,13,14,30],obvious:9,occur:[0,7,42],odot:[6,8,18],off:[0,5,7,15,18,21],off_m:[5,11,18],offset:[0,7],oh:5,ohio:[0,7],ok:[25,30],old:[13,14,21,34],oldnam:34,omega:[0,5,7,18],on_exit_or_evict:21,onc:[0,7,37],one:[0,2,7,10,13,14,15,16,17,18,21,24,28,30,33,37,40],onewd:0,onli:[0,2,6,7,9,12,13,14,15,16,18,19,21,25,26,30,37,42],onset:[0,7],onto:[0,7,31],oop:5,opac:[0,7],opacity_algorithm:[0,7],opacity_algorithm_ferguson_op:0,opacity_algorithm_paczynski:0,opacity_algorithm_star:0,opal:[0,7],open:[3,5,11,15,18,30],open_ensembl:3,opendir:30,oper:[2,30],opm:31,opt:[2,5,7,31],option:[0,1,2,6,7,8,12,13,14,15,16,17,18,19,20,22,25,26,28,30,31,33,34,37,39,42],orb:[8,15,30],orbit:[0,5,7,8,12,16,24,31,42],orbit_evolut:24,orbital_eccentr:16,orbital_inclin:[0,7],orbital_inclinationi:[0,7],orbital_period:[0,5,7,8,9,11,12,15,17,18,42],orbital_period_quadrupl:[0,7],orbital_period_tripl:[0,7],orbital_phas:[0,7],orbital_phase_quadrupl:[0,7],orbital_phase_tripl:[0,7],orbital_separ:16,orbiting_object:[0,7,16],orbiting_objects_close_pc_threshold:[0,7],orbiting_objects_log:[0,7,16],orbiting_objects_tides_multipli:[0,7],orbiting_objects_wind_accretion_multipli:[0,7],order:[2,4,15,19,34],ordereddict:2,org:[0,2,7,31],orient:8,origin:[2,16,22,30,39],original_command_lin:21,original_submission_tim:21,original_working_diretori:21,os:[5,6,8,11,12,13,14,15,16,18,19],other:[0,1,2,6,7,10,11,12,13,14,15,19,21,22,24,25,31,33,39],otherwis:[0,2,7,19,20,21,25,27,29,30,33,36],our:[6,8,12,13,14,21,31],out:[2,3,6,8,9,12,13,14,16,19,21,31,33],outcom:[0,7],outer:[0,6,7],outermost_core_mass:6,outfil:[15,20],outfile_nam:1,outfilenam:15,output:[1,2,3,4,5,7,9,10,11,16,17,18,19,20,21,22,24,30,38,39,40,42],output_dict:[6,8,11,12],output_dir:[11,15,30],output_fil:[11,19,30,33],output_filenam:[15,30],output_lin:19,outsid:[0,7,31],outward:[0,7],over:[2,6,8,10,11,12,13,14,15,19,20,30],overflow:[0,5,7,8],overhead:21,overlap:2,overrid:[2,18,21,31,34,37],overriden:15,overshoot:[0,7],overspin_algorithm:[0,7],overspin_bs:[0,7],overspin_massloss:[0,7],overview:7,overwrit:[21,25],own:[9,11,15,17,18,21,22,34,39],oxygen:[0,6,7],oxygen_neon_white_dwarf:0,p0:31,p1:31,p2:31,p3:31,p:[6,8,12,13,14,16,31,33],p_:8,p_in:5,p_out:5,packag:[3,7,15,19,22,34,35,36,37,39],paczynski:[0,7],pad:[8,12,13,14],pad_output_distribut:[6,8,12,13,14,19],page:[0,6,7,15,22,39],pair:[0,2,5,19,34,38],panda:[6,8,11,12,13,14,16,17,18,19,22,24,39],pane:24,panel:[0,7],paper:[0,7],parallel:34,param_nam:19,paramet:[1,2,3,4,6,7,8,9,11,12,13,14,15,19,20,21,22,24,25,28,29,30,31,33,34,36,37,38,40,42],parameter_nam:[3,6,7,8,10,12,13,14,15,19,34],parameter_value_input_typ:[10,19],pars:[3,4,6,8,11,12,13,14,15,18,19,20,24,38,40],parse_binary_c_version_info:38,parse_cmdlin:20,parse_const:3,parse_data:8,parse_float:3,parse_funct:[6,8,11,12,13,14,15,20,21,40],parse_function_hr_diagram:24,parse_function_mass:24,parse_function_orbit:24,parse_int:3,parse_output:18,parsec:31,part:[6,7,11,12,13,14,15,18,20,29,31,34,36,42],partial:[0,7],particularli:[0,7],partit:21,partner:30,pasp:31,pass:[2,7,9,11,15,16,18,19,20,21,22,24,25,26,29,30,36,37,39,40],path:[11,15,18,19,21,22,25,28,29,30,33,36,39],patho:[22,39],pd:[6,8,11,12,13,14,16,17,18],pdf:[0,7,18,22,31,39],peak:[8,13,14,37],peak_normalized_gaussian_func:37,pend:[0,5,7],per:[0,5,7,8,11,12,15,19,21,30,42],percentag:[0,7],peret:[0,7],perfect:[13,14],perfectli:[12,13,14],perform:[0,7,30],perhap:[0,6,7,8,20],periastron:[0,7],pericent:42,period:[0,5,7,8,9,11,12,13,14,15,16,18,24,31,42],period_str:31,perl:[1,2,12,13,14,15,29],persist:7,persistent_data:7,pgo:[0,7],phase:[0,6,7,8,12,13,14],phasevol:[0,7,15],phdi:0,phi:[5,18],photoevapor:[0,7],php:31,physic:[6,12,13,14,15,21],pick:24,pickl:30,pid:20,piec:[15,18,34],pinnsonneault:[0,7],pisn:0,pkg:[22,39],pl:20,place:[0,2,7,12,19,21],placehold:[24,28,29,30],plai:[0,7,13,14],plan:21,planet:16,planetari:[0,7],plaw2:21,pleas:[0,6,7,12,13,14,15,19,21,28],plot:[0,6,7,8,11,12,13,14,16,17,18,24],plot_data:[8,12,13,14],plot_funct:[22,23],plot_hr_diagram:24,plot_hr_diagram_singl:24,plot_mass:24,plot_orbit:24,plot_system:24,plot_typ:24,plt:[6,8,13,14,16,18],plu:[0,7],pluto:16,pm:24,pms_mass_1:24,pms_mass_2:24,pn:[0,7],pn_comenv_transition_tim:[0,7],pn_fast_wind:[0,7],pn_fast_wind_dm_agb:[0,7],pn_fast_wind_dm_gb:[0,7],pn_fast_wind_mdot_agb:[0,7],pn_fast_wind_mdot_gb:[0,7],pn_hall_fading_time_algorithm:[0,7],pn_hall_fading_time_algorithm_maximum:[0,7],pn_hall_fading_time_algorithm_minimum:[0,7],pn_resolv:[0,7],pn_resolve_maximum_envelope_mass:[0,7],pn_resolve_minimum_effective_temperatur:[0,7],pn_resolve_minimum_luminos:[0,7],pne:[0,7],png:18,pogg:[0,7],point:[0,3,6,7,19,20,21,22,30,31,37,39],poisson:[21,31],pol:[0,7],polytrop:[0,7],poor:[13,14],pop:[5,9,16,28],pop_macro:9,popitem:28,popul:[0,3,4,7,22,23,39,40],population_extens:[20,25,26,27,28,29,30,31,32,33,34,35,36,37,38],population_id:21,population_nam:[6,8,12,14,15],population_object:30,population_set:20,posit:[0,2,7,8,31],possibl:[0,1,2,6,7,11,16,19,21,22,28,31,33,39],post:[0,5,6,7,8,9,20],post_ce_adaptive_menv:[0,7],post_ce_envelope_dm_eagb:[0,7],post_ce_envelope_dm_gb:[0,7],post_ce_envelope_dm_tpagb:[0,7],post_ce_objects_have_envelop:[0,7],post_comenv_period:8,post_sn_orbit_bs:0,post_sn_orbit_method:[0,7],post_sn_orbit_tt98:0,postagb_legacy_log:[0,7],postagb_wind_gi:0,postagb_wind_krticka2020:[0,7],postagb_wind_non:[0,7],postagb_wind_use_gi:[0,7],postagbwind:[0,7],postcod:[6,8,15,34],potenti:[0,7],pow2:6,power:[0,7,8,13,14,21,31],powerlaw:31,powerlaw_const:31,powerlaw_constant_nocach:31,powerlaw_extrapolation_q:31,ppisn:0,ppisn_additional_massloss:0,ppisn_core_mass_range_shift:0,ppisn_farmer19:0,ppisn_new_fit_21:0,ppisn_non:0,ppisn_prescript:0,ppn_envelope_mass:[0,7],pragma:9,pre:[0,5,7,8,18,24],pre_comenv_period:8,pre_events_stardata:[0,7],pre_main_sequ:[0,7],pre_main_sequence_fit_lob:[0,7],precis:3,precod:[6,8,12,13,14,15,34],predefin:[12,13,14,15,31],predict:21,predictor:[0,7],prefer:[0,7,20],prefix:[0,7],preloaded_popul:30,prep:0,prepar:2,prepare_dict:2,presc:5,prescrib:[0,7],prescript:[0,5,7,15],prescrit:[0,7],present:[2,3,6,12,13,14,15,18,20,30,31],preserv:[0,7],preset:24,pressur:[0,7],prev_stellar_type_1:15,prev_stellar_type_2:15,prevent:[0,5,6,7,21],previou:[8,13,14,19,21,38],previous:[11,15,25],previous_stardata:[1,8,9,11,15],primari:[1,6,8,12,13,14,15,31,34,42],prime:8,pringl:[0,7],print:[2,5,6,7,8,9,10,11,12,13,14,15,16,18,19,21,25,32,33],print_help:[10,19],print_info:33,print_option_descript:33,print_stack_on_exit:21,print_structur:2,printf:[1,6,8,9,11,12,13,14,15,17,18],prior:[0,6,7],privat:[20,22],prob_dict:31,probability_weighted_mass:21,probabl:[0,1,2,6,7,8,9,12,13,14,15,18,20,21,24,30,31,33,34],probdist:[6,8,12,13,14,15,34],problem:[0,7,12],probtot:[13,14],process:[0,6,7,8,12,13,14,15,17,18,19,20,21,25,29],process_:30,processor:[6,8,12],produc:6,profil:[0,7],progenitor:[0,7,15],program:[6,22,39],progress:19,project:[0,7],proper:[6,9,33],properli:[0,7],properti:[0,19,21,24,34],proport:8,prot1:[0,7],prot2:[0,7],prot3:[0,7],prot4:[0,7],provid:[0,7,15,20,21,25,31,40],pseudorandom:[0,7],publicli:9,puls:[0,6,7,42],pulsat:0,pump:[0,7],purpos:[12,13,14,15,21,24],push:16,push_macro:9,put:[1,6,8,12,13,14,15,18,19,21,24,25,33,34,35],pwd:21,py:[6,8,12,13,14,15,16,21,22,28,39],py_rinterpol:[22,39],pyenv:[22,39],pyplot:[6,8,13,14,16,18],pysiz:19,pytest:[22,39],python3:[7,22,39],python:[2,3,4,6,8,12,13,14,19,21,28,30,31,34],q:[0,5,7,8,12,15,18,21,31,42],q_high_extrapolation_method:21,q_interpol:31,q_low_extrapolation_method:21,q_min:31,qc:5,qcrit_bh:[0,7],qcrit_bs:0,qcrit_cheb:[0,7],qcrit_chen_han_formula:0,qcrit_chen_han_t:0,qcrit_cowd:[0,7],qcrit_degenerate_bh:[0,7],qcrit_degenerate_cheb:[0,7],qcrit_degenerate_cowd:[0,7],qcrit_degenerate_eagb:[0,7],qcrit_degenerate_gb:[0,7],qcrit_degenerate_hegb:[0,7],qcrit_degenerate_hehg:[0,7],qcrit_degenerate_hem:[0,7],qcrit_degenerate_hewd:[0,7],qcrit_degenerate_hg:[0,7],qcrit_degenerate_lmm:[0,7],qcrit_degenerate_m:[0,7],qcrit_degenerate_n:[0,7],qcrit_degenerate_onewd:[0,7],qcrit_degenerate_tpagb:[0,7],qcrit_eagb:[0,7],qcrit_gb:[0,7],qcrit_gb_bs:0,qcrit_gb_chen_han_formula:0,qcrit_gb_chen_han_t:0,qcrit_gb_ge2015:0,qcrit_gb_hjellming_webbink:0,qcrit_gb_q_no_comenv:0,qcrit_gb_temmink2021:0,qcrit_gb_vos2018:0,qcrit_ge2015:0,qcrit_hegb:[0,7],qcrit_hehg:[0,7],qcrit_hem:[0,7],qcrit_hewd:[0,7],qcrit_hg:[0,7],qcrit_hjellming_webbink:0,qcrit_lmm:[0,7],qcrit_m:[0,7],qcrit_n:[0,7],qcrit_onewd:[0,7],qcrit_q_no_comenv:0,qcrit_temmink2021:0,qcrit_tpagb:[0,7],qcrit_vos2018:0,qcrits_:[0,7],qcrits_degenerate_:[0,7],qdata:31,qlimit:31,qmin:31,qs:31,quad:21,quadrat:[0,7],quadrulpl:[0,7],quadrupl:[0,7,21,31],quantiti:24,queri:[11,25],queue:[6,8,12,21,25,29],quickli:11,quit:[0,6,7,19,31],r1:[5,11,18],r2:[5,11,18],r:[0,1,5,6,7,11,15,18,22,30,39],r_l:42,r_sun:6,radau:[0,7],radi:[0,7],radiat:[0,7],radii:[0,7,42],radiu:[0,1,6,7,9,15,17,24,42],radius_1:24,radius_2:24,ragb:42,raghavan2010_binary_fract:31,raghavan:31,rai:[0,7],railton:[0,7],rais:[0,2,7,15,19,21],ram:[0,7,21],ran:[6,8,12,21],randbuf:[5,18],random:[0,5,7,18,21],random_count:[5,11,18],random_se:[0,5,7,11,18],random_skip:[0,7],random_system:[0,7],random_systems_se:[0,7],rang:[0,6,7,8,11,12,13,14,15,21,31,34,37],rapid:[0,7],rapidli:[0,7],rappaport:[0,7],rate:[0,7,13,14,31],rather:[0,2,7,9,11,15,19,21,22,25,38,39],ratio:[0,6,7,8,12,13,14,15,31,42],raw:[3,7,18,19,20,21,24,38,40],raw_output:3,rc:[5,6,8,12,13,14,16,24],re:[0,1,6,7,8,12,13,14,16,25,33],reach:[0,5,6,7,8],reaction:[0,7],read:[3,4,5,11,15,18,19,21,30],readabl:19,readlin:5,real:[6,12,15,34],realist:[13,14],realiti:[13,14],realli:[0,6,7,15,20,21,33,34],reason:[0,7,13,14],rebuild:[0,7,21,22,25,39],rebuilt:[22,39],recalcul:[0,7],receiv:19,recent:[13,16],recogn:15,recognis:30,recombin:[0,7],recommend:[1,4,22,39],recompil:[12,13,14,15,22,39],reconsid:33,recurs:[2,19],recursive_change_key_to_float:2,recursive_change_key_to_str:2,red:[0,6,7,13,14,16],redhat:1,redshift:31,reduc:[0,5,7],reduct:21,refer:[2,21,30],refpop:30,regardless:24,region:[0,7,37],regist:15,reignit:[0,7],reimer:[0,7],reinstal:[22,39],reject:[0,7],rejects_in_log:[0,7],rejuven:[0,7,12],rel:[0,7],relat:[0,7],releas:[19,22,39],relev:20,reliabl:7,remain:[0,7,19,21],rememb:[5,6,13,14],remesh:[0,7],remnant:[0,6,7],remov:[0,2,7,8,11,15,16,19,20],remove_fil:19,renam:[13,14,34],rename_grid_vari:[13,14,34],renormalis:31,rentrop:[0,7],repeat:[0,7,21],replac:29,repo:22,report:[0,6,7,8,12,13,14,15],repositori:4,repres:21,represent:[3,15,34],reproduc:[0,7],requir:[0,3,7,8,11,12,13,14,15,16,18,19,21,24,25,31,40],rerun:[6,21],reset:[0,7],reset_pref:[0,7],reset_star:[0,7],reset_stars_default:[0,7],resolut:[0,6,7,8,12,13,14,15,21,34,37],resolv:[0,7,12,30],reson:[0,7],resourc:[13,14,25],respect:[0,7,29,31,36],rest:[15,31,34],restor:25,restore_from_snapshot_dir:21,restore_from_snapshot_fil:[21,25],restructuredtext:19,result:[0,1,2,3,6,7,8,11,12,13,14,15,18,19,21,22,25,30,31,37,39],result_arrai:31,result_dict:2,result_example_head:18,result_example_header_1:18,result_example_header_2:18,results_dictionari:[6,8,12,13,14],retain:[0,7],rethink:19,return_after_dry_run:21,return_all_info:20,return_arglin:7,return_binary_c_default:20,return_binary_c_version_info:[10,20,38],return_compilation_dict:1,return_help:7,return_help_al:[7,19],return_maximum_mass_ratio_for_rlof:[7,42],return_minimum_orbit_for_rlof:[7,42],return_persistent_data_memaddr:7,return_population_set:20,return_store_memaddr:7,return_version_info:[7,38],reus:20,revap_in:[0,7],revap_out:[0,7],revers:[0,7,24],reverse_tim:[0,7],revis:[0,38],rewrit:20,rgb:6,rhagavan:21,ri0005:[6,15],rich:[0,7],riello:[0,7],rin:[0,7],ring:[0,7],risk:[15,34],ritter:[0,7],rk2:[0,7],rk4:[0,7],rl1:5,rl2:5,rl:[0,5,7],rlof:[0,5,7,42],rlof_angular_momentum_transfer_model:[0,7],rlof_angular_momentum_transfer_model_bs:0,rlof_angular_momentum_transfer_model_conserv:0,rlof_eccentric_as_circular:[0,7],rlof_entry_threshold:[0,7],rlof_f:[0,7],rlof_interpolation_binary_c:0,rlof_interpolation_bs:0,rlof_interpolation_method:[0,7],rlof_mdot_factor:[0,7],rlof_mdot_modul:[0,7],rlof_method:[0,7],rlof_method_adapt:0,rlof_method_adaptive2:0,rlof_method_bs:0,rlof_method_claei:0,rlof_method_ritt:0,rlof_nonconservative_gamma_donor:0,rlof_nonconservative_gamma_isotrop:0,rlof_radiation_correct:[0,7],rlof_transition_objects_escap:[0,7],rob:[0,7,31,42],robert:[22,39],roch:[0,5,7,8,42],roche_lob:42,rochelob:42,rol1:[5,11,18],rol2:[5,11,18],room:[15,34],root:[22,39],rotat:[0,7,31],rotation:[0,7],rotationally_enhanced_expon:[0,7],rotationally_enhanced_mass_loss:[0,7],rotationally_enhanced_massloss:[0,7],rotationally_enhanced_massloss_angmom:0,rotationally_enhanced_massloss_langer_formula:[0,7],rotationally_enhanced_massloss_langer_formula_and_angmom:0,rotationally_enhanced_massloss_non:0,rough:6,rout:[0,7],routin:[0,2,4,7,22,24,40],row:[11,18,24],rrcach:21,rring:[0,7],rssd:31,rst:[19,33],rsun:[6,24],run:[0,1,4,5,6,7,8,12,13,14,17,19,20,21,22,25,27,29,31,34,36,39,40,42],run_and_calc_mass:18,run_binary_custom_log:18,run_popul:7,run_system:[5,7,9,10,11,16,17,24,40],run_system_wrapp:[4,5,9,17,22,23],run_zero_probability_system:21,runawai:[5,18],rungrid:21,runtim:[1,21],russel:[0,4,7,22],rzam:[5,42],s:[0,2,3,5,6,7,8,11,13,14,15,16,18,19,20,21,25,27,28,30,31,35,42],safe:[15,30],sai:[0,6,7],said:[0,7],same:[0,2,7,11,15,21,22,31,34,39,40],sampl:[0,4,7,12,15,31,34,37],sample_valu:31,sampler:22,samplerfunc:[6,8,12,13,14,15,21,34,37],sana12:[8,12,15,31],sana:31,sander:0,saturn:16,save:[0,1,6,7,8,9,12,13,14,15,21,25,30,31,37],save_ensemble_chunk:21,save_loop:18,save_population_object:[21,30],save_pre_events_stardata:[0,7],save_snapshot:[20,21,30],sbatch:21,scalar:19,scalo:31,scandir:30,scanf:0,scene:18,scheme:[0,7],schneider:[0,7],schroeder:[0,7],scientif:19,script:[4,9,19,21,22,25,29,36,39],sdb:[0,7],sdo:[0,7],seaborn:[6,8,12,13,14,16],search:[6,12,16,22],search_for_bhbh:5,second:[0,2,7,8,16,19,24,30,31,32],secondari:[5,6,12,31,42],section:[7,15,19,22,31,39],see:[0,5,6,7,8,9,10,11,12,13,14,15,18,20,21,22,24,28,30,31,34,38,39],seed:[0,7],seem:[22,24,33,39],seen:19,segment:37,seitenzahl2013_model:[0,7],seitenzahl:[0,7],select:[0,3,7,11,12,16,18,19],select_kei:3,selected_head:[18,19],selector:[0,7],self:[6,8,11,12,13,14,15,20,21,25,28,29,30,31,34,36,37,38],semi:[0,7],sent:[0,7],sentenc:1,sep:[5,8,11,12,15,18,30,31,42],sep_max:[8,12,15],sep_min:[8,12,15],separ:[0,3,5,6,7,9,11,15,16,17,18,24,30,31,42],separation_quadrupl:[0,7],separation_tripl:[0,7],separta:[0,7],seper:15,sepf:5,sequenc:[0,6,7,9,12,13,14,18],sequnec:[12,13,14],seri:[0,7,37],serialis:3,serv:[18,19],server:18,set:[0,1,2,3,4,5,9,10,11,16,18,19,20,21,22,24,25,26,27,28,29,30,31,33,34,36,37,38,39],set_condor_statu:29,set_context:[6,8,12,13,14,16],set_moe_di_stefano_set:26,set_opt:[2,6,8,16],set_slurm_statu:36,set_statu:30,set_tim:27,set_titl:18,set_xlabel:[6,8,12,13,14,16,18],set_ylabel:[6,8,12,13,14,16,18],set_yscal:18,setter:28,setup:[6,15,40],setup_function_cach:28,sever:[10,15,18,21,24,33,40],sfh:31,sh:[22,39],shannon:37,shara:[0,7],share:[1,11,17,18,21,30,40],shared_lib_filenam:9,shared_memori:30,shell:[0,7,19],shellular:[0,7],shift:0,shorten:[0,5,7],shorter:5,shortli:6,should:[0,1,2,5,6,7,8,11,12,13,14,15,18,19,21,22,24,25,29,30,31,33,36,37,39,40],shouldn:[0,7,19],show:[0,4,5,6,7,8,11,12,13,14,15,18,21,24,37],show_plot:24,show_stellar_typ:24,showlist:37,shown:[0,7,24,37],showtabl:37,shrink:[5,8],shrinkagb:11,side:[12,13,14,15],siess:[0,7],sigint:21,sigkil:21,sigma:[31,37],signal:[6,8,12,21],silent:19,sill:[0,7],sim10:8,sim:6,similar:37,simpl:[6,8,12,16],simplest:11,simpli:[0,7,13,14],simul:[0,1,6,7,8,9,12,13,14,15,36],simulation_:20,sinc:[19,24,31],singl:[0,4,5,6,7,12,13,14,15,17,18,20,21,24,25,31],single_star_lifetim:[7,9,11],sit:[0,7],site:7,situat:7,size:[19,21,28],skip:[0,2,6,7,8,12,21],skipkei:3,slice:18,sliced_df:18,slightli:7,slope:31,slow:[0,6,7,8,12,13,14],slower:[0,7],slurm:[21,22,23,25],slurm_arrai:21,slurm_array_max_job:21,slurm_bash:21,slurm_check_requir:36,slurm_dat:21,slurm_dir:[21,25,29,36],slurm_env:21,slurm_extra_set:21,slurm_grid:36,slurm_jobarrayindex:[21,36],slurm_jobid:[21,36],slurm_jobnam:21,slurm_memori:21,slurm_njob:21,slurm_ntask:21,slurm_outfil:36,slurm_partit:21,slurm_postpone_join:21,slurm_postpone_sbatch:21,slurm_pwd:21,slurm_queue_stat:[25,36],slurm_sbatch:21,slurm_status_fil:36,slurm_tim:21,slurm_warn_max_memori:21,slurmid:36,slurmpath:36,small:[0,5,7,13,14],small_envelope_method:[0,7],small_envelope_method_bs:0,small_envelope_method_miller_bertolami:0,smaller:[0,7,37],smarter:[13,14],smooth:[6,13,14],smoother:[8,13,14],sn:[0,5,6,7,8,12,13,14,16,18],sn_impulse_liu2015:0,sn_impulse_non:0,sn_impulse_wheeler1975:0,sn_kick_companion_a:[0,7],sn_kick_companion_aic_bh:[0,7],sn_kick_companion_bh_bh:[0,7],sn_kick_companion_bh_n:[0,7],sn_kick_companion_ecap:[0,7],sn_kick_companion_grb_collapsar:[0,7],sn_kick_companion_hestaria:[0,7],sn_kick_companion_ia_chand:[0,7],sn_kick_companion_ia_chand_co:[0,7],sn_kick_companion_ia_eld:[0,7],sn_kick_companion_ia_h:[0,7],sn_kick_companion_ia_he_co:[0,7],sn_kick_companion_ia_hybrid_hecowd:[0,7],sn_kick_companion_ia_hybrid_hecowd_sublumin:[0,7],sn_kick_companion_ibc:[0,7],sn_kick_companion_ii:[0,7],sn_kick_companion_iia:[0,7],sn_kick_companion_ns_n:[0,7],sn_kick_companion_phdi:0,sn_kick_companion_pisn:0,sn_kick_companion_ppisn:0,sn_kick_companion_tz:[0,7],sn_kick_companion_wdkick:[0,7],sn_kick_dispersion_aic_bh:[0,7],sn_kick_dispersion_bh_bh:[0,7],sn_kick_dispersion_bh_n:[0,7],sn_kick_dispersion_ecap:[0,7],sn_kick_dispersion_grb_collapsar:[0,5,7],sn_kick_dispersion_ia_hybrid_hecowd:[0,7],sn_kick_dispersion_ia_hybrid_hecowd_sublumin:[0,7],sn_kick_dispersion_ibc:[0,5,7],sn_kick_dispersion_ii:[0,5,7],sn_kick_dispersion_ns_n:[0,7],sn_kick_dispersion_phdi:0,sn_kick_dispersion_pisn:0,sn_kick_dispersion_ppisn:0,sn_kick_dispersion_tz:[0,7],sn_kick_distribution_aic_bh:[0,7],sn_kick_distribution_bh_bh:[0,7],sn_kick_distribution_bh_n:[0,7],sn_kick_distribution_ecap:[0,7],sn_kick_distribution_grb_collapsar:[0,7],sn_kick_distribution_ia_hybrid_hecowd:[0,7],sn_kick_distribution_ia_hybrid_hecowd_sublumin:[0,7],sn_kick_distribution_ibc:[0,7],sn_kick_distribution_ii:[0,7],sn_kick_distribution_ns_n:[0,7],sn_kick_distribution_phdi:0,sn_kick_distribution_pisn:0,sn_kick_distribution_ppisn:0,sn_kick_distribution_tz:[0,7],sn_none:9,sn_type:9,snapshot:[21,25,30],snapshot_filenam:30,sneia:[0,7],snia:[0,7],snippet:[7,11],so:[0,2,5,6,7,8,9,11,12,13,14,15,20,21,24,25,30],solar:[0,4,6,7,8,10,22,31,42],solver:[0,7],solver_forward_eul:0,solver_predictor_corrector:0,solver_rk2:0,solver_rk4:0,some:[0,1,6,7,8,9,10,11,12,13,14,15,18,21,22,24,29,31,34,35,36,39],someth:[0,6,7,8,11,12,13,14,21,42],sometim:10,somewhat:[12,13,14,15,16],soon:37,sort:[2,6,12,13,14,16,19,30],sort_kei:[3,30],sourc:[1,2,3,8,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40,42],source_file_filenam:21,source_list:20,sourcecod:[7,9,22,39],sourcefile_nam:1,sp:31,space:[0,6,7,12,13,14,15,30,34,37],spacing_funct:[20,22,23],spawn:19,special:[0,7,15],specif:[0,7,10,11,24,29,36],specifi:[0,7,21,25,37],spectral:31,speed:[0,7,28],speedtest:[0,7],spent:19,spera:[0,7],spheric:[0,7],spiki:[13,14],spin:[0,7,16],spinrat:[0,7],split:[0,5,7,11,15,16,18,21,29,36],split_lin:11,splitlin:[6,7,8,9,11,12,13,14,15,16],splitpoint:[0,7],spread:20,sqrt:[0,7],src:[0,7,9,22,39],st1:18,st2:18,st:5,stabil:[0,7],stabl:[0,7,22,39],stack:21,stackoverflow:31,stacktrac:20,stage:25,stancliff:[0,7],standard:[0,7,12,13,14,29,31,36,37],star1:16,star:[1,4,5,7,8,9,10,11,12,13,15,16,17,18,21,22,24,29,31,36,37,42],star_with_no_mass:0,starcount:[6,8,12,14,15],stardata:[0,1,6,7,8,9,11,12,13,14,15,17,18],stardata_dump_filenam:[0,7],stardata_load_filenam:[0,7],stardata_t:9,starnum:[6,12],start:[0,1,5,6,7,8,11,12,13,14,15,18,19,21,27,33,34],start_at:21,start_tim:[0,7,21],start_timestamp:[6,8,12,14,15],startrack:[0,7],startswith:11,stat:25,state:[0,7,30],statement:[1,9,11,12,13,14,15,16,17,18,21],statist:[0,7,21,29],statu:[0,1,6,7,8,12,13,14,15,21,25,29,30,36],status_dir:21,stderr:[0,7,21],stdout:[19,21,37],steadi:[0,7],stefan:24,stefano:[15,22,26,31],stellar:[0,4,5,7,14,21,22,24,31,37,38,41],stellar_structure_algorithm:[0,7],stellar_structure_algorithm_external_funct:0,stellar_structure_algorithm_mint:0,stellar_structure_algorithm_modified_bs:0,stellar_structure_algorithm_non:0,stellar_typ:[1,6,9,11,12,13,14,15,22,23,24],stellar_type1:5,stellar_type2:5,stellar_type_1:[0,7,15,24],stellar_type_2:[0,7,15,24],stellar_type_3:[0,7],stellar_type_4:[0,7],stellar_type_dict:41,stellar_type_dict_short:41,step:[3,6,8,9,11,12,13,14,15,24,34,37],stepsiz:[15,34],stick:21,stiff:[0,7],still:[1,9,16,21,42],stop:[0,6,7,8,12,18,19,21],stop_queu:21,stopfil:[0,7],storag:[0,7],store:[0,2,4,6,8,11,12,13,14,15,19,20,21,22,30,37,39,42],store_capsul:7,store_memaddr:[7,42],str:[1,2,3,5,6,15,19,20,24,30,33,34,38],straightforward:[6,12,13,14,15],straniero:[0,7],stream:21,strength:[0,7],strict:3,strictli:[12,13,14],string:[0,1,2,3,4,7,11,12,13,14,15,16,19,20,21,24,25,29,30,33,34,36,38,40],strip:[0,7,11,16],strong:6,stronger:[0,6,7],struct:[0,7,9],structur:[0,2,7,8,19,21,24],studi:6,stuff:[11,15,21],style:[0,7,19,32],sub:[0,2,7,19],subdict:2,subject:[0,7],sublumin:[0,7],submiss:21,submit:[21,22],subplot:18,subsequ:[0,7],subtract:2,subtract_dict:2,succe:[0,7],suddenli:6,suffer:6,suffici:6,suggest:[0,7,22,39],suit:[22,39],suitabl:37,sum:[0,2,7],sun:16,sundial:[0,7],supercrit:[0,7],superflu:16,supernova:[0,5,7,8,21],superwind:[0,7],superwind_mira_switchon:[0,7],support:30,sure:[2,11,12,13,14,15,22,25,30,31,39,40],surfac:[0,7],surrei:[6,15],surviv:[0,7,16],survivor:[0,7],sview:21,swallow:16,switcher:[0,7],sy:20,symlink:[6,8,12,15],symlink_latest_gridcod:21,symmetr:[0,7],synchron:[0,7],synonym:[0,7],synthesi:[12,13,14,15,21,22,39],system:[0,4,6,7,8,9,12,13,14,15,17,18,19,20,21,22,24,31,32,35,39,40,42],system_dict:32,system_gener:[15,30],system_numb:32,system_queue_fil:[6,8,12],t:[0,1,2,5,6,7,11,13,14,15,19,21,25,30,37],t_:6,tabl:[0,7,31,37],take:[0,2,7,8,12,15,18,19,21,26,30,31,34,40],taken:[0,2,7,9,31],talk:6,target:[1,33],task:[0,7,15,18,19,20,24,25,28,31,37,40,42],tauri:[0,7],tbse:[0,7],te:21,technic:[6,8,9,12,13,14,15],teff:[0,5,7,31],teff_1:24,teff_2:24,teff_from_star_struct:6,teff_postagb_max:[0,7],teff_postagb_min:[0,7],tell:[19,25],temp_dir:[5,6,8,11,13,14,15,16,19],temperatur:[0,7,16,24,31],tempfil:18,term:2,termin:[1,6,9,15,22,39],test:[0,7,11,15,19,21,22,25,28,30,39],test_cach:28,test_data:[0,7],test_func:7,test_log:18,test_logfil:11,test_pop:15,text:[6,8,16,19,33],than:[0,2,6,7,8,12,13,14,15,19,21,22,25,30,31,38,39],thats:15,thei:[0,2,5,6,7,8,12,15,16,20,21,24,25,29,36,37],thelog:[0,7],them:[2,6,7,8,15,17,18,19,29,30,31,33,40],themselv:[3,31],theoret:[12,13,14],thermal:[0,6,7,31,42],thermally_pulsing_asymptotic_giant_branch:0,thermohalin:[0,7],thermonuclear:6,thesi:[0,7],thi:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,36,37,38,39,40,42],thick:[0,7],thick_disc_end_ag:[0,7],thick_disc_logg_max:[0,7],thick_disc_logg_min:[0,7],thick_disc_start_ag:[0,7],thin:[0,7],thing:[0,3,6,7,8,12,13,14,15,18,19,20,31,40],think:[0,7,19,20],third:[0,7,16,31,37],third_dup:[0,7],third_dup_multipli:[0,7],thorn:[0,7],those:[2,6,8,12,13,14,15,18,20,22,31,38,39],thread:[6,8,12,13,14,19,21,32],thread_id:21,three:[0,7,13,14,15,31],three_part_powerlaw:[8,12,13,14,15,31],threshold:[0,7,19,21],through:[6,7,11,12,13,14,15,24,25,34,40],throughout:[12,13,14,15,34],thu:37,tidal:[0,5,7],tidal_strength_factor:[0,7],tide:[0,7,16],tides_convective_damp:[0,7],tides_diagnosis_log:[0,7],tides_hurley2002:[0,7],tides_zahn1989:[0,7],tight:18,time:[0,1,2,3,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,24,27,30,31,32,37,39],time_elaps:27,timedelta:19,timescal:[0,7],timestamp:[21,27],timestep:[0,7,8,9,11,12,13,14],timestep_limit:[0,7],timestep_log:[0,7],timestep_modul:[0,7],timestep_multipli:[0,7],timestep_solver_factor:[0,7],tini:6,tinslei:31,tip:[6,31],titl:[12,33],tmax:37,tmin:37,tmp:[0,6,7,8,11,12,13,14,15,16,19,22,39],tmp_dir:[5,6,8,11,13,14,15,16,21,34],tmp_tabl:31,toasti:16,todo:[0,1,2,5,7,10,15,19,20,21,24,25,29,30,31,32,33,36,37,38,40,42],toler:[0,7],too:[0,2,6,7,13,14,16,21,22,39,40],took:[6,8,12,14,15,18],tool:21,top:[0,15,34],topcod:[6,8,15,34],topic:[0,7],torqu:[0,7],total:[0,2,6,7,8,12,13,14,15,18,19,21,24,31,34],total_count:[6,8,12,14,15],total_mass_run:[6,8,12,14,15],total_prob:[6,8,12,13,14,15],total_probability_weighted_mass_run:[6,8,12,14,15],touch:[25,30],tout:[0,7,42],tout_pringle_1992_multipli:[0,7],tp:[0,7],tpagb:[0,6,7],tpagb_reimers_eta:[0,7],tpagb_wind_beasor_etal_2020:0,tpagb_wind_bloeck:0,tpagb_wind_goldman_etal_2017:0,tpagb_wind_mattsson:0,tpagb_wind_reim:0,tpagb_wind_rob_cwind:0,tpagb_wind_van_loon:0,tpagb_wind_vw93_karaka:0,tpagb_wind_vw93_karakas_carbon_star:0,tpagb_wind_vw93_orig:0,tpagb_wind_vw93_orig_carbon_star:0,tpagbwind:[0,7],tpagbwindfac:[0,7],tpr:[8,12],trace:21,traceback:[13,16],track:[6,21,24],trade:[0,7],trail:[19,37],transfer:[0,6,7,21],transform:[0,3,7],transit:[0,7],treat:[0,7,37],trem:19,trigger:[0,7],trio:[12,13,14,15],tripl:[0,7,21,31],truli:[0,7],ttlcach:21,tupl:[1,6,19,25,30,37],turn:[0,2,3,5,7,11,15],tutori:[4,22],two:[0,2,6,7,9,19,30,32,41,42],txt:[11,15,18,22,30,39,40],type:[0,1,2,3,5,7,8,11,12,13,14,15,18,19,20,21,24,25,30,31,33,34,37,38,41,42],type_chng:[5,11,18],type_ia_mch_supernova_algorithm:[0,7],type_ia_sub_mch_supernova_algorithm:[0,7],typeerror:13,typic:[0,7],ubvri:[0,7],ugriv:[0,7],uk:[6,15],unavail:[0,7],unbound:5,unclos:30,uncom:[11,12,13,14,15,16],unction:7,undef:9,under:[11,37],undergo:[0,8],understand:21,undescrib:33,unexpect:13,uniform:31,union:[2,15,19,31,34,37,38,42],uniqu:[2,15,18,21],unit:[0,6,7,10,19,42],univari:[0,7],univers:[6,8,21],unix:32,unknown:40,unless:[1,20,21],unlik:[13,14],unload:20,unlock:30,unmerg:8,unnecessari:33,unpars:7,unphys:[5,8,12],unrecogn:[22,39],unresolv:12,unsign:0,unstabl:[0,5,7],until:[0,2,6,7,30,31],unus:[0,7,21],unweight:15,up:[0,1,4,9,11,16,19,20,25,26,28,29,31,36],updat:[2,13,14,15,20,22,34,39],update_dict:[2,10],update_grid_vari:[13,14,34],upon:42,upper:[0,7,31,37],uranu:16,us:[0,1,2,3,4,10,11,15,19,20,21,22,24,25,26,27,28,29,30,31,33,34,36,37,38,39,40,42],usag:[0,4],use_astropy_valu:24,use_datadir:[15,20],use_fixed_timestep_:[0,7],use_lwn_fallback:0,use_periastron_roche_radiu:[0,7],use_tabular_intershell_abundances_karakas_2012:[0,7],usecach:37,usecas:4,useful_func:[22,23],user:[1,9,19,20,21,26,31,33,40],usernam:19,usr:21,usual:[0,5,6,7,12,13,14,15,19,21,30,31],utf:[3,30],util:[1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,40,42],v:[5,18,22,39],val:31,valid:[0,7,9,19,31],valu:[0,1,2,3,6,7,10,11,12,13,14,15,18,19,20,21,24,27,28,31,33,34,37],value_lin:11,valueerror:15,valuerang:[6,8,12,13,14,15,34],values_arrai:11,van:[0,7],vandenheuvel_log:[0,7],vanilla:21,vari:[0,6,7,8,15],variabl:[0,4,6,7,8,19,21,29,30,34],variant:[0,7],variou:[0,7],vassiliadi:[0,7],vb1print:32,vb2print:32,vb:[5,25,28,30,37],ve:27,veloc:[0,7,31],venu:16,verbos:[1,6,8,11,12,13,14,15,17,19,21,22,26,30,31,32,37,39],verbose_print:[19,32],veri:[0,5,6,7,8,9,11,13,14,15,30,34,37],versa:42,version:[0,2,7,10,15,19,20,22,38,39],version_info:[20,22,23],version_info_dict:10,version_info_str:38,version_onli:[0,7],via:[4,6,7,9,12,13,14,15,20,21,24],vice:42,vink:[0,7],virtual:[22,39],virtualenviron:[22,39],viscos:[0,7],viscou:[0,7],visibl:9,visit:22,vk:[5,18],vn:[5,18],volum:[0,7],vr:[5,18],vrot1:[0,7],vrot2:[0,7],vrot3:[0,7],vrot4:[0,7],vrot_breakup:0,vrot_bs:0,vrot_non_rot:0,vrot_sync:0,vs:[16,24],vw93:[0,7],vw93_eagb_wind_spe:[0,7],vw93_mira_shift:[0,7],vw93_multipli:[0,7],vw93_tpagb_wind_spe:[0,7],vwind:[0,7],vwind_beta:[0,7],vwind_multipli:[0,7],w:[1,11,15,20,30],wa:[0,6,7,10,11,13,14,15,20,21,22,30,31,39],wai:[0,2,7,11,13,14,20,21,25],wait:30,wait_for_unlock:30,wang:[0,7],want:[0,2,3,5,7,8,9,10,12,13,14,15,18,19,21,22,24,25,30,31,33,34,39],warmup_cpu:[0,7],warn:[0,7,11,15,21,25],was_kil:20,wast:[8,13,14],wave:[0,6,7,8,15],wd:[0,7],wd_accretion_rate_new_giant_envelope_lower_limit_helium_donor:[0,7],wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor:[0,7],wd_accretion_rate_new_giant_envelope_lower_limit_other_donor:[0,7],wd_accretion_rate_novae_upper_limit_helium_donor:[0,7],wd_accretion_rate_novae_upper_limit_hydrogen_donor:[0,7],wd_accretion_rate_novae_upper_limit_other_donor:[0,7],wd_kick:[0,7],wd_kick_at_every_puls:0,wd_kick_at_given_puls:0,wd_kick_direct:[0,7],wd_kick_end_agb:0,wd_kick_first_rlof:0,wd_kick_pulse_numb:[0,7],wd_kick_when:[0,7],wd_sigma:[0,7],wdwd_merger_algorithm:[0,7],wdwd_merger_algorithm_bs:0,wdwd_merger_algorithm_chen2016:0,wdwd_merger_algorithm_perets2019:0,we:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,25,26,27,28,29,30,31,33,36,37,39,42],weight:[0,7,13,14,21],weirdli:12,well:[0,3,7,9,11,12,13,14,21,22,39],went:[13,14],were:[6,8,12,14,15,19,38],what:[0,1,2,5,6,7,8,9,11,12,13,14,15,18,21,22,25,31,33,37,38,39,40],whatev:[0,7,9,18,19,20,22,25,30,39],wheeler:[0,7],when:[0,1,2,3,6,7,8,10,11,15,16,19,21,22,25,27,28,29,30,31,33,36,37,39,40],whenev:[22,39],where:[0,1,2,6,7,12,13,14,15,19,21,22,25,27,30,31,33,37,39],whether:[0,7,15,19,20,21,24,29,30,31,33,36,37,38,42],which:[0,1,2,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,25,29,30,31,33,34,36,37,38,39,40,42],whichev:21,white:[0,6,7],white_dwarf_cooling_carrasco2014:[0,7],white_dwarf_cooling_mestel:[0,7],white_dwarf_cooling_mestel_modifi:[0,7],white_dwarf_cooling_model:[0,7],white_dwarf_radius_carrasco2014:[0,7],white_dwarf_radius_model:[0,7],white_dwarf_radius_mu:[0,7],white_dwarf_radius_nauenberg1972:[0,7],whole:[0,7,8,9,20,21],why:8,wide:[5,12,13,14],wider:5,width:[0,7,8,19],wiggl:[13,14],wind:[0,5,6,7,12],wind_algorithm_binary_c_2020:[0,5],wind_algorithm_hendriks_2022:0,wind_algorithm_hurley2002:0,wind_algorithm_non:[0,5],wind_algorithm_schneider2018:0,wind_angmom_loss_bs:0,wind_angmom_loss_lw:0,wind_angmom_loss_lw_hybrid:0,wind_angmom_loss_spherically_symmetr:0,wind_angular_momentum_loss:[0,7],wind_disc_angmom_fract:[0,7],wind_disc_mass_fract:[0,7],wind_djorb_fac:[0,7],wind_gas_to_dust_ratio:[0,7],wind_lbv_luminosity_lower_limit:[0,7],wind_mass_loss:[0,5,7],wind_multiplier_:[0,7],wind_nieuwenhuijzen_luminosity_lower_limit:[0,7],wind_type_multiplier_:[0,7],wink:0,within:[0,2,7,9,10,15,19,22,31,34,39],without:[2,9,11,13,14,19,21,31],won:[0,7,11],wood:[0,7],wooslei:0,work:[0,2,3,7,9,11,12,13,14,18,19,21,22,25,30,39],working_diretori:21,would:[0,2,7,13,14,15,21,24],wouldn:[15,30],wr:[0,7],wr_wind:[0,7],wr_wind_bs:0,wr_wind_eldridg:0,wr_wind_fac:[0,7],wr_wind_maeder_meynet:0,wr_wind_nugis_lam:0,wrap:[1,9,28],wrapper:[3,7,9,11,20,30,32,42],write:[1,5,6,7,8,9,11,12,15,17,18,19,20,21,30,33,40],write_binary_c_calls_to_fil:[15,30],write_binary_c_parameter_descriptions_to_rst_fil:19,write_ensembl:30,write_grid_options_to_rst_fil:33,write_logfil:7,written:[7,11,15,21,30,33,34,40],written_data:11,wrlof_mass_transf:[0,7],wrlof_method:[0,7],wrlof_non:0,wrlof_q_depend:0,wrlof_quadrat:0,wrong:[13,14,22,39],wrt:18,wrwindfac:[0,7],wtts2:[0,7],wtts_log:[0,7],www:[0,7,31],x0:31,x0d:[19,21],x1:31,x86_64:7,x:[0,6,7,9,11,16,18,19,20,24,25,31,37],xlabel:17,xlim:[8,16],xx:16,xxx:36,y:[5,6,16,19,20,24,25],ye:21,year:[0,7,31],year_length_in_dai:8,yet:[0,2,7,18,19,21,24],yield:[0,7,37],ylim:16,you:[0,1,2,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,24,25,30,31,33,34,37,39,42],young:[0,7],your:[9,11,17,18,21,22,39],yourself:[6,8,12,13,14,15,24],yscale:[12,13,14,16],yy:16,z:[0,6,7,8,18,20,31,42],zahn:[0,7],zam:[0,4,6,7,12,31,40,42],zams_collis:42,zams_mass:[6,12,13,14,15],zams_mass_1:15,zams_mass_2:15,zero:[0,1,4,5,6,7,8,14,19,21,22,30],zero_ag:[6,9,11,12,13,14,15],zero_age_main_sequence_star:[12,13,14],zero_age_main_sequence_starn:12,zero_prob_stars_skip:[6,8,12,14,15],zone:[0,7],zoom:[0,7,37],zoom_dispers:37,zoom_magnitud:37,zoom_magntiud:37,zoom_mean:37,zoomfac_multiplier_decreas:[0,7],zoomfac_multiplier_increas:[0,7],zsolar:31,zytkow:[0,7]},titles:["Binary_c parameters","custom_logging_functions module","dicts module","ensemble module","Example notebooks","Example use case: Binary black hole systems","Example use case: Hertzsprung-Russell diagrams","Tutorial: Using the API functionality of binary_c-python","Example use case: Common-envelope evolution","Tutorial: Using custom logging routines with binary_c-python","Tutorial: Extra features and functionality of binary_c-python","Tutorial: Running individual systems with binary_c-python","Example use case: Zero-age stellar luminosity function in binaries","Example use case: Zero-age stellar luminosity function","Example use case: Massive star luminosity","Tutorial: Running populations with binary_c-python","Example use case: Solar system using the API functionality","Basic example","Binary_c and python example notebook","functions module","Population class module","Population grid code options","Welcome to binary_c-python\u2019s documentation!","Binarycpython code","plot_functions module","Population class extension: HPC module","Population class extension: Moe_di_Stefano_2017 module","Population class extension: analytics module","Population class extension: cache module","Population class extension: condor module","Population class extension: dataIO module","Population class extension: distribution_functions module","Population class extension: grid_logging module","Population class extension: grid_options_defaults module","Population class extension: gridcode module","Population class extension: metadata module","Population class extension: slurm module","Population class extension: spacing_functions module","Population class extension: version_info module","Python module for binary_c","run_system_wrapper module","stellar_types module","useful_funcs module"],titleterms:{"case":[5,6,8,12,13,14,16],"class":[20,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"function":[7,10,11,12,13,14,15,16,18,19],"public":21,A:[13,14],about:10,ad:[12,13,14,15],after:[22,39],ag:[12,13],algorithm:0,analyt:27,api:[7,9,11,16,18],basic:17,better:[13,14],binari:[0,5,6,12,18],binary_c:[0,7,9,10,11,15,18,22,39],binarycpython:23,black:5,build:[10,22,39],cach:28,code:[21,23],common:8,compact:9,condor:29,content:[4,22],core:18,custom:[9,18],custom_logging_funct:1,dataio:30,develop:[22,39],di:21,diagram:6,dict:2,dictionari:10,directli:9,distribut:[13,14],distribution_funct:31,document:[22,39],ensembl:3,envelop:8,environ:[22,39],evolut:[8,9],evolv:[6,8,12,13,14,15],exampl:[4,5,6,7,8,9,10,12,13,14,15,16,17,18,22,39],extens:[25,26,27,28,29,30,31,32,33,34,35,36,37,38],extra:10,faq:[22,39],featur:10,free:7,from:[7,9,22,39],full:15,get:[7,10],grid:[6,8,12,13,14,15,21],grid_log:32,grid_options_default:33,gridcod:34,handl:[6,8,12,13,14,15],help:10,hertzsprung:6,hole:5,hpc:25,i:0,indic:22,individu:11,inform:[7,10],initi:[13,14],input:0,instal:[22,39],instruct:[22,39],issu:[22,39],line:18,log:[6,8,9,12,13,14,15,18],luminos:[12,13,14],mass:[9,13,14],massiv:14,metadata:35,misc:0,modif:10,modul:[1,2,3,19,20,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],moe:21,moe_di_stefano_2017:26,note:[22,39],notebook:[4,18],noteworthi:15,nucsyn:0,o:0,object:[6,8,9,11,12,13,14,15],option:21,other:18,output:[0,6,8,12,13,14,15],paramet:[0,10],pars:10,pip:[22,39],plot_funct:24,popul:[6,8,9,11,12,13,14,15,20,21,25,26,27,28,29,30,31,32,33,34,35,36,37,38],privat:21,python:[7,9,10,11,15,18,22,39],requir:[22,39],routin:9,run:[9,11,15,18],run_binari:18,run_binary_with_log:18,run_system:18,run_system_wrapp:[11,40],russel:6,s:22,sampl:[13,14],sampler:21,script:15,section:0,set:[6,7,8,12,13,14,15],singl:11,slurm:36,solar:16,sourc:[22,39],spacing_funct:37,star:[0,6,14],stefano:21,stellar:[6,8,12,13],stellar_typ:41,store:7,string:9,supernova:9,system:[5,11,16],tabl:22,tutori:[7,9,10,11,15],up:[6,7,8,12,13,14,15],us:[5,6,7,8,9,12,13,14,16,18],usag:[7,9,22,39],useful_func:42,util:18,variabl:[12,13,14,15,22,39],version_info:38,via:[11,22,39],welcom:22,when:9,wrapper:18,zam:[13,14],zero:[12,13]}})
\ No newline at end of file
+Search.setIndex({docnames:["binary_c_parameters","custom_logging_functions","dicts","ensemble","example_notebooks","examples/notebook_BHBH","examples/notebook_HRD","examples/notebook_api_functionality","examples/notebook_common_envelope_evolution","examples/notebook_custom_logging","examples/notebook_ensembles","examples/notebook_extra_features","examples/notebook_individual_systems","examples/notebook_luminosity_function_binaries","examples/notebook_luminosity_function_single","examples/notebook_massive_remnants","examples/notebook_population","examples/notebook_solar_system","examples/old/basic_example","examples/old/workshop_example_notebook","functions","grid","grid_options_descriptions","index","modules","plot_functions","population_extensions/HPC","population_extensions/Moe_di_Stefano_2017","population_extensions/analytics","population_extensions/cache","population_extensions/condor","population_extensions/dataIO","population_extensions/distribution_functions","population_extensions/grid_logging","population_extensions/grid_options_defaults","population_extensions/gridcode","population_extensions/metadata","population_extensions/slurm","population_extensions/spacing_functions","population_extensions/version_info","readme_link","run_system_wrapper","stellar_types","useful_funcs"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,nbsphinx:3,sphinx:56},filenames:["binary_c_parameters.rst","custom_logging_functions.rst","dicts.rst","ensemble.rst","example_notebooks.rst","examples/notebook_BHBH.ipynb","examples/notebook_HRD.ipynb","examples/notebook_api_functionality.ipynb","examples/notebook_common_envelope_evolution.ipynb","examples/notebook_custom_logging.ipynb","examples/notebook_ensembles.ipynb","examples/notebook_extra_features.ipynb","examples/notebook_individual_systems.ipynb","examples/notebook_luminosity_function_binaries.ipynb","examples/notebook_luminosity_function_single.ipynb","examples/notebook_massive_remnants.ipynb","examples/notebook_population.ipynb","examples/notebook_solar_system.ipynb","examples/old/basic_example.ipynb","examples/old/workshop_example_notebook.ipynb","functions.rst","grid.rst","grid_options_descriptions.rst","index.rst","modules.rst","plot_functions.rst","population_extensions/HPC.rst","population_extensions/Moe_di_Stefano_2017.rst","population_extensions/analytics.rst","population_extensions/cache.rst","population_extensions/condor.rst","population_extensions/dataIO.rst","population_extensions/distribution_functions.rst","population_extensions/grid_logging.rst","population_extensions/grid_options_defaults.rst","population_extensions/gridcode.rst","population_extensions/metadata.rst","population_extensions/slurm.rst","population_extensions/spacing_functions.rst","population_extensions/version_info.rst","readme_link.rst","run_system_wrapper.rst","stellar_types.rst","useful_funcs.rst"],objects:{"binarycpython.utils":[[1,0,0,"-","custom_logging_functions"],[2,0,0,"-","dicts"],[3,0,0,"-","ensemble"],[20,0,0,"-","functions"],[21,0,0,"-","grid"],[25,0,0,"-","plot_functions"],[41,0,0,"-","run_system_wrapper"],[42,0,0,"-","stellar_types"],[43,0,0,"-","useful_funcs"]],"binarycpython.utils.custom_logging_functions":[[1,1,1,"","autogen_C_logging_code"],[1,1,1,"","binary_c_log_code"],[1,1,1,"","binary_c_write_log_code"],[1,1,1,"","compile_shared_lib"],[1,1,1,"","create_and_load_logging_function"],[1,1,1,"","from_binary_c_config"],[1,1,1,"","return_compilation_dict"]],"binarycpython.utils.dicts":[[2,2,1,"","AutoVivificationDict"],[2,1,1,"","count_keys_recursive"],[2,1,1,"","custom_sort_dict"],[2,1,1,"","filter_dict"],[2,1,1,"","filter_dict_through_values"],[2,1,1,"","inspect_dict"],[2,1,1,"","keys_to_floats"],[2,1,1,"","merge_dicts"],[2,1,1,"","multiply_float_values"],[2,1,1,"","multiply_values_dict"],[2,1,1,"","normalize_dict"],[2,1,1,"","prepare_dict"],[2,1,1,"","recursive_change_key_to_float"],[2,1,1,"","recursive_change_key_to_string"],[2,1,1,"","set_opts"],[2,1,1,"","subtract_dicts"],[2,1,1,"","update_dicts"]],"binarycpython.utils.dicts.AutoVivificationDict":[[2,3,1,"","__getitem__"],[2,3,1,"","__iadd__"]],"binarycpython.utils.ensemble":[[3,2,1,"","BinarycDecoder"],[3,2,1,"","BinarycEncoder"],[3,1,1,"","binaryc_json_serializer"],[3,1,1,"","ensemble_compression"],[3,1,1,"","ensemble_file_type"],[3,1,1,"","ensemble_setting"],[3,1,1,"","extract_ensemble_json_from_string"],[3,1,1,"","format_ensemble_results"],[3,1,1,"","handle_ensemble_string_to_json"],[3,1,1,"","load_ensemble"],[3,1,1,"","open_ensemble"]],"binarycpython.utils.ensemble.BinarycDecoder":[[3,3,1,"","decode"]],"binarycpython.utils.ensemble.BinarycEncoder":[[3,3,1,"","default"]],"binarycpython.utils.functions":[[20,2,1,"","Capturing"],[20,1,1,"","bin_data"],[20,1,1,"","call_binary_c_config"],[20,2,1,"","catchtime"],[20,1,1,"","check_if_in_shell"],[20,1,1,"","command_string_from_list"],[20,1,1,"","conv_time_units"],[20,1,1,"","convert_bytes"],[20,1,1,"","convfloat"],[20,1,1,"","create_arg_string"],[20,1,1,"","create_hdf5"],[20,1,1,"","datalinedict"],[20,1,1,"","example_parse_output"],[20,1,1,"","filter_arg_dict"],[20,1,1,"","format_number"],[20,1,1,"","get_ANSI_colours"],[20,1,1,"","get_arg_keys"],[20,1,1,"","get_defaults"],[20,1,1,"","get_help"],[20,1,1,"","get_help_all"],[20,1,1,"","get_help_super"],[20,1,1,"","get_size"],[20,1,1,"","get_username"],[20,1,1,"","imports"],[20,1,1,"","is_capsule"],[20,1,1,"","isfloat"],[20,1,1,"","isint"],[20,1,1,"","load_logfile"],[20,1,1,"","make_build_text"],[20,1,1,"","mem_use"],[20,1,1,"","now"],[20,1,1,"","output_lines"],[20,1,1,"","pad_output_distribution"],[20,1,1,"","quotewrap"],[20,1,1,"","remove_file"],[20,1,1,"","temp_dir"],[20,1,1,"","timedelta"],[20,1,1,"","trem"],[20,1,1,"","verbose_print"],[20,1,1,"","write_binary_c_parameter_descriptions_to_rst_file"]],"binarycpython.utils.functions.Capturing":[[20,3,1,"","__enter__"],[20,3,1,"","__exit__"]],"binarycpython.utils.functions.catchtime":[[20,3,1,"","__enter__"],[20,3,1,"","__exit__"]],"binarycpython.utils.grid":[[21,2,1,"","Population"]],"binarycpython.utils.grid.Population":[[21,3,1,"","clean"],[21,3,1,"","evolve"],[21,3,1,"","evolve_single"],[21,3,1,"","exit"],[21,3,1,"","export_all_info"],[21,3,1,"","jobID"],[21,3,1,"","parse_cmdline"],[21,3,1,"","return_all_info"],[21,3,1,"","return_binary_c_defaults"],[21,3,1,"","return_population_settings"],[21,3,1,"","set"],[21,3,1,"","was_killed"]],"binarycpython.utils.plot_functions":[[25,1,1,"","color_by_index"],[25,1,1,"","dummy"],[25,1,1,"","parse_function_hr_diagram"],[25,1,1,"","parse_function_masses"],[25,1,1,"","parse_function_orbit"],[25,1,1,"","plot_HR_diagram"],[25,1,1,"","plot_masses"],[25,1,1,"","plot_orbit"],[25,1,1,"","plot_system"]],"binarycpython.utils.population_extensions":[[26,0,0,"-","HPC"],[27,0,0,"-","Moe_di_Stefano_2017"],[28,0,0,"-","analytics"],[29,0,0,"-","cache"],[30,0,0,"-","condor"],[31,0,0,"-","dataIO"],[32,0,0,"-","distribution_functions"],[33,0,0,"-","grid_logging"],[34,0,0,"-","grid_options_defaults"],[35,0,0,"-","gridcode"],[36,0,0,"-","metadata"],[37,0,0,"-","slurm"],[38,0,0,"-","spacing_functions"],[39,0,0,"-","version_info"]],"binarycpython.utils.population_extensions.HPC":[[26,2,1,"","HPC"]],"binarycpython.utils.population_extensions.HPC.HPC":[[26,3,1,"","HPC_can_join"],[26,3,1,"","HPC_check_requirements"],[26,3,1,"","HPC_dir"],[26,3,1,"","HPC_dirs"],[26,3,1,"","HPC_dump_status"],[26,3,1,"","HPC_get_status"],[26,3,1,"","HPC_grid"],[26,3,1,"","HPC_id_filename"],[26,3,1,"","HPC_id_from_dir"],[26,3,1,"","HPC_job"],[26,3,1,"","HPC_jobID"],[26,3,1,"","HPC_jobID_tuple"],[26,3,1,"","HPC_job_id_range"],[26,3,1,"","HPC_job_task"],[26,3,1,"","HPC_job_type"],[26,3,1,"","HPC_join_from_files"],[26,3,1,"","HPC_join_previous"],[26,3,1,"","HPC_joinlist"],[26,3,1,"","HPC_load_joinfiles_list"],[26,3,1,"","HPC_make_joiningfile"],[26,3,1,"","HPC_njobs"],[26,3,1,"","HPC_path"],[26,3,1,"","HPC_queue_stats"],[26,3,1,"","HPC_restore"],[26,3,1,"","HPC_set_status"],[26,3,1,"","HPC_snapshot_filename"],[26,3,1,"","HPC_status"],[26,3,1,"","HPC_touch"]],"binarycpython.utils.population_extensions.Moe_di_Stefano_2017":[[27,2,1,"","Moe_di_Stefano_2017"]],"binarycpython.utils.population_extensions.Moe_di_Stefano_2017.Moe_di_Stefano_2017":[[27,3,1,"","Moe_di_Stefano_2017"],[27,3,1,"","get_Moe_di_Stefano_2017_default_options"],[27,3,1,"","get_Moe_di_Stefano_2017_default_options_description"],[27,3,1,"","get_moe_di_stefano_dataset"],[27,3,1,"","set_moe_di_stefano_settings"]],"binarycpython.utils.population_extensions.analytics":[[28,2,1,"","analytics"]],"binarycpython.utils.population_extensions.analytics.analytics":[[28,3,1,"","CPU_time"],[28,3,1,"","make_analytics_dict"],[28,3,1,"","set_time"],[28,3,1,"","time_elapsed"]],"binarycpython.utils.population_extensions.cache":[[29,2,1,"","cache"]],"binarycpython.utils.population_extensions.cache.cache":[[29,2,1,"","NullCache"],[29,3,1,"","default_cache_dir"],[29,3,1,"","setup_function_cache"],[29,3,1,"","test_caches"]],"binarycpython.utils.population_extensions.cache.cache.NullCache":[[29,3,1,"","__delitem__"],[29,3,1,"","__getitem__"],[29,3,1,"","__setitem__"],[29,3,1,"","popitem"]],"binarycpython.utils.population_extensions.condor":[[30,2,1,"","condor"]],"binarycpython.utils.population_extensions.condor.condor":[[30,3,1,"","condorID"],[30,3,1,"","condor_check_requirements"],[30,3,1,"","condor_dirs"],[30,3,1,"","condor_grid"],[30,3,1,"","condor_outfile"],[30,3,1,"","condor_queue_stats"],[30,3,1,"","condor_status_file"],[30,3,1,"","condorpath"],[30,3,1,"","get_condor_status"],[30,3,1,"","make_condor_dirs"],[30,3,1,"","set_condor_status"]],"binarycpython.utils.population_extensions.dataIO":[[31,2,1,"","dataIO"]],"binarycpython.utils.population_extensions.dataIO.dataIO":[[31,3,1,"","NFS_flush_hack"],[31,3,1,"","NFSpath"],[31,3,1,"","compression_type"],[31,3,1,"","dir_ok"],[31,3,1,"","load_population_object"],[31,3,1,"","load_snapshot"],[31,3,1,"","locked_close"],[31,3,1,"","locked_open_for_write"],[31,3,1,"","merge_populations"],[31,3,1,"","merge_populations_from_file"],[31,3,1,"","open"],[31,3,1,"","save_population_object"],[31,3,1,"","save_snapshot"],[31,3,1,"","set_status"],[31,3,1,"","snapshot_filename"],[31,3,1,"","wait_for_unlock"],[31,3,1,"","write_binary_c_calls_to_file"],[31,3,1,"","write_ensemble"]],"binarycpython.utils.population_extensions.distribution_functions":[[32,2,1,"","distribution_functions"]],"binarycpython.utils.population_extensions.distribution_functions.distribution_functions":[[32,3,1,"","Arenou2010_binary_fraction"],[32,3,1,"","Izzard2012_period_distribution"],[32,3,1,"","Kroupa2001"],[32,3,1,"","Moe_di_Stefano_2017_multiplicity_fractions"],[32,3,1,"","Moe_di_Stefano_2017_pdf"],[32,3,1,"","build_q_table"],[32,3,1,"","calc_P_integral"],[32,3,1,"","calc_e_integral"],[32,3,1,"","calc_total_probdens"],[32,3,1,"","calculate_constants_three_part_powerlaw"],[32,3,1,"","const_distribution"],[32,3,1,"","cosmic_SFH_madau_dickinson2014"],[32,3,1,"","duquennoy1991"],[32,3,1,"","fill_data"],[32,3,1,"","flat"],[32,3,1,"","flatsections"],[32,3,1,"","gaussian"],[32,3,1,"","gaussian_func"],[32,3,1,"","gaussian_normalizing_const"],[32,3,1,"","get_integration_constant_q"],[32,3,1,"","get_max_multiplicity"],[32,3,1,"","imf_chabrier2003"],[32,3,1,"","imf_scalo1986"],[32,3,1,"","imf_scalo1998"],[32,3,1,"","imf_tinsley1980"],[32,3,1,"","interpolate_in_mass_izzard2012"],[32,3,1,"","ktg93"],[32,3,1,"","linear_extrapolation_q"],[32,3,1,"","merge_multiplicities"],[32,3,1,"","number"],[32,3,1,"","poisson"],[32,3,1,"","powerlaw"],[32,3,1,"","powerlaw_constant"],[32,3,1,"","powerlaw_constant_nocache"],[32,3,1,"","powerlaw_extrapolation_q"],[32,3,1,"","raghavan2010_binary_fraction"],[32,3,1,"","sana12"],[32,3,1,"","three_part_powerlaw"]],"binarycpython.utils.population_extensions.grid_logging":[[33,2,1,"","grid_logging"]],"binarycpython.utils.population_extensions.grid_logging.grid_logging":[[33,3,1,"","vb1print"],[33,3,1,"","vb2print"],[33,3,1,"","verbose_print"]],"binarycpython.utils.population_extensions.grid_options_defaults":[[34,2,1,"","grid_options_defaults"]],"binarycpython.utils.population_extensions.grid_options_defaults.grid_options_defaults":[[34,3,1,"","default_cache_dir"],[34,3,1,"","get_grid_options_defaults_dict"],[34,3,1,"","get_grid_options_descriptions"],[34,3,1,"","grid_options_description_checker"],[34,3,1,"","grid_options_help"],[34,3,1,"","print_option_descriptions"],[34,3,1,"","write_grid_options_to_rst_file"]],"binarycpython.utils.population_extensions.gridcode":[[35,2,1,"","gridcode"]],"binarycpython.utils.population_extensions.gridcode.gridcode":[[35,3,1,"","add_grid_variable"],[35,3,1,"","delete_grid_variable"],[35,3,1,"","rename_grid_variable"],[35,3,1,"","update_grid_variable"]],"binarycpython.utils.population_extensions.metadata":[[36,2,1,"","metadata"]],"binarycpython.utils.population_extensions.metadata.metadata":[[36,3,1,"","add_ensemble_metadata"],[36,3,1,"","add_system_metadata"]],"binarycpython.utils.population_extensions.slurm":[[37,2,1,"","slurm"]],"binarycpython.utils.population_extensions.slurm.slurm":[[37,3,1,"","get_slurm_status"],[37,3,1,"","make_slurm_dirs"],[37,3,1,"","set_slurm_status"],[37,3,1,"","slurmID"],[37,3,1,"","slurm_check_requirements"],[37,3,1,"","slurm_dirs"],[37,3,1,"","slurm_grid"],[37,3,1,"","slurm_outfile"],[37,3,1,"","slurm_queue_stats"],[37,3,1,"","slurm_status_file"],[37,3,1,"","slurmpath"]],"binarycpython.utils.population_extensions.spacing_functions":[[38,2,1,"","spacing_functions"]],"binarycpython.utils.population_extensions.spacing_functions.spacing_functions":[[38,3,1,"","const_dt"],[38,3,1,"","const_int"],[38,3,1,"","const_linear"],[38,3,1,"","const_ranges"],[38,3,1,"","gaussian_zoom"],[38,3,1,"","peak_normalized_gaussian_func"]],"binarycpython.utils.population_extensions.version_info":[[39,2,1,"","version_info"]],"binarycpython.utils.population_extensions.version_info.version_info":[[39,3,1,"","minimum_stellar_mass"],[39,3,1,"","parse_binary_c_version_info"],[39,3,1,"","return_binary_c_version_info"]],"binarycpython.utils.run_system_wrapper":[[41,1,1,"","run_system"]],"binarycpython.utils.useful_funcs":[[43,1,1,"","calc_period_from_sep"],[43,1,1,"","calc_sep_from_period"],[43,1,1,"","maximum_mass_ratio_for_RLOF"],[43,1,1,"","minimum_period_for_RLOF"],[43,1,1,"","minimum_separation_for_RLOF"],[43,1,1,"","ragb"],[43,1,1,"","roche_lobe"],[43,1,1,"","rzams"],[43,1,1,"","zams_collision"]]},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"0":[0,1,2,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,26,27,29,32,35,38,43],"00":[5,12,13,16,19],"000":[5,12,19],"0000":[5,12,19],"00000":19,"000000":19,"000000000000e":12,"000000e":19,"000001":12,"000002":12,"000003":12,"0001":[5,7,43],"000100925":16,"00013561":16,"000182216":16,"000193036":16,"000244839":16,"000328983":16,"000339963":16,"000442046":16,"000593966":16,"0007":32,"000798096":16,"001":[0,5],"00107238":16,"0013":5,"00144093":16,"00182":5,"00193614":16,"002":[5,18,19],"0021272":5,"00215604":5,"00235329":5,"00237669":5,"00239838":5,"00242158":5,"00247821":5,"00247864":5,"00248439":5,"00254115":5,"00254512":5,"00256681":5,"00261516":5,"00268237":5,"00280816":5,"00283345":5,"00286793":5,"00288661":5,"00294":5,"00296406":5,"003":5,"00300971":5,"00303761":5,"00311757":5,"00317508":5,"00319483":5,"0034":5,"004":5,"004696962123378559":16,"005":5,"00518983":5,"0055":5,"00585495":5,"006":5,"006311182276049824":16,"00632092":7,"00666382":5,"007":[5,17],"00707417":5,"00712":5,"00730797":5,"0074":5,"008":5,"0081514":5,"00832":5,"008480166685456411":16,"0087":5,"009":[5,17],"00984861":5,"00e":13,"01":[0,5,6,8,9,13,16,19],"010":5,"0102":5,"011":5,"011394572976608001":16,"0118":5,"012":5,"0122109":5,"0128":5,"013":5,"0131145":5,"014":5,"0141":7,"0143651":5,"0143896":8,"014832":5,"015":5,"0152545":5,"0153961":5,"0155":5,"0156":5,"01561":5,"0156945":5,"0159":5,"016":5,"0162":5,"016309":8,"0163656":8,"0164":5,"0165":5,"0166":5,"0168":5,"0169":5,"017":[5,17],"0171":5,"0175264":8,"0176575":6,"01791":5,"018":5,"0182":5,"0184":5,"0187":5,"019":5,"0192009":5,"019715467199999996":8,"01e":13,"01t09":[6,8,13],"01t10":13,"02":[0,5,6,7,8,9,12,13,16,17,19,32,43],"020":5,"0208":5,"021":5,"0211592":16,"0214":5,"0214824":5,"022":5,"023":5,"0232618":5,"02379":5,"024":5,"0241634":5,"0245":5,"024684":5,"02473":5,"025":5,"0250231":5,"0251003":5,"0259932":5,"026":5,"0261496":5,"027":5,"0276":5,"02786":5,"0278672":5,"028":5,"02823":5,"0283541":5,"029":5,"0290733":5,"0295":5,"0298011":5,"0298364":5,"02e":[8,13],"03":[0,1,5,7,8,13],"030":5,"0303129":5,"031":5,"0316266":5,"0319":5,"032":5,"03221":5,"033":5,"0335":5,"0335017":5,"034":5,"03493":5,"03499999999999":15,"035":5,"03502960360000004":8,"03507":5,"036":5,"0367878":5,"037":5,"0385396":5,"039":5,"0393944":5,"0394":5,"0399":5,"03996e":5,"03e":13,"04":[0,5,13,19],"040":5,"041":5,"0411":5,"0414":5,"04198":5,"042":5,"0425":5,"043":5,"044":5,"0440989":5,"044142002936e":9,"044387171445641534":16,"0443872":16,"044572277695e":9,"044654032097e":9,"0448877":5,"0449442":5,"045":5,"045084306856e":9,"0459174":5,"046":5,"0461":5,"0469097":5,"047":[5,17],"0474164":5,"0474572":5,"048":[5,17,19],"049":5,"04924":5,"04e":13,"05":[0,5,8,9,13,16],"0501":5,"050651207308e":9,"051":[5,6],"0511173":5,"0512":5,"052":5,"0523":5,"0528412":5,"053":5,"0531294":5,"0533803":5,"0535":5,"0536749":5,"054":[5,32],"0547419":5,"055":5,"055188":5,"056":[5,17],"0563088":5,"057":5,"0570946":19,"0572914":5,"057949":5,"058":5,"0583837":5,"0585":5,"059":5,"05e":13,"06":[0,5,8,9,12,13],"0608":5,"061":5,"061141":5,"061259":12,"0613":5,"062":5,"0621119":5,"0625403":5,"06257":5,"0626266":5,"063":5,"064":5,"0641":5,"06459059967730083":8,"0645906":8,"0649":5,"065":5,"06527":5,"066":5,"06696":5,"067":5,"0670735":5,"068":5,"0683196":5,"069":5,"06987":5,"06e":13,"07":[5,13,14,15,19,32,38],"070":5,"0701913":5,"071":5,"07108":5,"0714679":5,"0717":5,"0719":5,"072":5,"0722":5,"0727126":5,"0727584":5,"074":5,"0744186":5,"0745":5,"07484":5,"075":5,"075416":5,"0755737":5,"076":5,"077":5,"0770302":5,"0772021":5,"0772781":5,"078":5,"0784":5,"0784722":5,"0787729":5,"0789786":5,"079":[5,6],"0791":5,"07e":13,"08":[0,5,8,13,19],"0808":5,"081":[5,6],"081024":6,"082":5,"0820":0,"0823499":5,"0831":5,"0834973":19,"0837":5,"084":5,"0849409":5,"085":5,"086":5,"086004":5,"0868":5,"087":5,"0877":5,"0877243":5,"0878":5,"088":5,"089":5,"0890815":5,"0896":5,"08e":13,"08msun":0,"09":[5,6,8,13],"090":5,"0900":19,"0902":0,"0907":5,"0907537":5,"091":5,"0910814":5,"0913095":5,"09164":5,"092":5,"09295167374":13,"093":[6,17],"0931922":5,"094":[5,8],"095":5,"0958704":5,"096":5,"09665":5,"097":5,"09706e":5,"09786":5,"098":[5,6],"0987206":5,"099":5,"0991059":5,"0993":5,"099417":8,"0995":5,"0eb5c0c9abd34607a6ee060b26a7e32f":16,"0fa4c2b8707741a5ab41d209ef95a3a4":16,"0m":13,"0mb":[8,13],"0msun":38,"0x149c95c56c10":8,"0x14bf2250fdc0":6,"0x7f2b6ca163a0":16,"0x7f35b603e9d0":12,"0x7fc1f0c3ff00":7,"1":[0,1,2,5,6,7,8,9,11,12,13,14,15,16,17,18,19,22,23,25,26,30,31,32,33,35,37,38,40,41,43],"10":[0,2,5,6,7,8,9,12,13,14,15,16,17,18,19,22,32,38,41],"100":[0,5,6,8,13,14,15,32,38],"1000":[0,8,22,38],"100000000000":[18,19],"1001":13,"1005":5,"101":5,"101038":5,"1012":5,"101323":5,"101955":5,"102":5,"1021":5,"1024mb":22,"1025":13,"102750e":19,"103":5,"1035":5,"103702":5,"103789":5,"104":[5,8],"1043":5,"104427":5,"104997":5,"105":[5,14,15],"105082":5,"10522":5,"105704":5,"106":[5,16],"1062":5,"106368":5,"106545":5,"10689":5,"107":5,"107187":5,"1075":5,"10782":5,"108":5,"1082":5,"1085":12,"108571":5,"10877":5,"1088":5,"109":[5,8],"10941":5,"109679":5,"1098":5,"1099":5,"10e":13,"11":[0,5,6,8,9,12,13,15,16,17,19],"110":5,"11003":12,"1104":5,"1108":5,"111":5,"111023":5,"111583":5,"11182":5,"112":5,"11239":5,"1124":5,"113":5,"1130":5,"11346":5,"113492":19,"1135":5,"11376":5,"114":5,"114678":5,"11491":5,"115":[5,32],"11506":5,"115297":5,"11558":5,"115722":5,"11582":12,"116":5,"11686":5,"11695":5,"117":5,"11707":5,"1173":5,"1178":5,"118":5,"11802":5,"118229":5,"11854":5,"119":5,"1193":5,"1199":5,"11e":13,"12":[0,5,6,9,12,13,15,16,17,19,20,32],"120":5,"120000":0,"120066":5,"1204":[5,19],"121":5,"121263":5,"12136":5,"1219":5,"122":5,"1222":5,"123":5,"123048":5,"12325":12,"123635":5,"1237":5,"1239555":8,"124":5,"1241251901":17,"124379":19,"124496":5,"12457":12,"12460":12,"12461":12,"124931":5,"12495":5,"125":[0,5,16],"1250":12,"12500":0,"1251":12,"1252":12,"12522":5,"1253":12,"1254":[5,12],"12548":5,"125553":5,"125886":5,"125968":5,"126":5,"126532":5,"127":5,"12741":5,"127442":5,"127957":5,"128":5,"12806":5,"129":5,"12974":5,"129879":5,"12e":[1,6,9,12,13,14,15,16],"13":[0,5,6,8,9,12,13,15,16,17,19],"130":5,"1301":12,"1302":12,"1306":5,"130725":5,"131":5,"13108":19,"1314":5,"131680e":19,"132":5,"132057":5,"1326":5,"13267":5,"1327":5,"13298":5,"133":[5,16],"1334":5,"134":5,"13416":5,"13461":12,"135":5,"135101":5,"135164":5,"1354":13,"1355":13,"13567":9,"136":5,"1360":5,"13607":5,"137":5,"13700":[6,8],"137502":5,"1379":5,"13796e":5,"138":5,"1380":19,"139":5,"139044":5,"1392":5,"139732":5,"1398":5,"13e3":0,"14":[0,5,6,9,12,13,15,16,17,19],"140":5,"1403":32,"141":5,"14112":5,"141361":5,"1415":5,"142":5,"14212":5,"143":5,"144":5,"144141":5,"14439":5,"14461":12,"1449":[5,13],"145":5,"145296":5,"145632":5,"146":5,"1468":5,"146844":5,"147":5,"1471":5,"1473":5,"14764":5,"1478":5,"148":[5,19],"1485":5,"148721":5,"149":5,"1490":12,"149038":12,"1492":5,"1494":13,"1498":5,"14e":13,"15":[0,5,8,9,12,13,15,16,17,19,22,32],"150":[5,8,13,14,15,16],"15000":[0,5,7,9,12,16,17,19],"1502":5,"150217":5,"15042":5,"150681":5,"151":5,"1514":5,"151616":5,"1517":5,"15186":5,"152":5,"1521":5,"1527":5,"153":5,"153329":5,"153852":5,"1539":13,"154":5,"155":5,"1551":5,"1553":5,"155342":5,"155662":13,"155678":8,"15594":5,"156":[5,8,19],"1560":5,"1567":5,"1569":5,"157":5,"1571":5,"1575":5,"158":5,"1585":13,"1586":5,"158640":8,"15884":5,"159":[5,8],"15907":5,"1599":5,"15e":13,"15msun":32,"16":[0,5,8,13,15,17,19,32],"160":5,"1606":5,"160675":13,"161":5,"1610":5,"1612":5,"1618":5,"162":5,"162006":5,"162038":5,"1622":5,"1624":[5,13],"162454":13,"16265":5,"162941":5,"163":[5,8],"1631":5,"1633":5,"163481":8,"1635760192":6,"1635760194":6,"1635760256":8,"1635760377":8,"1635760613":13,"1635760806":15,"1635760813":15,"1635761189":13,"1637":5,"164":5,"1646563001":16,"1646563002":16,"164714":5,"165":5,"16539":5,"16564":5,"166":[5,8],"1663":5,"166559":5,"167":[5,13],"1670":5,"16729":5,"16733":5,"1674":[5,13],"1678":5,"168":[5,8],"16833":5,"16837":5,"168379":8,"168558":5,"168972":5,"169":5,"1691":5,"1695":5,"169775":13,"17":[5,6,8,13,15,16,17,19],"170":5,"1703":13,"1708":5,"171":5,"171096":5,"1713":5,"1715":5,"172":5,"172014":5,"1722":5,"1729":5,"173":5,"1736":5,"174":5,"174169":5,"1747":5,"1749":13,"175":5,"175004":5,"1753":5,"17588":5,"176":5,"176751":13,"177":[5,8],"177444":5,"1775":5,"177551":5,"177727":5,"178":5,"1780":13,"1781":5,"1783":5,"1784":5,"1786":5,"179":5,"179142":5,"1792":5,"17932":5,"1796":5,"18":[5,13,15,17,19],"180":5,"1804":5,"180453":5,"1806":5,"1807":5,"1808":5,"1809":5,"181":5,"1810":5,"18108":5,"1811":5,"1812":5,"181244":5,"1813":5,"18139":5,"1814":[5,13],"18148":5,"1815":5,"1816":5,"1817":5,"181795":5,"1818":5,"1819":5,"182":5,"1821":5,"1822":5,"1823":5,"1824":5,"1825":5,"1826":5,"1827":5,"1828":5,"1829":5,"183":5,"1830":5,"183048":5,"1831":5,"1833":5,"1834":5,"1835":5,"1838":5,"1839":5,"183974":5,"184":5,"1841":5,"1843":5,"1844":5,"184464":5,"1845":5,"1846":5,"1847":5,"184829":5,"185":5,"1851":[5,13],"1854":5,"1858":5,"186":[5,13],"1865":9,"187":5,"1876":5,"187694":5,"1877":5,"1879":13,"187993":5,"188":5,"1882":5,"189":5,"189239":5,"19":[0,5,8,13,16,19],"190":[0,5,19],"19097":5,"191":5,"1910":13,"1915":5,"191543":5,"192":5,"1920":5,"1923":5,"193":5,"193528":5,"19366":5,"19393":5,"194":5,"1947":13,"195":5,"1951":0,"19521":5,"196":5,"196046":5,"196177":5,"19622":5,"196311":5,"1967":5,"1968":13,"197":5,"1972":0,"1973":5,"1975":0,"1977":5,"197729":5,"197x":0,"198":5,"1980":32,"1983":43,"1986":[0,32],"1987":5,"1989":[0,13],"199":5,"19907":5,"1991":32,"1992":0,"1993":0,"1996":43,"1998":[0,5,32],"1999":0,"19e":13,"1aearth":17,"1ajupit":17,"1amar":17,"1amercuri":17,"1aneptun":17,"1apluto":17,"1asaturn":17,"1auranu":17,"1avenu":17,"1ckzg0p9":[23,40],"1dex":[13,14,15],"1e":[0,7,8,9,12,13,19],"1e2":0,"1e9":0,"1gyr":38,"1m":13,"1mb":[8,13],"1mearth":17,"1mjupit":17,"1mmar":17,"1mmercuri":17,"1mneptun":17,"1mpluto":17,"1msaturn":17,"1msun":38,"1muranu":17,"1mvenu":17,"1s":[8,13],"1y":0,"2":[0,1,2,5,6,7,8,9,11,12,13,14,15,16,17,19,20,22,23,25,26,30,32,37,38,40],"20":[0,5,6,8,9,13,14,15,16,17,19,38],"200":[0,5],"2000":[0,5],"2001":[14,15,32],"2002":0,"2003":[0,32],"2004":[0,5],"2005":[0,5],"2008":5,"2009":0,"201":5,"2010":[0,22,32],"2012":[0,32],"2013":0,"2014":[0,5,32],"2015":[0,5],"2016":0,"2017":[0,13,16,22,32],"2018":[0,1,5],"2019":[0,5,19],"202":5,"2020":0,"2021":[5,6,8,13],"202196":5,"2022":0,"20220225":0,"202339":5,"202569":5,"20265":5,"202750e":19,"2029":5,"203":5,"2033":5,"204":5,"2044":5,"20447":5,"204663":5,"2048":13,"205":5,"2053":5,"205353":5,"205527":5,"205537":5,"2057":5,"205711924468e":16,"206":[5,17],"2063":5,"20677":5,"207":5,"2071":13,"2075":5,"208":5,"2081":5,"208169":5,"208453":5,"20887":5,"208923":5,"209":5,"2091":13,"209274":5,"20938":5,"20980":5,"20e":[8,13],"21":[0,1,5,6,13,16,19],"210":[5,19],"21043":5,"211":[5,15],"2112":5,"2118":19,"212":5,"212034":5,"2122":13,"2127":5,"213":5,"2132":5,"21333":5,"213396":5,"2135":5,"213854":5,"214":5,"214274644851685":19,"2143":13,"2147":5,"215":5,"215504":5,"2156":5,"215638":5,"2157":5,"216":5,"21603":5,"216067":5,"2164":13,"216496":5,"216951":5,"217":5,"21764":5,"218":5,"2182":5,"218222":15,"21824":5,"2183":13,"21844":5,"219":5,"219058":5,"2191":5,"21927":5,"21948":5,"21e":13,"22":[5,13,19],"220":5,"22036":5,"2206":13,"22065":12,"22098":5,"221":5,"2210":5,"2214":5,"2216":5,"221832":5,"222":5,"2221":5,"2224":5,"22281":5,"223":5,"2232":13,"2234":5,"224":5,"2245":13,"224923":5,"225":5,"225135":5,"22518":5,"22543":5,"2258":13,"226":5,"2261":5,"22611318083528548":8,"226424":5,"2266":5,"2268":5,"2269":13,"227":5,"22723621650191106":16,"22723621650191117":16,"227249":5,"2275":5,"22787":5,"228":5,"2282":13,"228555":5,"229":5,"2291":5,"22936":5,"2295":5,"229591":5,"22e":8,"23":[5,13,16],"230":5,"2300":13,"230102":5,"2305":5,"230955":5,"231":5,"231680e":19,"231704":5,"232":5,"2329":13,"233":5,"2332":5,"2333":5,"2338":5,"234":[5,8],"2348":13,"235":[5,6],"23513":5,"2352":5,"235464":5,"235689312423":8,"236":[5,19],"2365":[13,19],"237":5,"2371":5,"237203":5,"237951":5,"238":5,"2383":13,"238584":5,"23894":5,"239":5,"239197":5,"239704":5,"24":[5,8,13],"240":5,"2400":13,"2406":5,"2406484012210224":16,"24098":5,"241":5,"2413":5,"24165":5,"242":5,"2421":5,"242151":5,"2423":13,"242309":5,"242397939068e":16,"2424":12,"243":[5,6],"243214":5,"243583":5,"2437":5,"2438":13,"2439":5,"244":[5,17],"2444":17,"244645":5,"245":5,"245209":5,"245223":5,"2454":13,"246":5,"2466":13,"246604":5,"246625":5,"246671":6,"247":[5,16],"2472":5,"2477":[5,13],"248":[5,8],"248871":5,"249":5,"249106":5,"2492":13,"2493":5,"249848":5,"24e":13,"25":[0,5,8,13,19],"250":5,"25014bc73b334765a1c09a4e4a97ed66":13,"251":[5,8],"2514":5,"2516":13,"25164":5,"252":5,"2528":5,"252877":5,"2529":5,"253":5,"2535":16,"2537":13,"253705":5,"254":5,"255":[0,5],"2551":5,"2552":5,"2554":13,"2556":5,"256":[5,6,22],"256488":5,"256783":5,"25694":5,"257":[5,43],"2570":13,"257278":5,"257437":5,"258":[5,8],"2583":5,"259":5,"2590":13,"25msun":0,"26":[5,13],"260":5,"26051":5,"260676":5,"261":5,"2613":5,"261343":5,"26171201413c43f5b91552a374879940":6,"2618":5,"262":5,"2622":[5,13],"2626":5,"2629":5,"263":5,"263079":5,"2632":5,"263235":5,"2636":13,"264":5,"26416":5,"26441":5,"26456":5,"2646":19,"265":5,"2652":13,"266":5,"2663":5,"26637":5,"2664":5,"266485":5,"2666":13,"267":[5,8],"2670":5,"2671":5,"2672":5,"2673":5,"2674":5,"2676":5,"2677":5,"2678":5,"2679":5,"268":5,"2680":5,"2681":5,"2682":5,"2683":5,"2684":5,"2685":5,"2686":5,"2687":5,"2688":5,"2689":5,"269":5,"2690":5,"2691":[5,13],"2692":5,"2693":5,"2694":5,"2695":5,"2696":5,"2697":5,"2698":5,"2699":5,"27":[5,8,13,16],"270":5,"2700":5,"2701":5,"2702":5,"27025":5,"2703":5,"2704":5,"2705":5,"2706":5,"2707":5,"2708":5,"2709":5,"271":5,"2710":5,"2711":5,"2712":5,"2713":5,"2714":5,"2715":5,"2716":5,"2717":5,"2718":5,"2719":5,"272":5,"2720":5,"2721":5,"2722":5,"2723":5,"2724":5,"2725":5,"2726":5,"2727":5,"2728":5,"2729":5,"272943":5,"273":5,"2730":5,"2731":5,"2732":5,"2733":[5,13],"2734":5,"274":5,"274206":5,"274445":5,"2746":13,"274854":5,"275":5,"2754":5,"27569e":5,"2757":13,"276":5,"2767":5,"277":5,"2773":5,"27734":5,"2775":13,"27767":5,"278":5,"27829":5,"279":5,"2791":5,"2795":13,"28":[5,7,8,9,12,13],"280":5,"2800":5,"2801":5,"2802":5,"28060251":32,"280723":5,"280749":5,"281":[5,43],"281309":5,"28133908148630704":16,"2816":5,"2819":5,"282":5,"282234":5,"2823":5,"282623":5,"283":5,"2831":13,"2834":5,"2835":5,"2836":5,"28369":5,"283972":5,"284":5,"2845":13,"2846":5,"285":5,"2857":16,"286":5,"2861":13,"287":5,"2871":5,"2873":5,"2875":13,"2878":5,"288":5,"2881":5,"288353":5,"28867":5,"289":5,"2891":13,"2898":5,"28984":5,"28e":8,"29":[5,8,13,22],"290":5,"290684":5,"291":5,"29136":5,"2914":5,"292":5,"2921":5,"2924":5,"292641":5,"2927":5,"293":[5,16],"2930":13,"2934e":19,"293512":5,"294":[5,6],"2947":13,"295":5,"295543":5,"296":5,"2961":5,"2965":13,"296544":5,"2967":5,"2969346":32,"297":5,"297187":5,"297506":5,"298":5,"29816":5,"298194":5,"2982":13,"299":[5,16],"2991":5,"2996":5,"29e":13,"2b66f805db424c48a1d29c45092b6e3c":8,"2d":0,"2e":[9,13,19],"2f":19,"2m":[8,13],"2mb":[8,13],"2msun":0,"2s":13,"3":[0,1,2,5,6,7,8,9,11,12,13,14,15,16,19,20,22,23,30,32,37,38,40],"30":[1,5,6,8,9,12,13,14,15,16,17,19],"300":[5,16,38],"3000":[0,17],"3002":5,"3008":5,"301":5,"3010":13,"301129":5,"301483":5,"3017":5,"302":[5,19],"3025":5,"302750e":19,"303":5,"3034":5,"3035":13,"303533":5,"3038":5,"30388e":5,"304":5,"3042":5,"30441":5,"3046":5,"3048":5,"305":5,"305334":5,"3059":13,"30592":16,"306":5,"3065":5,"306619":5,"3069":5,"307199":5,"3078":13,"308":5,"3081e":19,"3082":5,"308203":5,"3084":5,"309":5,"309361":5,"309461":5,"3096":5,"30975":5,"30e4":0,"31":[0,5,7,8,13,19],"310":5,"3100":[5,13],"310029":5,"3101":5,"311":5,"312":[5,6],"3124":13,"312637":5,"3127":5,"313":5,"313623":13,"314":5,"31408":5,"314533":5,"3148":13,"315":5,"315124":5,"315223":5,"3154":5,"315404":5,"315903":5,"315973":5,"316":[5,8],"316118":5,"317":5,"3171":5,"3172":5,"3174":13,"3176":5,"317663":5,"317921":5,"318":5,"3185":5,"318753":5,"319":5,"3192":5,"3193":5,"31958":5,"3197":13,"31e":13,"32":[5,8,13,20,22],"320":5,"3205":16,"32076":5,"321":5,"321082":5,"3211":5,"32118":5,"3216":5,"321643":5,"322":5,"3223":5,"3228":5,"32282":5,"323":5,"3231":[5,13],"323359":8,"3235":5,"324":5,"3243":5,"3244":5,"3246":5,"3247":5,"3248":5,"325":5,"325197":5,"3256":13,"325743":5,"325965":5,"326":5,"326147":5,"32620":5,"32631":5,"3264":5,"326601":5,"32684":5,"327":5,"3273":[5,13],"328":5,"328066":5,"3282":5,"328512":5,"329":[5,8],"3294":13,"32e":13,"33":[5,13],"330":5,"331":5,"331680e":19,"332":5,"332091":5,"3321":13,"332251":5,"332777":5,"33295":5,"333":5,"333032":5,"3331":5,"334":5,"33451":5,"33469":9,"3348":13,"335":5,"335153":5,"3352":5,"335342":5,"335428":5,"33552":5,"335642":5,"335847":5,"336":5,"336295":5,"3368":5,"337":5,"33719":5,"337249":5,"3373":13,"338":[5,9],"33817":19,"33879":5,"339":5,"3394":13,"339587":5,"3396":5,"34":[5,6,7,8,9,12,13,14,16,17],"340":5,"34018":5,"340477":5,"34081":5,"341":5,"3412":5,"34126":5,"34175":5,"3419":5,"342":[5,13],"34213":9,"342134":5,"3422":13,"342474":5,"3429":5,"343":5,"3438":5,"344":5,"34421":19,"3445":13,"344772":5,"3448":5,"345":5,"34537":5,"345842":13,"346":5,"3461":5,"3462":5,"3464":13,"3469":5,"347":5,"3471":5,"347169":5,"347405":5,"347623":5,"348":[5,8],"3483":13,"34870":5,"349":5,"3495":5,"3497":5,"34e":8,"35":[5,8,13,32],"350":[5,13],"3502":5,"35051":5,"3507":5,"3509":13,"351":5,"351532":5,"3518":5,"352":5,"3529":5,"353":5,"3533":13,"353432":5,"3536":5,"354":5,"3540":19,"354576":5,"35487":5,"354981":5,"355":5,"3550":13,"35505":5,"355513":5,"3559":5,"356":5,"3563":5,"3568":13,"356812":5,"357":5,"358":5,"3583":5,"35842":16,"3588":13,"3589":5,"35895":5,"359":5,"3591":5,"359784":5,"359881":5,"3599":5,"36":[5,8,13],"360":5,"360093":5,"36016":5,"361":5,"3616":5,"362":5,"3622":13,"362601":5,"36298":5,"363":5,"3630":19,"3631":19,"36314":5,"3632":19,"36323":5,"3633":19,"3634":19,"3635":19,"364":5,"3640":13,"364017":5,"36403":5,"364747":5,"3649":5,"365":5,"3657":13,"365763":5,"365949":5,"366":5,"366259":5,"366392":5,"367":5,"367268":5,"3674":5,"36747":5,"3676":13,"367793":5,"368":5,"368345":5,"3688":5,"369":5,"3695":5,"36957":5,"3698":5,"36e":13,"37":[5,8,13],"370":5,"3702e":19,"3706":13,"371":5,"371427":5,"371458":5,"371625":5,"3719":5,"372":5,"3726":[5,13],"3729":5,"373":5,"373282":5,"374":5,"37409":5,"3746":13,"374905":5,"375":5,"3752":5,"375537":5,"3757":5,"375712":5,"3758":5,"376":5,"376059":5,"3763":13,"376604":5,"3767":5,"377":5,"3771":5,"378":5,"3781":5,"378266748188e":16,"3786":13,"37874":5,"379":5,"379292":5,"37e":13,"38":[0,5,8,13,16],"380":5,"38009":5,"380393":5,"380887":5,"381":5,"3811":13,"382":5,"382144":5,"382472":5,"383":5,"38316":5,"3832":13,"384":5,"3849":13,"385":5,"386":5,"387":5,"3875":13,"388":5,"388321":5,"389":5,"38908":5,"389208":5,"38921":5,"389749":5,"38m":13,"39":[5,6,7,8,11,12,13,14,15,16,17,18],"390":5,"3905":13,"391":5,"3914":19,"39152e":5,"391798":5,"392":[5,19],"392194":5,"392487":5,"3927":19,"3928":[5,19],"3929":19,"393":5,"3930":[13,19],"3931":[13,19],"3932":19,"393886":5,"393982410080e":16,"394":5,"395":5,"39521":5,"3954":13,"3957":5,"3959":5,"396":5,"3963":5,"396470605248e":16,"3967":5,"397":5,"3971":5,"3977":13,"397754":5,"3978":5,"398":5,"39831":5,"39834":5,"398381":5,"398419":5,"398927":5,"399":5,"399005684057e":16,"3995":5,"3999999999996":15,"3d":0,"3e":19,"3m":13,"3mb":[8,13],"3msun":32,"3s":[8,13],"4":[0,1,5,6,7,8,9,11,12,13,14,15,16,17,19,21,31,32,38],"40":[5,8,13,14,15],"400":5,"4000":[0,13],"40049":5,"401":5,"4011":5,"401263":5,"4013":5,"401414766976e":16,"401728":5,"4018":5,"402":5,"40238":5,"402750e":19,"402961":5,"403":5,"40339":5,"404":5,"4046":5,"4048":5,"404962":5,"405":5,"405068":5,"405577":5,"406":[5,13,16],"407":5,"40735":5,"4076":5,"408":5,"409":5,"4098":5,"40e":13,"41":[5,13],"410":[5,19],"4101":5,"4102":5,"4108":5,"410828":5,"411":5,"411151":5,"412":5,"41238":5,"413":[5,6],"413467":5,"414":5,"41436":16,"41457":5,"4146":5,"41485":5,"414875":5,"415":5,"416":5,"416141":6,"4162":5,"417":5,"41726":5,"4176":5,"418":5,"418029":5,"4182":5,"4183":5,"4184":5,"4186":5,"41862":5,"418757":5,"4188":5,"419":5,"4192":5,"4197":5,"41996":5,"41e":13,"42":[0,5,8,13,16],"420":5,"420182":5,"4202":5,"420316":5,"4205":5,"42052":5,"42097":5,"421":5,"421365":5,"421436":5,"421475":5,"4218":5,"4219":5,"422":5,"422436":5,"42266":5,"4229":5,"422997711686e":16,"423":5,"42362":5,"424":[5,6],"4243":5,"424712":5,"424924":5,"425":5,"4251":5,"4256":5,"425788":5,"426":5,"427":5,"42785":5,"428":5,"428699":5,"429":[5,13],"429122":5,"429398":5,"42e":13,"42msun":0,"43":[5,13],"430":5,"430329401616038":16,"4304":5,"431":5,"4311":5,"43124":16,"431313":5,"431680e":19,"43173":5,"432":5,"4321":5,"432729":5,"433":5,"4330":5,"433207":13,"4333":5,"433477":5,"434":5,"435":5,"4357":5,"435809":5,"436":5,"43618":5,"4365":5,"4369":5,"436983545111e":16,"437":[5,13],"4379":5,"438":5,"4380":5,"4385":5,"438686":5,"4387":5,"438861":5,"439":5,"44":[5,13],"440":5,"441":5,"441158":5,"44170":5,"442":5,"44211":5,"4422":5,"44223e":5,"443":5,"4433":5,"443375325717e":16,"4438":5,"444":[5,19],"445":5,"4454":5,"4455":5,"44558":5,"445821":5,"446":5,"447":5,"447918":5,"448":5,"4480088":16,"448242":5,"448401":5,"44852":5,"449":[5,13],"4493":5,"44e":13,"44msun":0,"45":[5,6,8,13],"450":5,"4500":7,"45000000080":16,"4501":5,"450629":5,"4507":5,"450818":5,"4509":5,"451":[5,8],"45114":5,"451195752942e":16,"451732":5,"452":5,"452661646076e":16,"453":5,"4530":[9,12,19],"453059":13,"453348":5,"453412":5,"453932":5,"454":5,"4540":5,"454013":5,"454268":5,"454409":5,"455":5,"45534":5,"455552":5,"456":13,"456313":5,"456519":5,"457":5,"45757":5,"457987":5,"458":5,"458064":5,"458272":19,"4588":5,"45889":5,"459":5,"459382":5,"45msun":0,"46":[5,8,13,16],"460":5,"460081":5,"46057":5,"46089":5,"462":[5,19],"4622":5,"46220":5,"4623":5,"463":5,"463455":5,"464":5,"464494":5,"465":5,"465133":5,"465867":5,"46607":5,"4666":5,"4670":5,"4673":5,"467851":5,"468":5,"4680":8,"46822":5,"4683":5,"469":5,"46901":5,"469056":5,"469524":5,"47":[5,8,13],"470":5,"471":5,"4710":5,"471379":5,"4714":5,"472":[15,19],"472105":5,"472318":5,"4734":5,"473762":5,"474":5,"47419":5,"475":5,"4752":5,"475287":5,"47534":5,"4755":5,"4759":5,"476":5,"4764":5,"476589":5,"477":5,"477089":5,"4773":5,"477535":5,"477791":5,"478":5,"478253":5,"478315":5,"4788":5,"478807":5,"479":5,"47946":5,"4797":5,"479973":5,"48":[5,13],"480":5,"480045":5,"48046":5,"4807":5,"4809":5,"481":5,"482":5,"4822":5,"4825":5,"482668":5,"483":5,"48336":5,"4838":[7,9,12],"484":5,"4845":5,"485":5,"48586":5,"486":5,"4862":5,"4865":5,"4867":5,"4872":5,"48749":5,"4877":5,"488":5,"48809":5,"489":5,"489077":5,"48926":5,"48e":[8,13],"49":[5,6,13],"490":5,"491":5,"491811":5,"492":5,"492242":5,"492302":5,"492484":5,"492707":5,"492818":5,"493":5,"493648":5,"493975":5,"494":5,"4945":5,"4949":5,"495":5,"4957":5,"4959":5,"495924":5,"496":5,"4961":5,"496312":5,"4966016":15,"497":5,"497008":5,"497294":5,"498":5,"4981":5,"498232":5,"499":5,"49e":13,"4b8c7f4a86e445099d73f27dffaad94b":15,"4e":[0,19],"4e3":0,"4m":13,"4mb":[8,13],"4s":[8,13],"5":[0,1,5,6,7,8,9,11,12,13,14,15,16,17,19,20,29,31,32,35],"50":[0,5,8,13,15,16],"500":[0,5],"500000e":19,"501":5,"5017":5,"502":5,"502451":5,"502775":5,"502841":5,"503":5,"503726":5,"504":5,"5043":5,"5046":5,"505":5,"5051":5,"50537":5,"506":5,"5064":5,"50652":5,"5066257":15,"50682":5,"50687":5,"507":5,"507104":5,"507443":5,"508":5,"5089":5,"509":5,"5094":5,"50973":5,"50e":13,"51":[5,8,13],"510":5,"511":5,"511114":5,"51114e":16,"5112":5,"5114":5,"5117":5,"512":5,"512561":5,"512617":5,"512mb":22,"513":5,"514":5,"514087":5,"51478":5,"514898":5,"514916":5,"515":13,"515062":5,"5164":5,"517":5,"51742":5,"517454":5,"5175":5,"518":5,"51803":9,"51809":5,"51819":5,"518397":5,"518757914":14,"518851":5,"519":5,"51e":13,"52":[5,6,8,13],"52058":5,"5208":5,"520903":5,"5217":5,"522":5,"5221":5,"523":5,"523485":5,"523561":5,"524":5,"52416":16,"5244":5,"524629":19,"524755":5,"525":5,"526":5,"527":5,"528":5,"528102":5,"5286":5,"529":5,"5297876799548944":16,"52e":13,"53":[5,6,8,13,16],"530":5,"5301":5,"5309":5,"531":[5,16],"531293":5,"531411":5,"5317":5,"532":5,"5324":5,"533":5,"5333":5,"534":5,"534699":5,"535":5,"5358":5,"536":5,"536373523810e":16,"5366":5,"53715":5,"5374":5,"537743":5,"538":5,"53854":5,"539":5,"539343":5,"539941":5,"53e":13,"54":[5,13],"54027":5,"5403":5,"541":5,"541792":5,"542":5,"5423":5,"542419":5,"543":5,"54307":5,"54371":5,"544":5,"54439":5,"544482":5,"545":5,"5456":5,"545743":5,"546":5,"5462":5,"547002":5,"547729":5,"548":5,"548589":5,"548864":5,"549":5,"5493":5,"54949":5,"55":[5,6,8,13,15,16,32],"550575":5,"551":[5,6],"551072":5,"552":5,"552711":5,"5528":5,"553":5,"5532":5,"554":5,"55458":9,"55473":5,"555":[5,8],"5556":5,"5557":5,"557":5,"558":5,"559":5,"5593":5,"55982":5,"559889":5,"55e":13,"56":[5,8,13],"560118":5,"5603":5,"561":5,"5612":5,"5619":5,"562":5,"562029":19,"56228":5,"564":5,"565":5,"56518":5,"5652":5,"566":[5,19],"566263":5,"56631":5,"566495":5,"567":5,"567303":5,"567898":5,"568":5,"5681":5,"56865":5,"569":5,"569581":5,"5696":5,"56e":13,"57":[5,6,8,13],"570":5,"570222":5,"5703":5,"57062":5,"57093":5,"571":5,"5712":5,"57141":5,"572":5,"573":5,"5734":5,"5735":5,"573703":5,"5738":5,"573874":5,"574":5,"57443":9,"574826":5,"575":5,"57538":5,"576":5,"577":5,"57739":5,"5775":5,"577826":5,"578":5,"57878":5,"579":5,"5791":5,"5794":5,"5795":5,"5796":5,"5798":5,"58":[5,13],"581":5,"5812":5,"581558":5,"58166":5,"582":5,"582318":5,"583":5,"58332":5,"583346":5,"583436":5,"584622":5,"585":5,"58504":5,"5853":0,"585985":5,"586":5,"587":[5,15],"588":5,"588396":5,"5885":5,"589":5,"58e":8,"59":[5,6,13],"590":5,"5904":5,"590877":5,"591":5,"5919":5,"592":5,"592309":5,"592733":5,"593":5,"594":5,"59429":5,"59452":9,"595":5,"596":[5,13],"59616":5,"596161":5,"597":5,"5977":5,"598":5,"5982":5,"598268106227e":16,"59867":5,"59e":[13,16],"5dex":[8,13,14,15],"5e":13,"5m":13,"5mb":[8,13],"5msun":0,"5s":13,"6":[0,1,5,6,7,8,9,11,12,13,14,15,16,19,23,40],"60":[5,13,31],"600":5,"6000":0,"600000":0,"600258":5,"600593":5,"6008":5,"601":5,"60101":5,"602":5,"603":[5,13],"6032":5,"604":5,"60468":5,"605":5,"60547":5,"6058":5,"606":[5,13],"606169":5,"60636":5,"607":13,"608":[5,13],"608269":5,"608402":19,"608485":5,"608655":5,"60876":5,"609":5,"6094":5,"61":[5,13,16],"610184":5,"610285":5,"611":[5,13],"61117":5,"611632":5,"611763":5,"611785":5,"612":[5,13],"612281":5,"613":[5,13],"613167":5,"614":[5,13],"6145":5,"615":5,"615165":5,"61521":5,"616":[5,13],"6161":5,"616737":5,"61679":5,"617":[5,13],"617224":5,"6179":5,"618":5,"6181":5,"6182":5,"618382":5,"618445":5,"6185":5,"618705":5,"619":[5,13],"619099":5,"61e":13,"62":[0,5,13],"620":13,"621":15,"6212":5,"62124":19,"621375":5,"6215":5,"622":5,"62200":5,"622081":5,"622494":5,"6225":5,"623":13,"623052":5,"623232":5,"623354":5,"62366":5,"624":[5,13],"624125":5,"625":[0,5],"62549":5,"626":[5,13],"627748":19,"628":[5,13],"628169":5,"629":[5,13],"63":[5,8,13],"630":13,"631":[5,8],"63153":5,"632":[5,13],"6328":5,"633":5,"633148":5,"633684":5,"634":[5,13],"634261":5,"6344":5,"634667":19,"635":[0,13],"63566e":5,"635703":5,"636":13,"636985":5,"637":[5,13],"637666":5,"637754":5,"6379":5,"638":[5,13],"63818":5,"6384":5,"6388":5,"639":[5,13,19],"63923":5,"639951":5,"63e":13,"64":[5,13],"640":[5,13],"6409":5,"641":13,"6413":5,"64137":5,"642":13,"64207":5,"64265":5,"6429":5,"643":13,"64359":5,"6438124832773024":13,"644":[5,13],"64463":5,"645":[5,13,19],"645286":5,"645339":5,"645763":5,"646":5,"64611":5,"646273":5,"647":5,"647161":5,"64724":5,"6474":5,"6475":5,"648":5,"648549":5,"6485656144116352":13,"648566":13,"6489":5,"649":16,"6492":5,"6493":5,"64932":5,"649327":5,"64e":13,"65":[5,13,38],"651":5,"6514":5,"6515":5,"65262":5,"652638":13,"652755":5,"653":5,"6548":5,"6550":5,"6552":5,"655371":5,"6556":5,"6559":5,"656":5,"6562":5,"657":5,"6571":5,"6579":5,"658":5,"6588":5,"659":5,"659393":5,"659448":5,"659469":5,"659526":5,"659581":5,"659743":5,"65976":5,"65e":13,"66":[5,13],"66016":5,"66025":5,"6602514":13,"6604":5,"660415":5,"661":5,"661725":5,"662":5,"6626":5,"66293":16,"663":5,"663251":5,"663976":5,"664":5,"664546":5,"6649":5,"665406":5,"66554":5,"665969":5,"666661":5,"667":5,"6674":5,"668":5,"668328":5,"669":5,"66914":16,"66915":5,"669442":5,"66e":13,"67":[5,13,16],"670":5,"67023":5,"670337":5,"670413":5,"670422":5,"67059":5,"671":5,"671001":5,"671551":5,"67179":5,"672":5,"67245":5,"673":5,"674":[5,16],"6745":5,"674645":5,"6747":5,"6749":5,"675":5,"675689":5,"6758":5,"676":5,"676181":5,"676215":5,"6764":5,"6765":5,"677":5,"6771":5,"677623":5,"678":[5,12],"678026":12,"679":[5,8],"679223":5,"6797":5,"67e":13,"68":[5,8,13,16],"681":5,"681473":5,"681487":5,"6816":5,"682":[5,8],"6822":5,"683":5,"6831":5,"6832":5,"6834":5,"683467":5,"68376":5,"684":[5,8],"684890":13,"685":[8,13],"685255":5,"685872":5,"686":5,"686591":5,"687":[5,8],"68746":5,"688":[5,8],"6883":5,"6885":5,"689":5,"689781":5,"689835":5,"68e":13,"69":[5,13],"690":13,"690157944401e":16,"690194":13,"690203":5,"6905":5,"690746":5,"6908":5,"6909":5,"691":[5,8],"691586":5,"692":5,"693":[5,8],"693128":5,"693321":5,"6934":5,"693944":5,"694":[5,8,13],"6944":0,"694517":13,"695":5,"6952":5,"695505":5,"69569":5,"696":5,"696003":19,"696284":5,"697":5,"6975":5,"697827":5,"698":[5,13],"69808":5,"698517":5,"6989":5,"699":5,"6e":[8,13],"6e1":32,"6e5":0,"6m":13,"6mb":[8,13],"6msun":0,"6s":[8,13],"7":[0,1,5,6,7,8,9,12,13,14,15,16,18,19,23,32,40],"70":[5,8,13,32],"700":[5,19],"70005":5,"700359":5,"70043":5,"70052":5,"70054":5,"701":5,"702":5,"70235":5,"7028":5,"703":5,"703545":5,"70365":5,"704":5,"70429":5,"7046":5,"705":[5,19],"7052":5,"705715":5,"706":5,"7060":5,"706029":5,"706126":5,"706483":5,"706780":13,"7069":5,"706984":5,"707":[5,13],"708":5,"7085":5,"7087":19,"709":5,"7093":5,"709965":5,"70e":13,"71":[5,13],"710":5,"7106":19,"7107":5,"7108":5,"711":5,"7114":5,"712":5,"712414":5,"713946":5,"714712":5,"7151":16,"716":5,"71662":9,"71746":5,"71818":5,"7184":5,"718549":5,"718593":12,"7188":5,"719058":5,"7193637":16,"71e":13,"72":[5,13],"720749":5,"721":5,"7210":5,"7214":5,"7219":5,"722":5,"72386":5,"724":[5,9],"72498e":[9,16],"725":5,"725718":5,"726":19,"726002":5,"72611":5,"72617":5,"7267":5,"7269":5,"727":5,"727196":5,"72764":5,"728":[5,8],"7282":5,"728237":5,"72832e":5,"7286450862884521":16,"728797":5,"729":5,"729193":5,"7292":5,"7296":5,"72983":5,"72e":13,"73":[5,13,16],"730":5,"731":5,"7315":5,"7319":5,"732":5,"7322":5,"732244":8,"7324":5,"7326":5,"732818":5,"732953":5,"732983":5,"7335":5,"734":5,"7342":5,"734534":5,"735":5,"7354":5,"7359":5,"736":[5,8],"736112":5,"7365":5,"737":5,"7370":5,"73729":16,"737411":5,"73765":16,"738":5,"7380":5,"7381":5,"738399":5,"7384":5,"7385":5,"738524":5,"7386":5,"739":5,"7390":5,"7394":16,"739962":5,"73e":13,"74":[5,13],"740":5,"740494":5,"740929":5,"7413":5,"741346":5,"741448":5,"7418":5,"7419":5,"742":5,"7420":5,"7421":5,"7422":5,"7423":5,"7424":5,"7425":5,"7426":5,"7427":5,"7428":5,"7429":5,"743":5,"7430":5,"7431":5,"743118":5,"7432":5,"7433":5,"7434":5,"7435":5,"7436":5,"7437":5,"7438":5,"743837":5,"7439":5,"744":5,"7440":5,"7446":5,"7447":5,"7448":5,"7449":5,"745":5,"7450":5,"7451":5,"7452":5,"7453":5,"7454":5,"7455":5,"7456":5,"7457":5,"7458":5,"74583":5,"7459":5,"746":5,"7460":5,"7461":5,"7462":5,"747":5,"7472":5,"748":[5,19],"748832":5,"749":5,"75":[0,5,8,13],"750":[5,6],"7500":5,"75005":5,"750149":5,"750806":5,"7509":19,"751305":5,"752":5,"752134":5,"752438":5,"7527":5,"753":5,"7530":5,"7536":5,"7537":5,"754":5,"754141":5,"7544":5,"755":5,"75508":5,"755323":5,"7554":5,"7557":5,"756":5,"7564":5,"7566":5,"756794139032e":16,"756795":5,"757":[5,8],"757025":5,"7572":5,"758":[5,19],"7582":5,"7589":5,"759":5,"75921":5,"75931":5,"7595":5,"7598":5,"75988":16,"75e":13,"76":[5,13],"760064":5,"760389":5,"7605":5,"7607":5,"761":5,"7612":5,"7613":5,"76134":5,"761478":5,"7617":5,"7619":0,"7620":5,"7622":5,"7626":5,"7629":5,"763":[5,32],"7631":5,"7633":5,"7635":5,"764":5,"76416e":5,"7644":5,"7645":5,"764629":5,"7647":5,"764989":5,"765":5,"7650":5,"7657":5,"7659":5,"766":5,"766094":5,"7666":5,"7669":5,"767":5,"7671":5,"7675":5,"7677":5,"7678":5,"7679":5,"768":5,"7683":5,"768339":5,"7684":5,"768655":5,"7689":5,"769":5,"7690":5,"7691":5,"769195":5,"7695":19,"76e":8,"77":[5,13,15],"7705":5,"770532":5,"7706":5,"7709":5,"7714":5,"7717":5,"7718":5,"772":5,"7720":5,"7721":5,"7722":5,"7727":5,"7728":5,"773":5,"7730":5,"7731":5,"773166":5,"7734":5,"7735":5,"7736":5,"7737":5,"774":[5,12],"7741":5,"77416":5,"7742":5,"7743":5,"7745":5,"77455":5,"7748":5,"774954":5,"774969":5,"775":[5,19],"7750":5,"77505":5,"7751":5,"7752":5,"77541":5,"7757":5,"7759":5,"776":[5,19],"7761":5,"77624":5,"776263":5,"77631":5,"7764":5,"7765":5,"776523":5,"7766":5,"7767":5,"776818":5,"7769":5,"777":5,"7772":5,"7773":[5,19],"7774":5,"77766":5,"7779":5,"778":5,"7781":5,"7782":5,"7785":5,"7789":5,"779":5,"7790":5,"7792":5,"7795":5,"7797":5,"78":[5,13],"78012":5,"7803":5,"7806":5,"781":5,"781046":5,"78125":0,"7813":5,"7817":5,"7819":5,"782":5,"7823":5,"7825":5,"7826":5,"7827":5,"7828":5,"783":[5,12],"7831":5,"7836":5,"783746":5,"783792":5,"784":5,"7840":5,"7842":5,"7843":5,"7844":5,"7845":5,"7848":5,"78488":5,"784972":5,"785":5,"7852":5,"785539":5,"7856":5,"7858":5,"786":5,"786062":5,"7861":5,"7863":5,"7864":5,"7868":5,"786e":19,"787":5,"7871":5,"787102":5,"787368":5,"7874":5,"7875":5,"78767":16,"7877":5,"787705":5,"7879":5,"788":5,"78817":19,"7882":5,"7883":5,"7886":5,"7887":5,"789":5,"789064":5,"7891":5,"789188":5,"7893":5,"7898":5,"789859":5,"7899":5,"78e":13,"79":[5,13],"7901":5,"7902":5,"7903":5,"7905":5,"7907":5,"7909":5,"790941":5,"791":5,"7911":5,"7912":5,"791274":5,"7913":5,"791478":5,"7916":5,"7918":5,"7919":5,"791991":5,"792":5,"7920":5,"7925":5,"7926":5,"79264":5,"7927":5,"792721":5,"792744":5,"7928":5,"7933":5,"7934":5,"7936":5,"793832":5,"7941":5,"79412":5,"7942":5,"7943":5,"7944":5,"795":[5,32],"795024":5,"7958":5,"796":5,"7960":5,"7962":5,"7964":5,"796455":19,"7965":5,"7967":5,"7968":5,"7969":5,"797":5,"7973":5,"7974":5,"7975":5,"7979":5,"798":5,"7980":5,"7982":5,"7988":5,"799":5,"7990":5,"79911":5,"7996":5,"7997":5,"7998":16,"799889":5,"79e":13,"7a2e4301f5224b2cb8939d2297df0aad":15,"7e":13,"7m":13,"7mb":13,"7s":8,"8":[0,3,5,6,8,9,12,13,14,15,16,19,31,32],"80":[5,13,32,38],"800":6,"8000":5,"8001":5,"8003":5,"8004":5,"8008":5,"8009":5,"801":5,"8010":5,"8012":5,"8013":5,"802":5,"802706":6,"803":5,"8031":5,"8034":5,"8039":5,"804":5,"80402":5,"8043":5,"8044":5,"8047":5,"8048":5,"804961":5,"805":5,"8050":5,"8053":5,"8055":5,"805733":5,"8058":5,"8059":5,"806":5,"8060":5,"80602":19,"8062":5,"806431":5,"8065":5,"8066":5,"8067":5,"806722":5,"80677":16,"807":5,"8071":5,"8073":5,"807331":5,"807361":5,"8074":5,"807403":5,"8076":5,"8079":5,"808":5,"808134":5,"809":[5,6],"8091":5,"8095":5,"80954":5,"809662":5,"80e":13,"80msol":32,"81":[5,8,13],"810":8,"8101":5,"8104":5,"8105":5,"8107":5,"8108":5,"8109":5,"811":5,"8111":5,"8115":5,"812":5,"8121":5,"812296769855663":16,"8123":5,"8124797":6,"813":5,"81352":5,"8138":5,"81395":9,"814":5,"8140":5,"8141":5,"814387":5,"815":5,"8151":5,"81543":16,"8155":5,"81559":16,"81562":5,"8158":5,"816":5,"8163":5,"81645":16,"816958":5,"817":[5,12],"81705":5,"817432":5,"817608462595e":16,"817620e":19,"81762e":19,"8178":16,"817843":5,"817888":5,"818":5,"8182":5,"818294":5,"819":5,"8194":5,"8195":5,"8196":5,"819715":5,"8199":5,"81e":13,"82":[5,13],"8200":5,"8202":5,"82041":16,"8205":5,"82064":5,"821":5,"82104":16,"82129":16,"821301":5,"821367":5,"82164":16,"82171":16,"822":5,"82224":5,"8224":5,"82245":5,"823":5,"82325":5,"8234":5,"823767":5,"824494":5,"8245":5,"8247":5,"82479":16,"824848":5,"82486":5,"8249":5,"825":5,"8250":5,"825086":5,"8251":5,"8252":5,"8254":5,"82563":13,"825648":5,"826":5,"8261":5,"8263":5,"82642":5,"826771":5,"8268":5,"826831":5,"827":5,"8271":5,"8276":5,"82797":5,"828":5,"8280":5,"828241":5,"828858":5,"829":5,"829017":5,"8292":5,"8293":5,"8295":5,"829668":5,"829726":5,"829757":5,"8299":5,"82e":13,"83":[5,8,13],"830":[5,19],"8300":5,"8303":5,"830541":5,"831236":5,"832":5,"832981":5,"833":5,"8339":5,"834303":5,"834483":5,"835":5,"8354":5,"836":[5,6],"836621":5,"83672":5,"836783":5,"837":5,"8372":5,"83762":5,"8377":5,"837816":5,"8379":5,"838":[5,6],"838411":6,"838423":5,"83843":5,"839":5,"8399":5,"83e":13,"84":[5,8,13,16],"840":5,"84029":5,"84071":5,"840796":5,"840994":5,"841":5,"841284":5,"841718":5,"8427e":19,"8429":5,"843":5,"8435":5,"8435e":19,"844":[5,6],"8441":5,"84428":5,"8443":5,"845":5,"84502":5,"8452":5,"845387":5,"845641":5,"846":[5,6],"846045":6,"847":5,"847153":5,"84827":5,"848380621869e":9,"848866":5,"8493":5,"85":[5,8,13,38],"850":5,"850309":5,"851":5,"851646":5,"852":5,"852252":5,"8523":5,"852712":5,"853":5,"8533":5,"854":5,"85406e":5,"8544":5,"8545":5,"854649":5,"855":5,"856":[5,13],"85661":19,"8569":5,"857":5,"8573":5,"857699":5,"8577":5,"858":[5,6],"8585":5,"859":5,"8596":5,"859753":5,"8598":5,"859977":5,"86":[5,8,13],"860402":5,"8605":5,"861":5,"861368":5,"863":[5,8],"86323":5,"86334":5,"8635":5,"8638":5,"865":5,"8653":5,"8654":5,"865806":5,"866":5,"8664":5,"867":5,"86728":5,"8674":5,"8678":5,"86794":5,"868":5,"8683":5,"86878":5,"869":5,"86918":5,"8694":5,"869544":5,"87":[5,13],"870":5,"8704":5,"8706":5,"8708":5,"871":5,"872":5,"872312":5,"872316":5,"873":5,"8731":5,"873639":5,"874":5,"874638":5,"875":5,"876":5,"876084":5,"876382":5,"877":5,"877963":5,"878":5,"87813":5,"878253":5,"879":5,"8791":5,"87e":13,"88":[5,13],"880":5,"8805":5,"880528":5,"881":5,"8813":5,"882017":5,"8828":5,"883":5,"883252":5,"88343":5,"8837":5,"884":5,"8840":5,"8843":5,"88441":5,"884461":5,"8846":5,"8848":5,"885":5,"8851":5,"8853":5,"8855":5,"885537":5,"8856":5,"8858":5,"88581":5,"886":5,"8860":5,"8862":5,"8864":5,"8866":5,"8867":5,"8868":5,"8869":5,"887":5,"8870":5,"8871":5,"8872":5,"8873":5,"8874":5,"8875":5,"8876":5,"8877":5,"8878":5,"888":5,"8880":5,"8881":5,"888123":5,"8882":5,"8884":5,"8886":5,"888613":5,"8887":5,"8889":5,"889":5,"8891":5,"8892":5,"8893":5,"8894":5,"8896":5,"8897":5,"8898":5,"8899":5,"89":[5,6,13,15,16],"890":5,"8901":5,"8902":5,"8903":5,"8904":5,"8906":5,"8907":5,"8908":5,"8909":5,"891":5,"8910":5,"891056":5,"8911":5,"8912":5,"8917":5,"892":5,"89211":19,"8924":5,"8926":5,"893":5,"8934":5,"8935":5,"8939":5,"893941":5,"894":5,"894041":5,"8941":5,"8949":5,"895":5,"8955":12,"895821":5,"896":5,"8961":5,"896110e":19,"896196":5,"896286":5,"8972":5,"8975":5,"897612":5,"898":5,"8982":5,"898786":5,"899":5,"8992":5,"899464":5,"8a7d52edc59346ce991063d9e05e9ba7":6,"8e":0,"8m":[8,13],"8mb":13,"8s":[8,13],"9":[0,5,6,7,8,9,12,13,15,16,19],"90":[5,8,13],"900":5,"901":5,"901988":5,"902":5,"903":5,"9032":5,"9036":5,"9038":5,"904":5,"9043":5,"9046":5,"9047":5,"905":5,"905447944397":16,"9057":5,"906":5,"906059":5,"906299":5,"90695":5,"907":5,"9071":5,"90716":5,"9073":5,"9074":5,"908":5,"9087":5,"909":5,"9093":5,"9098":5,"90e":13,"91":[5,8,13],"910419":5,"9105":5,"910817":5,"910981":5,"911":5,"9110":5,"911093":5,"9113":5,"912":5,"912238":5,"912283":5,"912289":5,"912327":5,"9127":5,"912919":5,"913":5,"9139":5,"914":5,"9147":5,"9148":5,"915":[5,8],"915148":5,"915221":5,"9153":5,"91548":5,"916":5,"916093":5,"916207":5,"917":5,"917439":5,"9179":5,"918":5,"918543":5,"9189":5,"919":5,"9196":5,"91e":13,"92":[5,13],"920":5,"9203":5,"9206":5,"920832":5,"921":5,"9214":5,"922":5,"922199":5,"923":5,"92382":5,"924":5,"924056":19,"925":5,"9253":5,"9255":5,"9256":5,"925761":5,"926":5,"9263":5,"9264":5,"927":5,"929":5,"929511":5,"92995":5,"92e":13,"93":[5,13],"930":[5,15],"930282":5,"9304":5,"93044":5,"9308":5,"9309":5,"930943":5,"931":5,"9310":5,"932":5,"9323":5,"932839":5,"933":5,"9339":5,"934":5,"9342":5,"935":5,"935069":5,"9351":5,"9357":5,"935816":5,"936":5,"936532":5,"936762":5,"937":5,"9373e":19,"938":5,"938568":5,"938576":5,"93898":5,"939":5,"939376":5,"939378":5,"939757":5,"93e":13,"94":[5,6,8,13,20],"941":[5,8],"9411":5,"941478":5,"942":5,"942154":5,"9423":5,"9427":5,"942854":5,"943":5,"944":5,"9445":5,"94464":5,"945":5,"9452":5,"946":5,"946468":5,"946757":5,"947":5,"9471":5,"947719":5,"947774":5,"94797":5,"948":5,"949":5,"95":[5,13,15],"950":5,"9505":5,"950733":5,"9508":16,"951":5,"951344":5,"951597":5,"952":5,"9524":5,"952496":5,"953":5,"953182":5,"9537":5,"953738":5,"953798":5,"954":5,"954624":5,"9548":5,"954848":5,"955":5,"9557":5,"956":5,"9561":5,"956619":5,"957":5,"9573":5,"95783":5,"957894":5,"958":5,"959":5,"959422":5,"959492":5,"9595":5,"9598":5,"95e":8,"96":[5,6,8,13],"960":5,"9603":5,"9606":5,"960734":5,"961":5,"9610":5,"96112":5,"96161":5,"962":5,"962482":5,"962876":5,"963":[5,8],"964":5,"9648":5,"965":5,"9650":5,"965167":5,"96557e":5,"966":5,"966681":5,"967":5,"968":5,"969":5,"96963":5,"96e":13,"97":[5,13],"970":5,"970206":5,"970505":5,"970783":5,"971":5,"9713":16,"971686":5,"971941":5,"972":5,"9725":5,"973":[5,13],"973135":5,"97316":5,"9739":5,"9739752":8,"974":5,"9743":5,"9749":5,"975":5,"9757":5,"9758":5,"975864":5,"976":5,"976041":5,"977":5,"9779":5,"97797":5,"978":5,"979":5,"9794":5,"9797":5,"97e":[8,13],"98":[5,13,15],"98061":5,"98081":5,"98096":5,"981":5,"981292":5,"9814":5,"981555":5,"9816":5,"982":5,"9825":5,"983":5,"983229":5,"984":[5,15],"9841":5,"9842":5,"9844":16,"985":5,"9851":5,"985359":5,"9859":5,"986":[5,8],"9869":5,"987":5,"988":5,"988755":5,"989":5,"98e":13,"99":[5,13,15],"990":5,"9900":5,"9902":5,"9909":16,"991":5,"9912":5,"991224":5,"991657":8,"99191":9,"99192":9,"99194":9,"992":5,"99203":5,"9927":[5,12],"993":5,"994":5,"994118":5,"9948":16,"995":5,"995631":15,"995687":5,"995824":5,"996":[5,8],"996798":5,"997":5,"9977":5,"997751":5,"998":5,"998023":5,"99808":5,"998563":5,"999":5,"999122":5,"9999999999999998":15,"99e":13,"9e":8,"9m":13,"9mb":[8,13],"9s":[8,13],"abstract":41,"boolean":[0,2,7,20,21,22,25,39,43],"break":0,"case":[0,2,4,7,16,20,22,23,26,31,38],"catch":[6,8,12,13,14,15,16,19,20,22],"char":22,"class":[2,3,20,23,24],"const":[6,8,13,14,15],"default":[0,1,2,3,6,7,9,11,13,14,15,16,19,20,21,22,26,27,29,30,31,32,34,37,38,39,41],"do":[0,1,2,5,6,7,8,9,11,13,14,15,16,19,21,22,23,25,26,31,32,34,38,40,43],"export":[3,16,20,21,31],"final":[5,8,13,14,15,19],"float":[0,2,3,5,7,11,12,17,20,32,33,38,43],"function":[0,1,2,3,4,5,6,8,9,18,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43],"import":[5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,35],"int":[0,1,2,5,7,13,16,20,21,22,26,32,33,34,35,38,43],"krtickov\u00e1":0,"kub\u00e1t":0,"long":[0,6,8,16,22,28,31,35,39,42],"new":[0,2,6,8,12,13,14,15,16,20,21,26,31,32,35],"null":[0,6,7,8,20],"paczy\u0144ski":0,"public":[13,14,15,16,23],"return":[1,2,3,5,6,7,8,11,12,13,14,15,16,19,20,21,22,25,26,27,28,29,30,31,32,34,35,37,38,39,41,43],"short":[0,6,8,13,14,15,42],"super":0,"switch":0,"throw":[23,40],"true":[0,2,3,5,6,8,11,13,14,15,16,18,19,20,21,22,25,26,28,30,31,34,35,37,38,39],"try":[0,2,5,8,12,13,14,15,16,23,26,31,35,40],"void":9,"while":[0,5,6,7,8,13],A:[0,2,4,16,29,43],And:[23,34,40,43],As:[0,6,8,12,13,14,15,16],At:[6,16],But:12,By:[0,6,13,14,15,16,19,22],For:[0,2,9,12,13,14,15,25],If:[0,2,6,7,8,13,14,15,16,20,21,22,23,25,26,27,28,30,31,32,35,37,40,41,43],In:[0,2,6,8,9,11,12,13,14,15,16,19,22,31,38],It:[0,6,7,8,11,12,13,14,15,16,17,19,22,23,31,34,40],Its:22,NO:22,NOT:[0,35,38,41],No:[5,7,16,22,23,40],Not:[6,8],OR:[2,19],On:[0,16,20,31],One:[0,22],Or:[16,19],Such:8,That:[0,6],The:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,19,20,21,22,23,25,26,28,29,30,31,32,33,35,37,38,40,41],Then:[2,6,20,23,40],There:[6,7,8,9,11,12,13,14,15,16,17,19,21,22,25,32,34],These:[6,7,13,14,15,16,20,22,25,26],To:[0,7,12,13,14,15,16,22,23,31,32,40],Will:[0,20,22,41],With:34,_1:[13,14,15],_:[6,8,13,14,15,22,34],__:16,__arg_begin:7,__attribute__:9,__delitem__:29,__enter__:20,__exit__:20,__getitem__:[2,29],__iadd__:2,__setitem__:29,_actually_evolve_system:22,_binary_c_bind:[7,9,12,17,39,43],_binary_c_config_execut:22,_binary_c_dir:22,_binary_c_execut:22,_binary_c_shared_librari:22,_commandline_input:22,_count:22,_custom_logging_shared_library_fil:22,_end_time_evolut:22,_errors_exceed:22,_errors_found:22,_evolution_type_opt:22,_failed_count:22,_failed_prob:22,_failed_systems_error_cod:22,_generate_grid_cod:22,_grid_vari:[14,15,22,35],_kill:22,_loaded_moe2017_data:22,_main_pid:22,_moe2017_json_data:22,_population_id:22,_pre_run_setup:21,_probtot:22,_process_run_population_grid:22,_queue_don:22,_repeat:22,_restart_dir:26,_set:21,_set_moe2017_grid:22,_start_time_evolut:22,_store_memaddr:22,_system_gener:22,_total_mass_run:22,_total_probability_weighted_mass_run:22,_total_starcount:22,_zero_prob_stars_skip:22,a173:0,a_in:5,a_out:5,ab:[0,20],abat:0,abbrevi:42,abl:7,about:[4,6,8,13,14,15,16,20,21,22,26,31,34,43],abov:[0,6,9,12,14,15,16,20,21,32],abridg:[7,9,16],absolut:[0,20,38],abund:0,ac:[6,16],acceler:0,accept:[16,20,27],access:[2,9,12,13,14,15,16,22,26,31],accord:[0,6,31,32,38],accordingli:[12,14,15,16],account:[0,22,32],accret:[0,5],accretion_limit_dynamical_multipli:0,accretion_limit_eddington_lmms_multipli:0,accretion_limit_eddington_steady_multipli:0,accretion_limit_eddington_wd_to_remnant_multipli:0,accretion_limit_thermal_multipli:0,accretor:[0,5,43],accur:[13,14,15],acquir:5,act:[0,14,15,16,22],activ:[0,22],actual:[0,3,6,8,9,12,13,14,15,16,21,22,23,25,30,32,38,40],ad:[2,4,6,8,12,31,35],adam:0,adapt:[0,14,15],add:[0,2,6,8,9,12,13,14,15,16,21,22,25,32,35,36,38],add_ensemble_metadata:36,add_grid_valu:38,add_grid_vari:[6,8,13,14,15,16,35],add_system_metadata:36,addit:0,address:[1,7,9,22,43],admittedli:25,adress:[7,9,43],advis:9,af:5,affect:[0,6],after:[0,6,8,9,13,14,15,16,21,22,31,35,38],ag89:0,ag:[0,4,5,6,8,15,23,38],again:[2,3,6,11,12,20,22],against:25,agb:[0,6],agb_3dup_algorithm:0,agb_core_algorithm:0,agb_core_algorithm_default:0,agb_core_algorithm_hurlei:0,agb_core_algorithm_karaka:0,agb_luminosity_algorithm:0,agb_luminosity_algorithm_default:0,agb_luminosity_algorithm_hurlei:0,agb_luminosity_algorithm_karaka:0,agb_radius_algorithm:0,agb_radius_algorithm_default:0,agb_radius_algorithm_hurlei:0,agb_radius_algorithm_karaka:0,agb_third_dredge_up_algorithm_default:0,agb_third_dredge_up_algorithm_hurlei:0,agb_third_dredge_up_algorithm_karaka:0,agb_third_dredge_up_algorithm_stancliff:0,ago:6,al:[0,32,43],albedo:0,algorithm:[7,23],algothim:0,all:[0,1,2,3,6,7,8,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,31,32,34,38,39,40,41],all_info:21,alloc:[7,38],allow:[0,2,9,18,19,22,29,32],allow_nan:3,almost:22,along:[0,22,23,34,40],alpha:[0,5],alpha_:8,alpha_c:[0,5,6,8],alpha_ej:5,alphacb:0,alreadi:[6,16,17,26,31,35],also:[0,4,5,6,7,8,9,13,14,15,16,19,20,21,22,23,26,28,31,34,39,40,43],alter:[8,13,35],altern:[0,22],although:17,alwai:[0,22,32,38],amanda:0,amax:32,amin:32,amount:[0,2,7],amp:[6,8],an:[0,2,3,6,7,8,11,12,13,14,15,16,19,20,22,23,26,27,30,31,32,33,34,35,36,37,38,41],analys:41,analyt:[6,8,13,14,15,16,21,23,24],analyz:12,andrew:[23,40],andronov:0,angelou_lithium_cheb_decay_tim:0,angelou_lithium_cheb_massfrac:0,angelou_lithium_cheb_tim:0,angelou_lithium_decay_funct:0,angelou_lithium_decay_tim:0,angelou_lithium_eagb_decay_tim:0,angelou_lithium_eagb_massfrac:0,angelou_lithium_eagb_tim:0,angelou_lithium_gb_decay_tim:0,angelou_lithium_gb_massfrac:0,angelou_lithium_gb_tim:0,angelou_lithium_hg_decay_tim:0,angelou_lithium_hg_massfrac:0,angelou_lithium_hg_tim:0,angelou_lithium_lmms_decay_tim:0,angelou_lithium_lmms_massfrac:0,angelou_lithium_lmms_tim:0,angelou_lithium_ms_decay_tim:0,angelou_lithium_ms_massfrac:0,angelou_lithium_ms_tim:0,angelou_lithium_tpagb_decay_tim:0,angelou_lithium_tpagb_massfrac:0,angelou_lithium_tpagb_tim:0,angelou_lithium_vrot_trigg:0,angelou_lithium_vrotfrac_trigg:0,angular:[0,17,25],ani:[0,3,12,16,20,21,23,26,32,35,39,40],anoth:[0,26],ansi:[0,20],ansi_colour:0,anyth:[0,13,14,15,16,20,22,38],anywai:[12,16,32,35],api:[0,4,20,23,26],api_log_filename_prefix:[0,5,12,17],appear:22,append:[1,2,6,12,13,14,15,17],appli:0,apply_darwin_radau_correct:0,appropri:[0,16,22,26,29,30,31,35,37],approxim:[0,6,8],ar:[0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,19,20,21,22,23,25,29,30,31,32,34,35,37,38,39,40,43],arang:19,aren:[22,32],arenou2010_binary_fract:32,arg:[5,7,16,20,29,32,33],arg_dict:[2,20],argh:17,argopt:0,argpair:[11,39],argstr:[7,9,12,17,19],argument:[0,2,7,12,14,16,17,18,19,20,21,22,26,27,32,39,41],argument_of_periastron:0,argument_of_periastron_quadrupl:0,argument_of_periastron_tripl:0,aritif:8,around:[0,9,12,18,19],arrai:[12,16,19,20,22,32,35,38],arrow:0,artefact:[14,15],artifici:0,artificial_accretion_end_tim:0,artificial_accretion_ignor:0,artificial_accretion_start_tim:0,artificial_angular_momentum_accretion_r:0,artificial_mass_accretion_r:0,artificial_mass_accretion_rate_by_stellar_typ:0,artificial_orbital_angular_momentum_accretion_r:0,arxiv:[0,32],ask:[0,7,43],asplund:0,assign:[13,14,15,16,35],associ:[6,8,13,14,15,30,37],assum:[0,6,8,13,17,25,38],ast871:0,astronomi:0,astrophys:[8,14,15],astropi:[23,25,40],asymptot:6,atom:39,attempt:[3,20,21],au:17,auto:[1,24],autogen_c_logging_cod:[1,9,19],autogener:19,automat:[0,1,9,16,18,19,22,23,29,31,34,35,40],autoviv:2,autovivif:2,autovivificationdict:2,avaibl:[23,40],avail:[0,7,8,9,13,14,15,16,20,22,23,28,40],avoid:[6,7,8],awai:[0,13],ax:19,axessubplot:18,axi:[0,25],b6213f2eb7f94d3196cf966b7b76b9f9:15,b:[22,31],b_1:0,b_2:0,b_3:0,b_4:0,b_inclination1:0,b_inclination2:0,b_inclination3:0,b_inclination4:0,back:[0,2,5],background:19,backward:0,bagb:0,bar:[14,15],barn:0,base:[0,2,3,8,13,14,15,16,20,21,23,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,43],base_filenam:[16,21],bash:22,basic:[16,31],batch:22,batchmod:0,batchnam:22,bb:0,bbox_inch:19,beasor:0,becaus:[0,2,6,7,8,12,13,14,15,17,19,21,22,23,29,31,32,40],becom:[0,1,2,5,9,14,15,17,20,22],been:[0,2,11,21,22,26,28,30,37],befor:[0,2,5,6,8,13,14,15,16,21,22,23,31,32,40],beg_bss:5,beg_rch:5,beg_symb:5,begin:6,behaviour:[2,6,13,14,15,16,41],behind:19,being:[30,37],belczynski:0,below:[0,4,6,7,8,9,13,14,15,16,22,32],berro:0,bertolami:0,best:[5,21,22],beta:0,beta_reverse_nova:0,beta_reverse_novae_geometri:0,better:[0,2,4,7,16,26,30,31,37,43],between:[0,7,22,32,38],bewar:[16,31,35],beyond:17,bh:[0,5,8],bh_belczynski:[0,5],bh_bh:5,bh_fryer12_delai:0,bh_fryer12_rapid:[0,5],bh_fryer12_startrack:0,bh_hurley2002:0,bh_prescript:[0,5],bh_spera2015:0,bhbh:5,big:[0,22],bin:[0,8,13,14,15,20,22,23,38,40],bin_data:[8,13,14,15,20],binari:[4,7,8,12,14,15,22,23,25,32,35,40,43],binary_c2:[23,40],binary_c:[1,2,3,4,6,8,13,14,15,17,20,21,22,25,29,31,32,35,39,41],binary_c_api_funct:9,binary_c_cal:[16,31],binary_c_default:16,binary_c_grid:[6,8,13,16],binary_c_grid_25014bc73b334765a1c09a4e4a97ed66:13,binary_c_grid_26171201413c43f5b91552a374879940:6,binary_c_grid_2b66f805db424c48a1d29c45092b6e3c:8,binary_c_grid_8a7d52edc59346ce991063d9e05e9ba7:6,binary_c_grid_ce756bb317f64099a459bf8b55a746ac:16,binary_c_grid_f4e5925effeb42e69b5be956f400ae41:6,binary_c_inline_config:1,binary_c_log_cod:[1,9,12,18,19],binary_c_macro:0,binary_c_output:3,binary_c_paramet:[0,6,13,14,15,16],binary_c_python:[6,7,8,12,13,14,15,16,20],binary_c_python_api:19,binary_c_task_:0,binary_c_write_log_cod:1,binary_grid:0,binary_star:43,binaryc:[1,20,41],binaryc_config:1,binaryc_json_seri:3,binarycdecod:3,binarycencod:3,binarycpython3:7,binarycpython:[1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43],binarygrid:[13,14,15,16],bind:[0,7,9,12,17],binned_log_luminos:[13,14,15],binned_post_period:8,binned_pre_period:8,binwidth:[8,13,14,15,20],birth:0,bit:[6,13],bivari:0,black:[0,4,6,23],black_hol:0,block:[16,35],bloecker:0,blog:1,boltzman:25,boltzmann:0,bondi:0,bondi_hoyle_accretion_factor:0,bool:[2,16,20,21,25,31,34,35,39],born:[0,6,13,14,15],bosswissam:20,both:[0,2,7,13,14,15,16],bottom:[0,16,35],bottomcod:[6,8,16,35],bound:[5,32,38],boundari:32,brake:0,branch:[0,6,20,39],branchcod:[6,8,16,35],branchpoint:[6,8,16,35],breakup:0,brighten:[14,15],broken:0,bse:[0,7,9,16,32],bse_opt:[6,8,13,14,15,16,21,38],bsf:0,buffer:[0,31],build:[0,1,4,7,20,26,32],build_q_tabl:32,built:[0,1,20,23,40],burn:0,busso:0,bye:0,bz2:31,c13_eff:0,c2:32,c:[0,1,5,7,9,12,16,41],c_auto_log:22,c_log:0,c_logging_cod:[6,8,9,12,13,14,15,16,22],cach:[21,22,23,24,28,34,38],cache_dir:[22,38],cachedir:38,cachetool:[22,29],cachetyp:29,calc_e_integr:32,calc_p_integr:32,calc_period_from_sep:43,calc_sep_from_period:[8,13,16,43],calc_total_probden:32,calcul:[0,2,6,8,13,14,15,16,20,22,28,32,35,43],calculate_constants_three_part_powerlaw:32,call:[0,1,2,11,12,14,15,16,17,20,21,22,25,26,30,31,33,35,37,38,39,41],call_binary_c_config:20,calls_filenam:16,can:[0,1,2,5,6,7,8,9,11,12,13,14,15,16,18,19,20,21,22,23,25,26,31,32,35,40,41,43],candid:8,cannot:[6,9,16,29,31,34],canon:22,cap:0,capit:[13,14,15],capsul:[1,7,20],captur:[0,20],carbon:[0,5,6],carbon_oxygen_white_dwarf:0,care:[6,13,14,15,22],carlo:[0,22],carrasco:0,carri:0,carriag:[20,22],cast:[19,20],catchtim:20,categor:7,categori:[7,16],categoris:20,caught:[12,20,39],caus:[5,13,43],cbdisc:0,cbdisc_albedo:0,cbdisc_alpha:0,cbdisc_eccentricity_pumping_dermin:0,cbdisc_eccentricity_pumping_method:0,cbdisc_eccentricity_pumping_non:0,cbdisc_end_evolution_after_disc:0,cbdisc_fail_ring_inside_separ:0,cbdisc_gamma:0,cbdisc_init_djdm:0,cbdisc_init_dm:0,cbdisc_inner_edge_strip:0,cbdisc_inner_edge_stripping_timescal:0,cbdisc_kappa:0,cbdisc_mass_loss_constant_r:0,cbdisc_mass_loss_fuv_multipli:0,cbdisc_mass_loss_inner_l2_cross_multipli:0,cbdisc_mass_loss_inner_viscous_accretion_method:0,cbdisc_mass_loss_inner_viscous_accretion_method_equ:0,cbdisc_mass_loss_inner_viscous_accretion_method_gerosa_2015:0,cbdisc_mass_loss_inner_viscous_accretion_method_non:0,cbdisc_mass_loss_inner_viscous_accretion_method_young_clarke_2015:0,cbdisc_mass_loss_inner_viscous_angular_momentum_multipli:0,cbdisc_mass_loss_inner_viscous_multipli:0,cbdisc_mass_loss_ism_pressur:0,cbdisc_mass_loss_ism_ram_pressure_multipli:0,cbdisc_mass_loss_xray_multipli:0,cbdisc_max_lifetim:0,cbdisc_minimum_evaporation_timescal:0,cbdisc_minimum_fr:0,cbdisc_minimum_luminos:0,cbdisc_minimum_mass:0,cbdisc_no_wind_if_cbdisc:0,cbdisc_outer_edge_strip:0,cbdisc_outer_edge_stripping_timescal:0,cbdisc_resonance_damp:0,cbdisc_resonance_multipli:0,cbdisc_torquef:0,cbdisc_viscous_l2_coupl:0,cbdisc_viscous_photoevaporative_coupl:0,cbdisc_viscous_photoevaporative_coupling_inst:0,cbdisc_viscous_photoevaporative_coupling_non:0,cbdisc_viscous_photoevaporative_coupling_visc:0,ce756bb317f64099a459bf8b55a746ac:16,ce:[0,8],cee:[0,8],cell:[7,13,14,15,16],cemp:0,cemp_cfe_minimum:0,centr:[8,16,35],central:17,central_object:0,centralis:41,certain:[22,23,40],certainli:22,cf:0,cf_amanda_log:0,cflag:[23,40],chabrier:32,challeng:[14,15],chandrasekhar:0,chandrasekhar_mass:0,chang:[0,1,2,5,6,8,9,13,14,15,16,19,20,21,22,23,34,35,40],chapter:[0,22,24],charact:[20,22,31],cheb:0,check:[0,6,8,13,14,15,16,19,20,21,22,26,30,31,32,34,37,41,43],check_circular:3,check_if_in_shel:20,chemic:[0,38],chen:0,child:20,child_dir:20,choic:[0,25,32],choos:[0,6,8,9,13,19,25,26,31],chose:12,chosen:[13,14,15,16,35],chunk:[30,37],ci:17,circular:[0,5],circumbinari:0,circumstanti:0,cl:3,claei:0,clark:0,clean:[1,6,12,14,15,21],clean_up_custom_logging_fil:21,clear:[14,15,39],clearli:[14,15],clock:20,close:[0,5,8,14,15,17,31],closedir:31,closefd:31,closer:5,cloud:0,clusterid:[22,30],cmdline_str:33,co2:[14,15],co:[0,5],coalesc:5,code:[0,1,6,8,9,12,13,14,15,16,18,19,21,23,25,30,31,32,34,35,37,38,40,41,43],collaps:0,collapsar:0,collect:43,collid:43,color:[20,25],color_by_index:25,colour:0,colour_log:0,column:[6,8,12,16,17,19,25],column_nam:12,com:[1,20,32],combin:[1,2,9,20,21,22],combine_ensemble_with_thread_join:22,combined_output_dict:36,come:[2,23,38,40],comenv:[5,8],comenv_bs:0,comenv_count:8,comenv_disc_angmom_fract:0,comenv_disc_mass_fract:0,comenv_ejection_spin_method:0,comenv_ejection_spin_method_do_noth:0,comenv_ejection_spin_method_sychron:0,comenv_ejection_spin_method_synchron:0,comenv_merger_spin_method:0,comenv_merger_spin_method_breakup:0,comenv_merger_spin_method_conserve_angmom:0,comenv_merger_spin_method_conserve_omega:0,comenv_merger_spin_method_specif:0,comenv_ms_accret:0,comenv_ms_accretion_fract:0,comenv_ms_accretion_mass:0,comenv_nandez2016:0,comenv_nelemans_tout:0,comenv_ns_accret:0,comenv_ns_accretion_fract:0,comenv_ns_accretion_mass:0,comenv_post_eccentr:0,comenv_prescript:0,comenv_splitmass:0,comenv_undef:0,comma:38,command:[0,1,16,20,21,22,23,31,40],command_lin:22,command_string_from_list:20,commandlin:16,comment:[16,26,30,37],common:[0,4,5,6,9,12,13,14,15,16,23],compact:[8,16],companion:[0,5,19,31],compar:[0,8,13,16,22],compens:[14,15],compil:[1,9,16,19,23,40],compile_shared_lib:1,complaint:31,complet:[6,8,13,14,15,16],complex:[2,8,9,18,19,22],compon:[20,25],compress:[3,31],compress_pickl:31,compression_typ:31,compresslevel:31,comput:[0,6,13,14,15],concaten:2,conceptu:13,concurr:22,condit:[6,8,9,13,14,15,16,18,19,35],condor:[22,23,24,26],condor_bash:22,condor_batchnam:22,condor_check_requir:30,condor_clusterid:[22,30],condor_d:22,condor_dir:[22,26,30,37],condor_env:22,condor_extra_set:22,condor_getenv:22,condor_grid:30,condor_initial_dir:22,condor_kill_sig:22,condor_memori:22,condor_njob:22,condor_outfil:30,condor_postpone_join:22,condor_postpone_submit:22,condor_process:[22,30],condor_pwd:22,condor_q:22,condor_queue_stat:30,condor_requir:22,condor_should_transfer_fil:22,condor_snapshot_on_kil:22,condor_status_fil:30,condor_stream_error:22,condor_stream_output:22,condor_submit:22,condor_univers:22,condor_warn_max_memori:22,condor_when_to_transfer_output:22,condorid:30,condorpath:30,config:[1,20,22,23,40],config_fil:1,configur:[6,11,12,13,14,15,16,19,22,27,32],confirm:31,conjunct:11,conserv:0,consid:[0,1,2,13,14,15,21,22,25,33,34,38],const_distribut:32,const_dt:38,const_dt_cach:38,const_int:38,const_linear:[16,35,38],const_rang:38,constant:[0,2,14,15,25,32,38],construct:[0,1,6,8,12,13,14,15,17,19,22],contact:5,contain:[0,1,2,3,7,11,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],content:[2,3,7,20,21,26],context:20,continu:[16,30,35,37],contribut:[23,40],control:[0,6,13,14,15,16,22],conv_time_unit:20,convect:0,conveni:20,converg:0,convers:2,convert:[2,3,6,8,17,20,21,31,32,38],convert_byt:20,convert_float_kei:3,convfloat:20,convfrac:5,cool:[0,6],copi:[0,8,14,15,22,43],core:[0,6,8,13,14,15,16,22,25],core_co:9,core_h:9,core_helium_burn:0,core_mass:[0,9],correct:[0,12,21,25,32,33,43],correctli:[12,19,23,40],correspon:[30,37],correspond:[16,25,30,35,37],corretor:0,cosmic:32,cosmic_sfh_madau_dickinson2014:32,cost:[13,14,15],could:[0,3,14,15,16,19,20,39],count:[2,5,6,19,20,22],count_keys_recurs:2,counter:22,coupl:[0,4],cours:[6,25],cover:[11,13,14,15],coverag:[23,40],cowd:0,cpu:[0,6,8,13,14,15,16,22,28],cpu_tim:28,cpython:7,crap_paramet:0,creat:[3,6,8,9,12,13,14,15,16,20,21,28,31,32,35,37],create_and_load_logging_funct:[1,9,19],create_arg_str:20,create_hdf5:20,creation:7,critic:0,cross:0,crunch:[6,8,13,14,15],cs1:17,ctype:1,cube:13,cubic:13,cuntz:0,current:[0,2,8,9,11,13,14,15,20,23,26,31,40],curv:[8,14,15],custom:[0,1,2,3,4,6,7,8,12,13,14,15,16,20,21,22,23,25,32,41],custom_format:[2,20],custom_gener:22,custom_log:[12,19,21,22],custom_logging_cod:[1,9,12,16,18,19,41],custom_logging_func_memaddr:[7,9,22],custom_logging_funct:[9,12,16,18,19,22,23,24],custom_logging_info:21,custom_logging_memaddr:9,custom_logging_print_stat:12,custom_logging_stat:[6,8,13,14,15],custom_opt:[6,12,13,14,15,16,21,31],custom_output_funct:9,custom_sort_dict:2,custom_tmp_dir:1,customis:25,cut:19,cvode:0,d48r:19,d:[0,1,5,6,8,9,12,13,16,17,20,38],d_:20,dai:[0,5,8,9,12,13,16,19,32,43],damp:0,darwin:0,dat:[0,16,20],data:[0,3,5,6,7,8,12,13,14,15,16,17,19,20,22,26,27,31,32,35,41,43],data_dict:32,data_dir:[16,20,21,22,31],datadir:[16,31],datafram:[6,8,12,13,14,15,17,18,19,25],dataio:[16,21,23,24],datalinedict:[6,8,13,14,15,20],datamodel:2,dataset:[16,22,26,27],date:[20,21,22],david:[0,2,7,12,16,19,23,40],david_logging_funct:0,db09898b6:0,dd7:0,de:[0,5],deactiv:0,deal:[3,12],dear:5,death:0,debug:[0,5,6,8,13,14,15,16,22,33],decai:0,decid:[0,2,9,18,19,20,21,22,26],decod:3,decompress:3,decreas:0,deepcopi:8,deeper:[16,35],def:[5,6,8,12,13,14,15,16,19],default_cache_dir:[29,34],default_to_metal:[0,7],defaultdict:20,defer:0,defin:[0,1,16,17,21,25,32,35],definit:[1,13,14,15,43],degener:0,degenerate_core_helium_merger_ignit:0,degenerate_core_merger_dredgeup_fract:0,degenerate_core_merger_nucsyn:0,degner:0,degre:0,del:8,delai:[0,22],delet:[29,35],delete_grid_vari:35,delta:[20,38],delta_mcmin:0,demonstr:8,den:0,densiti:[13,14,15,32],depend:[0,6,20,22,23,25,32,40],deprec:[0,21],depth:38,dermin:0,describ:[0,19,22,32],descript:[0,7,11,20,22,27,32,34],design:[2,25],desir:0,destruct:[16,35],detail:[0,6,12,20,22],detect:[0,5,8,17],detector:5,determin:[0,7,9,13,14,15,16,21,32,35,43],deton:0,dev:0,develop:1,development_requir:[23,40],deviat:[32,38],dewi:0,dex:[0,8,38],df2:19,df:[17,18,19,25],di:[16,23,27,32],diagnost:22,diagram:[0,4,23,25],dickonson:32,dict2:2,dict:[1,3,5,6,12,13,14,15,16,17,20,21,22,23,24,26,27,29,31,32,34,39,42],dict_1:2,dict_2:2,dict_kei:[6,11,12],dictionari:[1,2,3,4,6,8,13,14,15,16,20,21,22,25,27,28,31,32,34,35,39,42],did:[20,23,40],differ:[0,6,7,8,13,14,15,16,19,20,22,23,25,38,40],differenti:20,dimmer:[0,13],dir:[23,30,40],dir_ok:31,direct:[0,21],directli:[2,12,22,26,31],director:22,directori:[0,4,16,20,21,22,23,26,29,30,31,34,37,40],disabl:[0,16],disable_debug:0,disable_end_log:0,disable_ev:0,disc:[0,17],disc_legacy_log:0,disc_log2d:0,disc_log:0,disc_log_directori:0,disc_log_dt:0,disc_log_level_non:0,disc_log_level_norm:0,disc_log_level_normal_first_disc_onli:0,disc_log_level_subtimestep:0,disc_log_level_subtimestep_first_disc_onli:0,disc_n_monte_carlo_guess:0,disc_stripping_timescale_infinit:0,disc_stripping_timescale_inst:0,disc_stripping_timescale_orbit:0,disc_stripping_timescale_visc:0,disc_timestep_factor:0,discret:16,discs_circumbinary_from_comenv:0,discs_circumbinary_from_wind:0,disk:[0,21],dispers:[0,38],displai:[0,6,8,17],disrupt:[0,5,19],dist:20,distanc:[6,17],distant:17,distefano2017:22,distefano:[26,27,32],distinct:21,distrefano:27,distribut:[0,2,4,8,13,16,20,26,27,32,38],distribution_funct:[6,8,13,14,15,16,21,23,24],divid:2,dj:0,dlnm1:[8,13,16],dlnm:[14,15],dlnm_1:[14,15,16,35],dlog10per:[8,13,16],dlogp:32,dlogt:38,dm1:[6,14,15],dm:[0,5,14,15,32,38],dm_1:[6,14,15],dn:[20,32],do_analyt:22,do_dry_run:22,doc:[2,6,13,14,15,16,20,23,34,40],doc_fetch:32,docstr:[12,23,25,40],document:[13,14,15,16,22,24,31,34],doe:[0,2,6,7,9,11,12,13,14,15,16,21,22,29,31,32,35,43],doesn:[6,22],doesnt:[19,34],don:[2,6,20,22,26],done:[0,2,5,6,13,14,15,16,19,22,23,31,40],donor:[0,5,43],donor_limit_dynamical_multipli:0,donor_limit_envelope_multipli:0,donor_limit_thermal_multipli:0,donor_rate_algorithm_bs:0,donor_rate_algorithm_claeys2014:0,dont:[7,19],doubl:[6,9,16,20],down:16,dp:32,dphasevol:[6,8,13,14,15,16,35],dprob:[6,8,14,15],dq:[8,13,16],dr2:0,dr3:0,drai:0,dredg:0,drop:12,dry:[6,8,13,15,16,22,35],dry_parallel:[16,35],dry_run:[6,8,13,16],dry_run_hook:22,dry_run_num_cor:22,dstep:32,dt:[0,1,20,29,38],dt_limit:11,dtfac:0,dtlimit:39,dtm:[1,9,16],dtype:[17,18,19],due:[23,40],dummi:[22,25,32],dump:[0,3,12,21,31],dumpvers:0,duquennoi:32,duquennoy1991:32,dure:[0,5,19],dust:0,dwarf:[0,6,14,15],dx:0,dynam:0,e2:0,e2_hurley_2002:0,e2_izzard:0,e2_mint:0,e2_prescript:0,e:[0,2,5,6,7,8,9,12,13,14,15,16,20,21,22,23,26,29,30,31,32,35,37,38,40,43],each:[0,2,8,13,14,15,16,17,20,22,26,35,38],eagb:[0,5],eagb_wind_beasor_etal_2020:0,eagb_wind_bs:0,eagb_wind_goldman_etal_2017:0,eagbwind:0,eagbwindfac:0,earli:0,early_asymptotic_giant_branch:0,earth:17,easi:[3,12],easier:[16,19,20],ebindi:5,ecc2:32,ecc3:32,ecc:[5,12,16,19,31,32],eccentr:[0,7,9,12,13,14,15,16,17,19,25,32,43],eccentric_rlof_model:0,eccentricity_quadrupl:0,eccentricity_tripl:0,echo:0,eddington:0,edg:[0,6,16,35],edit:9,edu:0,eej:5,eff:6,effect:[0,5,7,9,13,22,32],effective_metal:[0,7,19],effici:[0,6,8],egg:[23,40],eggleton:[0,43],either:[0,2,3,13,14,15,16,19,21,22,23,35,39,40,41],eject:[0,8,17],el:[12,16],elabor:9,elaps:28,eld:0,eldridg:0,electon:0,electron:0,element:[0,1,11,17,22,25,39],els:[2,5,8,20,22],email:39,emp:0,emp_feh_maximum:0,emp_logg_maximum:0,emp_minimum_ag:0,empti:[2,12,30,34,37],enabl:[0,7],encod:[3,16,31],encount:22,end:[0,5,20,22,28,32],end_bss:5,end_index:32,end_rch:5,end_symb:5,end_timestamp:[6,8,13,15,16],energi:0,enhanc:0,enlarg:0,enough:32,ensembl:[0,7,11,22,23,24,31,35,36,39],ensemble_compress:3,ensemble_def:0,ensemble_dictionari:3,ensemble_dt:0,ensemble_factor_in_probability_weighted_mass:22,ensemble_file_typ:3,ensemble_filt:11,ensemble_filter_:0,ensemble_filters_off:0,ensemble_json:3,ensemble_legacy_ensembl:0,ensemble_list:21,ensemble_logdt:0,ensemble_logtim:0,ensemble_macro:0,ensemble_output_:22,ensemble_set:3,ensemble_startlogtim:0,ensemebl:3,ensure_ascii:[3,21,31],enter:[0,22],enthalpi:0,entir:[9,12,18,19],entri:[3,20,21],env:[22,25],envelop:[0,4,5,6,23],environ:22,eorbf:5,eorbi:5,ep:19,epoch:33,equal:[0,2,14,15,16,20],equat:0,equation_of_state_algorithm:0,equation_of_state_paczynski:0,equatori:0,equival:[13,22,26],errno:[23,40],error:[0,2,6,8,13,14,15,20,22,23,26,31,40],error_on_overwit:26,error_on_overwrit:26,errors_exceed:[6,8,13,15,16],errors_found:[6,8,13,15,16],esa:32,escap:0,escape_fract:0,escape_veloc:0,estim:[6,17,20,22],et:[0,32,43],eta:[0,8,13],etal:0,etc:[0,7,12,14,15,16,20,21,22,23,25,31,32,40,41],etf:[8,13],euler:0,evalu:[16,32,35,38,43],evan:0,evapor:0,evaporate_escaped_orbiting_object:0,even:[3,11,14,15],event:[0,5,6],everi:[0,8,20,22,23,40],everyth:[12,16,21,22],everytim:[23,40],evid:0,evolut:[0,1,4,5,6,7,12,13,14,15,16,19,22,23,25,38],evolution_split:0,evolution_splitting_maxdepth:0,evolution_splitting_sn_eccentricity_threshold:0,evolution_splitting_sn_n:0,evolution_stop:8,evolution_typ:[6,8,13,15,16,22],evolutionari:[0,12],evolv:[0,4,7,9,21,22],evolve_popul:16,evolve_singl:[9,12,21],exact:[1,2,22],exactli:[0,14,15],exampl:[1,2,12,20,32,35,38,41],example_compact_object:16,example_dco:16,example_df:12,example_head:20,example_header_1:19,example_header_2:19,example_log:41,example_log_co:[1,9],example_logging_string_co:9,example_logging_string_post_m:9,example_massloss:[9,12],example_output:12,example_parse_output:[18,20],example_pop:[12,16],example_pop_set:16,example_post_m:9,example_python_population_result:16,example_sn:9,exc_tb:20,exc_typ:20,exc_val:20,exce:[0,13],except:[2,5,6,7,13,14,15,16,22,25,34],excess:22,excit:8,exclud:26,execut:[0,16,22,35],exist:[0,2,6,16,19,22,26,31,34,35],exist_ok:[16,20],exists_ok:31,exit:[0,20,21,22,26,30,31,37],exit_after_dry_run:22,exit_cod:22,exp:[8,13,14,15,16,35],expand:16,expect:[6,7,8,13,14,15,22,23,40],experiment:[0,20],explain:[4,39],explicitli:[0,1],explod:[0,5],explor:17,explos:[0,5,6,19],expoenti:0,expon:[0,20],export_all_info:[16,21],express:[0,20],extend:[0,8,23,39,40],extens:[3,7,23,24],extern:0,extra:[0,4,16,22,23,33,35,41],extra_text:34,extract:[3,16],extract_ensemble_json_from_str:3,extrapol:[22,32],ey:33,f4e5925effeb42e69b5be956f400ae41:6,f:[0,5,12,16,19,32],fa:32,fabian:0,fabian_imf_log:0,fabian_imf_log_tim:0,fabian_imf_log_timestep:0,factor:[0,2,22,38],fade:0,fail:[0,6,8,13,16,20,22,23,31,40],fail_sil:20,failed_count:[6,8,13,15,16],failed_prob:[6,8,13,15,16],failed_system:22,failed_system_log:22,failed_systems_error_cod:[6,8,13,15,16],failed_systems_threshold:22,failsaf:12,failur:[0,20,26],fallback:0,fals:[0,3,5,6,8,13,15,16,17,20,21,22,25,26,28,29,30,31,35,37,38,39],fancy_parsing_funct:41,far:[0,5,6,14,15,17],farmer:0,fase:16,fast:0,faster:[2,13,14,15,16],fatal_open_error:31,favorit:12,fe:0,featur:[2,4,16,23],feb:0,feed:22,ferguson:0,fetch:[11,12],few:[0,8],fewer:12,field:0,fifocach:22,fig:[0,19,32],figsiz:[6,8,13,14,15,17,19],figur:[6,8,13,14,15,17,25],file:[0,1,3,5,7,12,16,20,21,22,23,25,26,29,30,31,34,35,37,39,40,41],file_log:0,file_object:31,filehandl:34,filenam:[0,1,3,5,12,16,20,21,22,26,30,31,37,41],filenotfounderror:[23,40],filepath:1,fill:[12,20],fill_data:32,filter:[0,2,20],filter_arg_dict:20,filter_dict:2,filter_dict_through_valu:2,filter_list:2,filter_valu:20,fin:0,final_mass:19,final_tim:19,find:[2,5,8,16,20,22,29,34],finish:[6,8,13,15,16,20,25,31],finit:[6,8,13,14,15],first:[0,2,6,8,12,13,14,15,16,17,20,23,26,31,32,40,43],first_giant_branch:0,fishlock:0,fit:[0,2,12,32,43],fix:[0,5,12,20,21,25,31,32,33],flag:[0,1,21,22,31,38,39],flash:0,flat:[22,32],flatsect:[8,13,16,32],flaw:21,float64:[18,19],float_overflow_check:0,flto:[23,40],flufl:31,flush:[3,21,31],fo:22,focu:8,fold:32,follow:[0,7,9,16,19,20,22,23,25,32,38,40],font_scal:[6,8,13,14,15,17],fontsiz:19,forc:[0,5,22,28],force_circularization_on_rlof:0,force_corotation_of_primary_and_orbit:0,foreach_star:[6,13],form:[0,6,7,8,13,14,15,16,21,26,31,34,39],formal:0,format:[0,2,3,5,7,8,9,12,13,14,15,16,17,19,20,22,30,31,32,35,38],format_ensemble_result:3,format_numb:20,format_stat:31,former:5,formula:[0,20],forward:0,found:[5,6,8,13,15,16,30,32,37],four:[0,7],fourth:17,fraction:[0,13,19,22,32],fractions_z0002:19,fractions_z001:19,fractions_z002:19,framework:7,free:[6,8,13],free_persistent_data_memaddr_and_return_json_output:7,free_store_memaddr:7,frequenc:[0,17],friction:0,fring:0,from:[0,2,3,5,6,8,11,12,13,14,15,16,17,18,19,20,21,22,25,26,30,31,32,35,37,39,43],from_binary_c_config:1,from_dict:[8,13,14,15,18,19],fryer:0,fsampl:38,ftz:[23,40],full:[4,9,17,20,22,30,37],full_path:20,func:29,func_memaddr:19,function_cach:22,function_cache_default_maxs:22,function_cache_default_typ:22,function_cache_funct:[22,29],function_cache_s:29,function_cache_ttl:22,further:16,futur:17,fuv:0,g:[0,1,2,5,6,8,9,12,13,14,15,16,18,19,20,22,23,26,29,30,31,32,37,38,40],ga:0,gaia:[0,32],gaia_colour_transform_method:0,gaia_conversion_ubvri_bivariate_jordi2010:0,gaia_conversion_ubvri_riello2020:0,gaia_conversion_ubvri_univariate_evans2018:0,gaia_conversion_ubvri_univariate_jordi2010:0,gaia_conversion_ugriz_bivariate_jordi2010:0,gaia_conversion_ugriz_riello2020:0,gaia_conversion_ugriz_univariate_evans2018:0,gaia_conversion_ugriz_univariate_jordi2010:0,gaia_l_binwidth:0,gaia_teff_binwidth:0,galact:[0,38],gallino:0,gamma:0,gap:0,garcia:0,gauss:0,gaussian:[32,38],gaussian_func:32,gaussian_normalizing_const:32,gaussian_zoom:38,gb:0,gb_reimers_eta:0,gb_wind_beasor_etal_2020:0,gb_wind_goldman_etal_2017:0,gb_wind_reim:0,gb_wind_schroeder_cuntz_2005:0,gbwind:0,gbwindfac:0,gcc:[1,23,40],gce:0,gener:[0,1,6,7,8,9,12,13,15,16,18,19,20,21,22,25,26,31,32,34,35,38],general_info:2,generalis:32,geometr:0,geq:6,gerosa:0,get:[0,2,3,4,6,9,12,13,14,15,16,17,19,20,21,23,26,27,30,32,34,35,37,40,41,43],get_ansi_colour:20,get_arg_kei:20,get_condor_statu:30,get_default:[11,20],get_grid_options_defaults_dict:34,get_grid_options_descript:34,get_help:[11,20],get_help_al:[11,20,21],get_help_sup:[11,20],get_integration_constant_q:32,get_max_multipl:32,get_moe_di_stefano_2017_default_opt:27,get_moe_di_stefano_2017_default_options_descript:27,get_moe_di_stefano_dataset:27,get_siz:20,get_slurm_statu:37,get_usernam:20,getitem:2,gettempdir:19,getter:29,giant:[0,6,17],giant_branch:0,git:[0,13,14,15,16,20],git_branch:39,git_build:39,github:[20,31],gitlab:23,give:[0,5,8,20,21,32,43],given:[0,1,3,7,13,14,15,18,19,20,21,22,26,29,30,31,32,35,37,38,41,43],global:[0,2,13,14,15,20,32,38],global_dict:2,gmax:32,gmin:32,gnu:7,go:[0,6,11,13,16,21,23,25,40],goal:32,goe:[0,2,9,12,25],gogo:0,goldman:0,gonna:32,good:[0,12,13,14,15,16,22,43],got:[14,15],gov:0,gravit:[0,6,8,16],gravitational_const:6,gravitational_radiation_bs:0,gravitational_radiation_bse_when_no_rlof:0,gravitational_radiation_landau_lifshitz:0,gravitational_radiation_landau_lifshitz_when_no_rlof:0,gravitational_radiation_model:0,gravitational_radiation_modulator_:0,gravitational_radiation_modulator_j:0,gravitational_radiation_non:0,grb:0,great:[0,14,15,22],greater:0,grevess:0,grid:[0,4,12,20,21,23,26,27,30,31,32,33,34,35,36,37,38,43],grid_cod:21,grid_ensemble_result:[31,36],grid_log:[21,23,24],grid_opt:[6,8,12,13,14,15,16,21,26,29,30,31,35,36,37,38],grid_options_default:[21,23,24,29],grid_options_defaults_dict:34,grid_options_descript:[6,16,34],grid_options_description_check:34,grid_options_help:34,grid_result:[6,8,13,14,15,22],grid_vari:[16,22],grid_variable_numb:[6,8,35],gridcod:[16,21,23,24],gridcode_filenam:22,gridtyp:[6,8,16,35],group:[6,13,17,39],grvitation:5,gsl:[23,40],gsl_dir:[23,40],gt:[5,6,7,8,9,12,14,16,17,18,19],guess:[0,32],gyr:[5,6,8],gz:[16,31],gzip:31,h5py:[23,40],h:[0,5,9,20],ha:[0,1,2,5,6,8,9,11,13,14,15,16,19,20,22,28,31,35],hachisu:0,hachisu_disk_wind:0,hachisu_ignore_qcrit:0,hachisu_qcrit:0,hack:34,had:[6,8,13,14,15,21],half:[0,32],hall:0,handi:0,handl:[0,2,3,4,7,12,20,21,22,26,27,35,36,39,41,43],handle_ensemble_string_to_json:3,happen:[0,6,8],hardcod:[9,13,14,15,16],hardli:39,have:[0,2,3,4,5,6,7,8,9,12,13,14,15,16,19,20,21,22,23,25,26,30,31,34,37,40,41],haven:6,hbb:0,hbbtfac:0,hd:25,hdf5:20,hdf5file:20,he:[0,5],head:[0,17],header:[1,6,8,9,12,13,14,15,16,19,20],headerlin:16,headlin:22,hegb:[0,5],hehg:0,height:[8,13,16,32],held:[30,37],helium:[0,6,7],helium_flash_mass_loss:0,helium_white_dwarf:0,help:[0,5,7,11,12,13,14,15,16,20,34],help_al:0,hem:0,henc:[0,8,14,15,17],hendrik:[0,19,23,40],here:[1,6,7,9,12,13,14,15,17,19,20,21,22,25,32,41],hertzsprung:[0,4,23],hertzsprung_gap:0,hertzstrpung:0,heuvel:0,hewd:0,hewd_hewd_ignition_mass:0,hex:22,hg:0,hi:32,high:[0,14,15,32],higher:[0,6,8,13,14,15,16,20,22,23,32,40],highlight:2,histogram:8,histori:32,hole:[0,4,6,23],home:7,homogen:0,hood:12,hook:22,hopefulli:0,hot:0,hour:20,how:[0,2,5,6,7,8,9,12,13,14,15,16,19,22,28,32,35],howev:[0,9,13,14,15,16],hoyl:0,hpc:[21,22,23,24,30,37],hpc_can_join:26,hpc_check_requir:26,hpc_dir:26,hpc_dump_statu:26,hpc_force_join:22,hpc_get_statu:26,hpc_grid:26,hpc_id_filenam:26,hpc_id_from_dir:26,hpc_job:26,hpc_job_id_rang:26,hpc_job_task:26,hpc_job_typ:26,hpc_jobid:[21,26],hpc_jobid_tupl:26,hpc_join_from_fil:26,hpc_join_previ:26,hpc_joinlist:26,hpc_load_joinfiles_list:26,hpc_make_joiningfil:26,hpc_njob:26,hpc_path:26,hpc_queue_stat:26,hpc_rebuild_joinlist:[22,26],hpc_restor:26,hpc_set_statu:26,hpc_snapshot_filenam:26,hpc_statu:26,hpc_task:26,hpc_touch:26,hr:25,hr_diagram:25,hrd:[0,6,8],hrdiag:0,hrdiag_output:0,htcondor:22,html:[2,6,16,23,31,40],http:[0,1,2,6,16,20,31,32],human:20,hurlei:0,hut:0,hybrid:0,hydro:0,hydrogen:[0,6,7],i:[1,2,5,6,7,8,9,12,13,14,15,16,17,20,21,22,23,26,32,35,39,40,43],ia:[0,8],iadd:2,ib:[0,5],ibc:0,id:[21,22,26,30,31,32,33,37],id_cor:9,idea:[16,25],ident:2,idum:0,ignit:[0,6],ignor:[0,2,9,12,16,19,22,32,35],ii:[0,19],iia:0,iloc:[12,19],images:22,imf:[0,14,15,32],imf_chabrier2003:32,imf_scalo1986:32,imf_scalo1998:32,imf_tinsley1980:32,immedi:[0,6,22],implement:[0,2,22],impli:0,implic:[14,15],impos:[6,8,13,14,15,16],imposs:8,improv:[32,38],inclin:0,inclination1:0,inclination2:0,inclination3:0,inclination4:0,inclini:0,incliniation_quadrupl:0,incliniation_tripl:0,includ:[0,1,2,6,9,12,14,15,16,17,20,21,23,25,31,32,40],include_binary_c_default:[16,21],include_binary_c_help_al:[16,21],include_binary_c_version_info:[16,21],include_default:[16,31],include_popul:16,include_population_set:21,incom:0,increas:[0,5,8,13,14,15],inde:[0,14,15],indent:[2,3,12,21,31],independ:32,index:[0,7,11,12,16,17,22,23,26,32,35],indic:[0,32],individu:[4,13,23],individual_nova:0,induc:0,inertia:0,info:[7,11,16,20,21,23,25,39,40],inform:[0,1,3,4,6,9,12,13,14,15,16,20,21,22,25,26,32,34,36,39],init:21,init_abund:0,init_abund_dex:0,init_abund_mult:0,init_abunds_onli:0,initi:[0,4,5,7,11,12,19,21,32],initial_abundance_hash:21,initial_abundance_mix:0,initial_abunds_onli:0,initial_grid:19,initial_mass:[12,19],initial_tim:19,inlin:19,inner:[0,17],input:[1,2,3,7,11,12,20,21,22,23,25,27,31,32,33,34,41,43],input_dict:2,insert:[16,35],insid:0,inspect:[2,12,25],inspect_dict:2,inspir:[1,25,43],instabl:0,instal:[22,43],install_without_depend:[23,40],instanc:[2,11,12,13,14,15,16,32],instant:0,instantli:0,instead:[0,5,14,15,20,22],integ:[0,6,22,38,43],integr:[13,14,15,32,38],integrals_str:32,intend:16,intens:[14,15],interact:[0,3,5,6,8,17,19,34],interfac:[7,17,20,23,26,40],interfer:[23,40],intermedi:8,intern:[0,7,11,22],internal_buff:0,internal_buffering_off:0,internal_buffering_print:0,internal_buffering_stor:0,interpol:[27,32,38],interpolate_in_mass_izzard2012:32,interpolator_nam:32,intershel:0,interstellar:0,intger:0,intro:0,introduc:5,introduct:6,inv:[5,19],invers:43,invert_xaxi:6,involv:0,inward:0,io:31,ipykernel_216542:17,ipykernel_519112:14,ipynb:[13,14,15,16],is_capsul:20,isfil:16,isfloat:20,isint:20,isn:[14,15,20],isnt:16,isotop:[0,11,39],isotope_hash:21,isotope_list:21,issu:26,item:[1,2,6,8,13,14,15,20],iter:20,its:[0,2,3,13,14,15,16,17,20,22,23,25,26,27,31,34,38,39,40,41],itself:[3,6,9,12,22,23,32,40],iwamoto:0,izzard2012_period_distribut:32,izzard:[0,6,8,13,14,15,23,40],jager:0,jaschek:32,jeff:[23,40],jej:5,jerki:6,jf:5,jia:0,job:[21,22,26,30,37],job_id:26,job_index:26,jobarrayindex:[22,37],jobid:[21,22,37],john:0,join:[7,9,12,16,19,22,26],joinfil:26,joiningfil:26,joinlist:[22,26],jorb_in:5,jorb_out:5,jordi:0,json:[3,7,12,16,21,22,27,31],jsondecod:3,jsonencod:3,jtot_in:5,jupit:17,jupyt:[23,40],just:[0,2,6,7,8,16,19,20,21,22,23,27,31,39,40,43],k1:[5,12,19],k2:[5,12,19],k:[0,6,17,32],kap:0,kappa:0,kaps_rentrop:0,karaka:0,keep:[8,16,31,33],kei:[1,2,3,6,11,12,16,17,19,20,21,22,25,29,31,32,34,35,39],kelvin:0,keplerian:0,keys_to_float:2,keyword:[14,25,41],kick:[0,5,19,22],kick_backward:0,kick_forward:0,kick_inward:0,kick_outward:0,kick_random:0,kick_straight_up:0,kick_velocity_custom:0,kick_velocity_fix:0,kick_velocity_maxwellian:0,kill:[1,9,16,21],kilonova:6,kim:0,kind:[0,7],kippenhahn:0,klencki:0,km:0,know:[0,1,2,7,12,14,15,22,31,34],known:[0,6,12,13,14,15,16,21,32,41],kroupa2001:[16,32,35],kroupa:[14,15,32],krticka:0,ktg93:32,kwarg:[19,21,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,41],l1:5,l2:0,l:[0,6,13,14,15],l_:[13,14,15],label:[6,19,32],lambda:[0,5,8],lambda_:8,lambda_c:[0,5,8],lambda_ce_dewi_tauri:0,lambda_ce_klencki_2020:0,lambda_ce_polytrop:0,lambda_ce_wang_2016:0,lambda_enthalpi:0,lambda_ion:5,lambda_ionis:0,lambda_min:0,lambda_mult:0,lambda_multipli:0,lambda_v:32,lamer:0,landau:0,langer:0,languag:6,larger:[0,6],last:[4,14,17,19,20,32],last_st:19,last_stellar_type_change_time_1:19,lastli:[7,12],late:19,later:[13,14,15,22],latest0:[6,8,13],latest1:[6,8,13],latest2:[6,16],latest3:6,latest4:6,latest5:6,latest:[23,40],latter:0,launch:[22,30,37],law:[14,15,32],law_const:32,lbv:0,ld_library_path:[23,40],ldist:[14,15],lead:[0,6,13,14,15,16,31,32,43],learn:[9,22],least:[23,40],leav:[0,22],left:0,legaci:0,legacy_yield:0,legend:[17,19],len:[5,6,12,16,19],length:[5,20],lengthen:0,leq:6,less:[0,1,4,5,31,32],let:[5,8,12,13,14,15,16,17,21],level:[1,6,20,33],lfucach:22,li7:0,li:0,lib:[7,12,18,19,23,40],libbinary_c:22,libcustom_logging_34a350b8f15c4d149deab88632948c99:12,libcustom_logging_446fe4cddfa94946bcafd55591ef3730:12,libgsl:[23,40],libmemo:[23,40],librari:[0,1,6,9,19,21,22,41],library_path:[23,40],librinterpol:[23,40],life:8,lifetim:[0,8,13,14,15,16,38],lifshitz:0,like:[0,1,6,7,8,13,14,15,16,19,20,22,23,25,31,38,40],limit:[0,6,7,8,13,14,15,16,22,25],line:[1,5,6,8,9,12,13,14,15,16,17,18,20,21,22,23,25,31,38,40],linear2:22,linear:[0,13,14,15,22,32,38],linear_extrapolation_q:32,linearli:[14,15,38],linedata:[6,8,13,14,15],lineplot:[6,8,13,14,15,17],linewidth:[6,8,13,14,15,17],linker:1,linspac:38,linux:7,list:[0,1,2,3,6,8,12,13,14,15,16,17,20,22,26,29,32,35,38,41],list_arg:0,list_of_sub_kei:2,lit:0,lithium:0,lithium_gb_post_1dup:0,lithium_gb_post_heflash:0,lithium_hbb_multipli:0,lithium_t:0,littl:[5,6,8,13,16,17,29],littleton:0,liu:0,ll:[2,9,11,14,15,17,31],llnl:0,ln:32,lnm1:[8,13,14,15,16],lnm_1:[14,15,16,35],load:[0,1,3,6,8,9,12,13,14,15,16,19,20,21,22,25,26,27,31,35],load_ensembl:3,load_logfil:20,load_population_object:31,load_snapshot:31,lobe:[0,5,8,43],loc:17,local:[22,32],local_count:2,locat:[0,22,23,32,38,40],lock:[5,31],lock_lifetim:31,lock_object:31,lock_suffix:31,lock_timeout:31,locked_clos:31,locked_open_for_writ:31,lockfil:31,lodder:0,log10:[0,6,8,13,14,15,16,32,38],log10m1:22,log10mass:38,log10p:32,log10per:[8,13,16],log10pmin:32,log:[0,1,4,5,7,12,17,18,20,22,23,25,31,32,33,35,38,40,41,43],log_:[6,8,13,14,15],log_arg:22,log_args_dir:22,log_arrow:0,log_dt:[8,22],log_every_timestep:[9,12],log_fil:[5,22],log_filenam:[0,5,12,19,41],log_newlin:22,log_runtime_system:22,logarithm:[14,15,32,38],logensembletim:0,logfil:[12,20,23,40],logg:[0,6],logger:16,logging_dict:1,logging_lin:[9,18,19],loggrav:6,logi:18,logic:[1,2,9,21,22],logl:6,logmass:[32,38],logp:32,logper:[8,32],logperiod:32,logperrang:[8,13],logspac:38,logteff:6,long_spectral_typ:32,longer:[0,6,8],longnam:[6,8,13,14,15,16,35],look:[1,3,6,8,13,14,15,16,19,23,32,40],lookback:0,loon:0,loop:[6,8,12,13,14,15,16,31,35],loos:25,lose:[0,19],loss:[0,5,7,12,13,17],lost:[0,8,19],lot:[6,13,14,15,16,17,22,39,41],lovegrov:0,low:[0,6,8,14,15,32],low_mass_m:0,low_mass_main_sequ:0,lower:[0,13,16,32,35,38],lowest:32,lru:29,lru_:29,lrucach:22,lsoda:0,lsun:[0,25],lt:[6,7,8,12,14,16,17,18],lucianopaz:31,lugaro:0,luminos:[0,4,6,23,25],luminosity_1:25,luminosity_2:25,luminosu:6,lw:0,lynnett:0,m01:5,m0:32,m1:[0,5,8,9,12,13,14,15,16,19,31,32,43],m2:[5,8,9,12,13,16,19,31,32,43],m3:32,m4:32,m:[0,5,6,8,13,14,15,17,19,20,32,43],m_1:[0,5,6,7,8,9,11,12,13,14,15,16,17,18,19,35,41],m_2:[0,5,6,7,8,9,12,13,16,18,19],m_3:[0,7],m_4:[0,7],m_:19,m_max:[16,32,35],m_min:[16,35],m_sun:6,maccretor:[0,5],machin:[8,22,23,40],macro:[0,11,20,39],madau:32,made:[6,23,26,40],maeder:0,magellan:0,magnet:0,magnetic_braking_algorithm:0,magnetic_braking_algorithm_andronov_2003:0,magnetic_braking_algorithm_barnes_2010:0,magnetic_braking_algorithm_hurley_2002:0,magnetic_braking_algorithm_rappaport_1983:0,magnetic_braking_factor:0,magnetic_braking_gamma:0,magnitud:20,mai:[0,8,13,31],main:[0,1,6,7,9,13,14,15,16,19,22,23,40],main_sequ:[0,13,14,15,19],mainprocess:[6,8,13],major:0,make:[0,1,2,3,5,6,8,12,13,14,15,16,17,19,20,21,22,23,25,26,30,31,32,40,41,43],make_analytics_dict:28,make_build_text:20,make_condor_dir:30,make_slurm_dir:37,makedir:[16,20],makejoiningfil:26,manag:[20,23,40],mani:[0,6,7,8,11,13,14,15,16,22,30],manual:[9,22],manufactur:0,map:22,mar:17,maria:0,mass:[0,1,2,4,5,6,7,8,11,12,13,16,17,19,20,22,25,32,35,38,39,41,43],mass_1:[16,19,25],mass_2:[16,19,25],mass_accretion_for_eld:0,mass_accretor:43,mass_donor:43,mass_evolut:25,mass_for_hestar_ia_low:0,mass_for_hestar_ia_upp:0,mass_loss_m:19,mass_lost:19,mass_of_pmz:0,mass_rang:19,mass_str:32,massiv:[0,4,5,6,8,13,17,23,32],massless:0,massless_remn:0,massloss:0,massrang:[6,8,13,14,15],master:[22,25],match:[0,2,6,12,13,16,17,22,25,29],materi:[0,6],math:[6,8,13,14,15,16,17,35,38],mathieu:32,mathrm:[6,8,13,14,15],matplotlib:[6,8,14,15,17,19,23,25,40],matter:[0,7],mattsson:0,mattsson_mass_loss:0,mattsson_orich_tpagbwind:0,max:[0,8,9,13,14,15,16,22,32],max_bound:[32,38],max_column:[6,8,17],max_evolution_tim:[0,1,6,7,8,9,12,13,14,15,16,17,19,38],max_hewd_mass:0,max_logp:32,max_model_numb:0,max_multipl:32,max_neutron_star_mass:0,max_queue_s:22,max_row:[6,8,17],max_stellar_angmom_chang:0,max_stellar_type_1:0,max_stellar_type_2:0,max_stellar_type_3:0,max_stellar_type_4:0,max_tim:[5,12,19],max_val:32,maxcount:5,maxdm:38,maximum:[0,6,7,8,9,13,14,15,16,22,32,38,43],maximum_mass_ratio_for_instant_rlof:0,maximum_mass_ratio_for_rlof:43,maximum_mcbagb_for_degenerate_carbon_ignit:0,maximum_nuclear_burning_timestep:0,maximum_timestep:0,maximum_timestep_factor:0,maxmimum:0,maxsiz:22,maxwellian:0,mayb:25,mayor:32,mb:[6,8,13,15,16,20,22],mc13_pocket_multipli:0,mc1:5,mc:[0,5,16,19,31],mch:0,mcmin:0,mdonor:[0,5],mean:[0,5,20,22,23,30,32,37,38,40],meant:22,measur:20,medium:0,mega:32,megabyt:22,mem:[8,13],mem_us:20,memaddr:[7,9],memori:[1,6,7,8,9,13,15,16,19,20,21,22,31,43],menv:[0,5],mer:5,mercuri:17,merg:[0,2,5,6,8,22,26,31,32,33],merge_dict:[2,11],merge_multipl:32,merge_popul:31,merge_populations_from_fil:31,merger:[0,5],merger_angular_momentum_factor:0,merger_mass_loss_fract:0,mesa:[23,40],mesasdk_init:[23,40],mesasdk_root:[23,40],mess:17,messag:[20,21],messi:6,mestel:0,met:[16,21,26,35],metadata:[16,21,23,24,35],metal:[0,5,6,7,8,9,12,13,14,15,16,17,18,19,32,43],metallicity_0002:19,metallicity_001:19,metallicity_002:19,method:[0,9,11,12,13,14,15,16,19,21,22,27,31,33,34,35,39],meynet:0,mf1:5,mf2:5,might:[2,3,8,13,16,17,20,22,23,31,40],milki:0,miller:0,min:[8,9,13,14,15,16,32],min_bound:[32,38],min_logp:32,min_per:32,min_val:32,mind:19,mindm:38,minimal_verbos:20,minimum:[0,7,20,22,32,38,39,43],minimum_co_core_mass_for_carbon_ignit:0,minimum_co_core_mass_for_neon_ignit:0,minimum_donor_menv_for_comenv:0,minimum_envelope_mass_for_third_dredgeup:0,minimum_helium_ignition_core_mass:0,minimum_mcbagb_for_nondegenerate_carbon_ignit:0,minimum_orbital_period_for_instant_rlof:0,minimum_period_for_rlof:43,minimum_separation_for_instant_rlof:0,minimum_separation_for_rlof:43,minimum_stellar_mass:39,minimum_time_between_pn:0,minimum_timestep:0,mint:0,mint_data_cleanup:0,mint_dir:0,mint_disable_grid_load_warn:0,mint_fallback_to_test_data:0,mint_hard_max_nshel:0,mint_hard_min_nshel:0,mint_kippenhahn:0,mint_kippenhahn_companion_stellar_typ:0,mint_kippenhahn_stellar_typ:0,mint_maximum_nshel:0,mint_maximum_shell_mass:0,mint_metal:0,mint_minimum_nshel:0,mint_minimum_shell_mass:0,mint_ms_rejuven:0,mint_nshel:0,mint_nuclear_burn:0,mint_remesh:0,mint_use_zams_profil:0,minut:[8,20],mira:0,misc:23,miscellan:[11,39],miss:[0,13,14,15,20,34],mistak:22,mix:[0,2,22],mixtur:[0,13],mmax:[14,15,32,38],mmin:[14,15,22,32,38],mnra:43,mode:31,model:[0,1,6,8,9,12,13,14,15,16,17,18,19,22],model_numb:[13,14,15],modif:4,modifi:[0,2,9,23,40],modul:[0,7,8,11,13,14,15,16,17,22,24],modulo:22,moe2017_opt:22,moe:[16,23,26,27,32],moe_di_stefano_2017:[21,23,24],moe_di_stefano_2017_multiplicity_fract:32,moe_di_stefano_2017_pdf:32,moment:[0,6,9,16,19,38],momenta:[0,25],momentum:[0,17],monoton:[14,15],mont:[0,22],monte_carlo_kick:0,more:[0,1,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,25,38,40],most:[6,7,8,14,15,17,20],mostli:[6,8,13,14,15,16,19,20,22,25,34,41],mount:31,move:[0,6],mrucach:22,ms:[0,5,9,13],msgpack:31,mstart:5,msun:[0,6,9,12,13,14,15,17,19,32,38,39],mu:0,much:[0,6,8,13,16,19,20,28],multipl:[0,2,6,22,32],multiplc:0,multipli:[0,2,14,15,22,38],multiplicity_arrai:32,multiplicity_fraction_funct:22,multiplicity_model:22,multiplicity_modul:22,multiplied_dict:2,multiply_float_valu:2,multiply_values_dict:[2,11],multiprocess:22,must:[0,2,6,7,8,12,13,14,15,16,17,31,35,38],mw:0,my:12,my_stellar_data:[1,9,16,18,19],myr:[0,6,8,12,13,14,15,17,38],n100:0,n100_z0:0,n100h:0,n100l:0,n10:0,n150:0,n1600:0,n1600c:0,n1:0,n200:0,n20:0,n300c:0,n3:0,n40:0,n5:0,n:[0,1,5,6,7,8,9,12,13,14,15,16,18,19,20,22,26,32],n_logging_stat:22,naked_helium_star_giant_branch:0,naked_helium_star_hertzsprung_gap:0,naked_main_sequence_helium_star:0,name:[1,2,5,6,7,8,13,14,15,16,17,19,20,22,30,31,34,35,41,42],nameerror:17,narrow:[14,15],natur:[0,14,15],nauenberg:0,nazehdin:0,nb:0,nbinary_c:19,ncol:19,nearer:0,nearest:[8,13,14,15],nebula:0,necessari:[8,16,17,19,20,21,37],need:[0,2,7,9,12,13,14,15,16,17,19,22,23,26,32,40,43],neg:[0,2,38],neither:[0,21],neleman:0,nelemans_gamma:0,nelemans_max_frac_j_chang:0,nelemans_minq:0,nelemans_n_comenv:0,nelemans_recalc_eccentr:0,nemp:0,nemp_cfe_minimum:0,nemp_nfe_minimum:0,nenamg:0,neon:[0,6],neptun:17,nest:[2,16,35,39],network:[0,11],neutrn:0,neutron:[0,6,16],neutron_star:0,never:[0,6,14,15,22,29],new_dict:2,newdict:2,newer:[0,2],newli:0,newlin:[20,22,31,33],newnam:35,newobj:26,newopt:[2,32],newpop:31,newton:0,next:[13,14,15,16,20],nf:[22,31],nfs_flush_hack:31,nfspath:31,nice:[21,25],nieuwenhuijzen:0,nieuwenhuijzen_windfac:0,nine:6,nmax:32,no_thermohaline_mix:0,nocach:22,node:22,noecho:0,noechonow:0,noel:0,nolowq:22,nomin:0,non:[0,2,14,15,22,31],nonconservative_angmom_gamma:0,none:[0,1,2,3,5,6,7,8,13,15,16,17,19,20,21,22,26,27,29,30,31,32,34,35,37,38,43],nonetyp:2,nonzero:22,nor:0,norm:22,normal:[0,2,21,26,38,39],normalis:[2,22,32],normalize_dict:2,normalize_multipl:22,normalized_dict:2,nospac:20,notabl:16,notat:20,note:[0,5,6,13,14,15,16,19,20,22,26,31,35,38,39],notebook:[5,6,7,8,9,11,12,13,14,15,16,17,23,40],notebook_api_funct:12,notebook_bhbh:5,notebook_comenv:8,notebook_custom_log:[12,13,14,15,16],notebook_hrd:6,notebook_individual_system:[9,12,13,14,15,16],notebook_luminos:[14,15],notebook_luminosity_funct:13,notebook_luminosity_function_binari:[14,15],notebook_popul:[12,16],notebook_solar_system:17,noteworthi:4,noth:[2,22,26,27,31],notic:[14,15],notifi:41,nov:19,nova:[0,6,8],nova_faml_multipli:0,nova_irradiation_multipli:0,nova_retention_algorithm_claeys2014:0,nova_retention_algorithm_const:0,nova_retention_algorithm_hillman2015:0,nova_retention_fract:0,nova_retention_method:0,nova_timestep_accelerator_index:0,nova_timestep_accelerator_max:0,nova_timestep_accelerator_num:0,now:[0,2,5,6,8,9,12,13,14,15,16,17,19,20,26,32,33],now_object:20,np:[12,18,19,38],nre:[13,38],nrow:19,ns:[0,1,8,9,16],nsep:8,nsep_max:8,nsep_min:8,nstar:[6,13],nuclear:0,nuclear_mass_hash:21,nuclear_mass_list:21,nucleosynthesi:[0,39],nucleosynthesis_sourc:[11,39],nucreacmult:0,nucsyn:23,nucsyn_angelou_lithium:0,nucsyn_gce_outflow_check:0,nucsyn_hbb:0,nucsyn_metal:[0,7],nucsyn_network:0,nucsyn_network_error:0,nucsyn_s_process:0,nucsyn_solv:0,nucsyn_third_dredge_up:0,nugi:0,nullcach:[22,29],num_ansi_colour:0,num_cor:[6,8,13,14,15,16,22],num_cores_avail:22,number:[0,2,3,5,6,8,13,14,15,16,17,19,20,21,22,23,26,31,32,33,34,35,38,40],numer:2,numpi:[12,16,18,19,20,23,35,38,40],o:[3,20,23,32],obj:[3,20],object:[0,2,3,4,7,11,17,20,21,22,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,41],object_hook:3,object_pairs_hook:3,object_parse_funct:12,observ:[13,14,15],obtain:[0,6,8,13,14,15,31],obvious:9,occur:[0,43],odot:[6,8,19],off:[0,5,16,19,22],off_m:[5,12,19],offset:0,oh:5,ohio:0,ok:[16,26,31],old:[14,15,22,35],oldnam:35,omega:[0,5,19],on_exit_or_evict:22,onc:[0,38],one:[0,2,7,11,14,15,16,17,18,19,22,25,29,31,34,38,41],onewd:0,onli:[0,2,6,9,13,14,15,16,17,19,20,22,26,27,31,38,43],onset:0,onto:[0,32],oop:5,opac:0,opacity_algorithm:0,opacity_algorithm_ferguson_op:0,opacity_algorithm_paczynski:0,opacity_algorithm_star:0,opal:0,open:[3,5,12,16,19,31],open_ensembl:3,opendir:31,oper:[2,31],opm:32,opt:[2,5,7,32],option:[0,1,2,6,8,13,14,15,16,17,18,19,20,21,23,26,27,29,31,32,34,35,38,40,43],orb:[8,16,31],orbit:[0,5,7,8,13,17,25,32,43],orbit_evolut:25,orbital_eccentr:17,orbital_inclin:0,orbital_inclinationi:0,orbital_period:[0,5,7,8,9,12,13,16,18,19,43],orbital_period_quadrupl:0,orbital_period_tripl:0,orbital_phas:0,orbital_phase_quadrupl:0,orbital_phase_tripl:0,orbital_separ:17,orbiting_object:[0,17],orbiting_objects_close_pc_threshold:0,orbiting_objects_log:[0,17],orbiting_objects_tides_multipli:0,orbiting_objects_wind_accretion_multipli:0,order:[2,4,16,20,35],ordereddict:2,org:[0,2,32],orient:8,origin:[2,17,23,31,40],original_command_lin:22,original_submission_tim:22,original_working_diretori:22,os:[5,6,8,12,13,14,15,16,17,19,20],other:[0,1,2,6,11,12,13,14,15,16,20,22,23,25,26,32,34,40],otherwis:[0,2,20,21,22,26,28,30,31,34,37],our:[6,8,13,14,15,22,32],out:[2,3,6,8,9,13,14,15,17,20,22,32,34],outcom:0,outer:[0,6],outermost_core_mass:6,outfil:[16,21],outfile_nam:1,outfilenam:16,output:[1,2,3,4,5,7,9,11,12,17,18,19,20,21,22,23,25,31,39,40,41,43],output_dict:[6,8,12,13],output_dir:[12,16,31],output_fil:[12,20,31,34],output_filenam:[16,31],output_lin:20,outsid:[0,32],outward:0,over:[2,6,8,11,12,13,14,15,16,20,21,31],overflow:[0,5,8],overhead:22,overlap:2,overrid:[2,19,22,32,35,38],overriden:16,overshoot:0,overspin_algorithm:0,overspin_bs:0,overspin_massloss:0,overview:7,overwrit:[22,26],own:[9,12,16,18,19,22,23,35,40],oxygen:[0,6],oxygen_neon_white_dwarf:0,p0:32,p1:32,p2:32,p3:32,p:[6,8,13,14,15,17,32,34],p_:8,p_in:5,p_out:5,packag:[3,7,16,20,23,35,36,37,38,40],paczynski:0,pad:[8,13,14,15],pad_output_distribut:[6,8,13,14,15,20],page:[0,6,16,23,40],pair:[0,2,5,20,35,39],panda:[6,8,12,13,14,15,17,18,19,20,23,25,40],pane:25,panel:0,paper:0,parallel:[16,35],param_nam:20,paramet:[1,2,3,4,6,7,8,9,12,13,14,15,16,20,21,22,23,25,26,29,30,31,32,34,35,37,38,39,41,43],parameter_nam:[3,6,7,8,11,13,14,15,16,20,35],parameter_value_input_typ:[11,20],pars:[3,4,6,8,12,13,14,15,16,19,20,21,25,39,41],parse_binary_c_version_info:39,parse_cmdlin:21,parse_const:3,parse_data:8,parse_float:3,parse_funct:[6,8,12,13,14,15,16,21,22,41],parse_function_hr_diagram:25,parse_function_mass:25,parse_function_orbit:25,parse_int:3,parse_output:19,parsec:32,part:[6,7,12,13,14,15,16,19,21,30,32,35,37,43],partial:0,particularli:0,partit:22,partner:31,pasp:32,pass:[2,7,9,12,16,17,19,20,21,22,23,25,26,27,30,31,37,38,40,41],path:[12,16,19,20,22,23,26,29,30,31,34,37,40],patho:[23,40],pd:[6,8,12,13,14,15,17,18,19],pdf:[0,19,23,32,40],peak:[8,14,15,38],peak_normalized_gaussian_func:38,pend:[0,5],per:[0,5,8,12,13,16,20,22,31,43],percentag:0,peret:0,perfect:[14,15],perfectli:[13,14,15],perform:[0,31],perhap:[0,6,8,21],periastron:0,pericent:43,period:[0,5,7,8,9,12,13,14,15,16,17,19,25,32,43],period_str:32,perl:[1,2,13,14,15,16,30],persist:7,persistent_data:7,pgo:0,phase:[0,6,8,13,14,15],phasevol:[0,16],phdi:0,phi:[5,19],photoevapor:0,php:32,physic:[6,13,14,15,16,22],pick:25,pickl:31,pid:21,piec:[16,19,35],pinnsonneault:0,pisn:0,pkg:[23,40],pl:21,place:[0,2,13,20,22],placehold:[25,29,30,31],plai:[0,14,15],plan:22,planet:17,planetari:0,plaw2:22,pleas:[0,6,7,13,14,15,16,20,22,29],plot:[0,6,8,12,13,14,15,17,18,19,25],plot_data:[8,13,14,15],plot_funct:[23,24],plot_hr_diagram:25,plot_hr_diagram_singl:25,plot_mass:25,plot_orbit:25,plot_system:25,plot_typ:25,plt:[6,8,14,15,17,19],plu:0,pluto:17,pm:25,pms_mass_1:25,pms_mass_2:25,pn:0,pn_comenv_transition_tim:0,pn_fast_wind:0,pn_fast_wind_dm_agb:0,pn_fast_wind_dm_gb:0,pn_fast_wind_mdot_agb:0,pn_fast_wind_mdot_gb:0,pn_hall_fading_time_algorithm:0,pn_hall_fading_time_algorithm_maximum:0,pn_hall_fading_time_algorithm_minimum:0,pn_resolv:0,pn_resolve_maximum_envelope_mass:0,pn_resolve_minimum_effective_temperatur:0,pn_resolve_minimum_luminos:0,pne:0,png:19,pogg:0,point:[0,3,6,20,21,22,23,31,32,38,40],poisson:[22,32],pol:0,polytrop:0,poor:[14,15],pop:[5,9,17,29],pop_macro:9,popitem:29,popul:[0,3,4,7,11,23,24,40,41],population_extens:[16,21,26,27,28,29,30,31,32,33,34,35,36,37,38,39],population_id:[16,22],population_nam:[6,8,13,15],population_object:31,population_set:21,posit:[0,2,8,32],possibl:[0,1,2,6,12,17,20,22,23,29,32,34,40],post:[0,5,6,8,9,21],post_ce_adaptive_menv:0,post_ce_envelope_dm_eagb:0,post_ce_envelope_dm_gb:0,post_ce_envelope_dm_tpagb:0,post_ce_objects_have_envelop:0,post_comenv_period:8,post_sn_orbit_bs:0,post_sn_orbit_method:0,post_sn_orbit_tt98:0,postagb_legacy_log:0,postagb_wind_gi:0,postagb_wind_krticka2020:0,postagb_wind_non:0,postagb_wind_use_gi:0,postagbwind:0,postcod:[6,8,16,35],potenti:0,pow2:6,power:[0,8,14,15,22,32],powerlaw:32,powerlaw_const:32,powerlaw_constant_nocach:32,powerlaw_extrapolation_q:32,ppisn:0,ppisn_additional_massloss:0,ppisn_core_mass_range_shift:0,ppisn_farmer19:0,ppisn_new_fit_21:0,ppisn_non:0,ppisn_prescript:0,ppn_envelope_mass:0,pragma:9,pre:[0,5,8,16,19,25],pre_comenv_period:8,pre_events_stardata:0,pre_main_sequ:0,pre_main_sequence_fit_lob:0,precis:3,precod:[6,8,13,14,15,16,35],predefin:[13,14,15,16,32],predict:22,predictor:0,prefer:[0,21],prefix:0,preloaded_popul:31,prep:0,prepar:2,prepare_dict:2,presc:5,prescrib:0,prescript:[0,5,16],prescrit:0,present:[2,3,6,13,14,15,16,19,21,31,32],preserv:0,preset:25,pressur:0,prev_stellar_type_1:16,prev_stellar_type_2:16,prevent:[0,5,6,22],previou:[8,14,15,20,22,39],previous:[12,16,26],previous_stardata:[1,8,9,12,16],primari:[1,6,8,13,14,15,16,32,35,43],prime:8,pringl:0,print:[2,5,6,7,8,9,11,12,13,14,15,16,17,19,20,22,26,33,34],print_help:[11,20],print_info:34,print_option_descript:34,print_stack_on_exit:22,print_structur:2,printf:[1,6,8,9,12,13,14,15,16,18,19],prior:[0,6],privat:[21,23],prob_dict:32,probability_weighted_mass:22,probabl:[0,1,2,6,8,9,13,14,15,16,19,21,22,25,31,32,34,35],probdist:[6,8,13,14,15,16,35],problem:[0,13],probtot:[14,15],process:[0,6,8,13,14,15,16,18,19,20,21,22,26,30],process_:31,processor:[6,8,13],produc:6,profil:0,progenitor:[0,16],program:[6,23,40],progress:20,project:0,proper:[6,9,34],properli:0,properti:[0,20,22,25,35],proport:8,prot1:0,prot2:0,prot3:0,prot4:0,provid:[0,16,21,22,26,32,41],pseudorandom:0,publicli:9,puls:[0,6,43],pulsat:0,pump:0,purpos:[13,14,15,16,22,25],push:17,push_macro:9,put:[1,6,8,13,14,15,16,19,20,22,25,26,34,35,36],pwd:22,py:[6,8,13,14,15,16,17,22,23,29,40],py_rinterpol:[23,40],pyenv:[7,23,40],pyplot:[6,8,14,15,17,19],pysiz:20,pytest:[23,40],python3:[7,23,40],python:[2,3,4,6,8,13,14,15,20,22,29,31,32,35],q:[0,5,8,13,16,19,22,32,43],q_high_extrapolation_method:22,q_interpol:32,q_low_extrapolation_method:22,q_min:32,qc:5,qcrit_bh:0,qcrit_bs:0,qcrit_cheb:0,qcrit_chen_han_formula:0,qcrit_chen_han_t:0,qcrit_cowd:0,qcrit_degenerate_bh:0,qcrit_degenerate_cheb:0,qcrit_degenerate_cowd:0,qcrit_degenerate_eagb:0,qcrit_degenerate_gb:0,qcrit_degenerate_hegb:0,qcrit_degenerate_hehg:0,qcrit_degenerate_hem:0,qcrit_degenerate_hewd:0,qcrit_degenerate_hg:0,qcrit_degenerate_lmm:0,qcrit_degenerate_m:0,qcrit_degenerate_n:0,qcrit_degenerate_onewd:0,qcrit_degenerate_tpagb:0,qcrit_eagb:0,qcrit_gb:0,qcrit_gb_bs:0,qcrit_gb_chen_han_formula:0,qcrit_gb_chen_han_t:0,qcrit_gb_ge2015:0,qcrit_gb_hjellming_webbink:0,qcrit_gb_q_no_comenv:0,qcrit_gb_temmink2021:0,qcrit_gb_vos2018:0,qcrit_ge2015:0,qcrit_hegb:0,qcrit_hehg:0,qcrit_hem:0,qcrit_hewd:0,qcrit_hg:0,qcrit_hjellming_webbink:0,qcrit_lmm:0,qcrit_m:0,qcrit_n:0,qcrit_onewd:0,qcrit_q_no_comenv:0,qcrit_temmink2021:0,qcrit_tpagb:0,qcrit_vos2018:0,qcrits_:0,qcrits_degenerate_:0,qdata:32,qlimit:32,qmin:32,qs:32,quad:22,quadrat:0,quadrulpl:0,quadrupl:[0,22,32],quantiti:25,queri:[12,26],queue:[6,8,13,22,26,30],quickli:12,quit:[0,6,20,32],quot:20,quotewrap:20,r1:[5,12,19],r2:[5,12,19],r:[0,1,5,6,12,16,19,23,31,40],r_l:43,r_sun:6,radau:0,radi:0,radiat:0,radii:[0,43],radiu:[0,1,6,9,16,18,25,43],radius_1:25,radius_2:25,ragb:43,raghavan2010_binary_fract:32,raghavan:32,rai:0,railton:0,rais:[0,2,16,20,22],ram:[0,22],ran:[6,8,13,22],randbuf:[5,19],random:[0,5,7,19,22],random_count:[5,12,19],random_se:[0,5,12,19],random_skip:0,random_system:0,random_systems_se:0,rang:[0,6,7,8,12,13,14,15,16,22,32,35,38],rapid:0,rapidli:0,rappaport:0,rate:[0,14,15,32],rather:[0,2,9,12,16,20,22,23,26,39,40],ratio:[0,6,7,8,13,14,15,16,32,43],raw:[3,7,19,20,21,22,25,39,41],raw_output:3,rc:[5,6,8,13,14,15,17,25],re:[0,1,6,7,8,13,14,15,17,26,34],reach:[0,5,6,8],reaction:0,read:[3,4,5,12,16,19,20,22,31],readabl:20,readlin:5,real:[6,13,16,35],realist:[14,15],realiti:[14,15],realli:[0,6,16,21,22,34,35],reason:[0,14,15],rebuild:[0,22,23,26,40],rebuilt:[23,40],recalcul:0,receiv:20,recent:[14,17],recogn:16,recognis:31,recombin:0,recommend:[1,4,23,40],recompil:[13,14,15,16,23,40],reconsid:34,recurs:[2,20],recursive_change_key_to_float:2,recursive_change_key_to_str:2,red:[0,6,14,15,17],redhat:1,redshift:32,reduc:[0,5],reduct:22,refer:[2,22,31],refpop:31,regardless:25,region:[0,38],regist:16,reignit:0,reimer:0,reinstal:[23,40],reject:0,rejects_in_log:0,rejuven:[0,13],rel:0,relat:0,releas:[20,23,40],relev:21,reliabl:7,remain:[0,7,20,22],rememb:[5,6,14,15],remesh:0,remnant:[0,6],remov:[0,2,8,12,16,17,20,21],remove_fil:20,renam:[14,15,35],rename_grid_vari:[14,15,35],renormalis:32,rentrop:0,repeat:[0,22],replac:30,repo:23,report:[0,6,8,13,14,15,16],repositori:4,repres:22,represent:[3,16,35],reproduc:0,requir:[0,3,8,12,13,14,15,16,17,19,20,22,25,26,32,41],rerun:[6,22],reset:0,reset_pref:0,reset_star:0,reset_stars_default:0,resolut:[0,6,8,13,14,15,16,22,35,38],resolv:[0,13,31],reson:0,resourc:[14,15,26],respect:[0,30,32,37],rest:[16,32,35],restor:26,restore_from_snapshot_dir:22,restore_from_snapshot_fil:[22,26],restructuredtext:20,result:[0,1,2,3,6,8,12,13,14,15,16,19,20,22,23,26,31,32,38,40],result_arrai:32,result_dict:2,result_example_head:19,result_example_header_1:19,result_example_header_2:19,results_dictionari:[6,8,13,14,15],ret:16,retain:0,rethink:20,return_after_dry_run:22,return_all_info:21,return_arglin:7,return_binary_c_default:21,return_binary_c_version_info:[11,21,39],return_compilation_dict:1,return_help:7,return_help_al:[7,20],return_maximum_mass_ratio_for_rlof:[7,43],return_minimum_orbit_for_rlof:[7,43],return_persistent_data_memaddr:7,return_population_set:21,return_store_memaddr:7,return_version_info:[7,39],reus:21,revap_in:0,revap_out:0,revers:[0,25],reverse_tim:0,revis:[0,39],rewrit:21,rgb:6,rhagavan:22,ri0005:[6,16],rich:0,riello:0,rin:0,ring:0,risk:[16,35],ritter:0,rk2:0,rk4:0,rl1:5,rl2:5,rl:[0,5],rlof:[0,5,7,43],rlof_angular_momentum_transfer_model:0,rlof_angular_momentum_transfer_model_bs:0,rlof_angular_momentum_transfer_model_conserv:0,rlof_eccentric_as_circular:0,rlof_entry_threshold:0,rlof_f:0,rlof_interpolation_binary_c:0,rlof_interpolation_bs:0,rlof_interpolation_method:0,rlof_mdot_factor:0,rlof_mdot_modul:0,rlof_method:0,rlof_method_adapt:0,rlof_method_adaptive2:0,rlof_method_bs:0,rlof_method_claei:0,rlof_method_ritt:0,rlof_nonconservative_gamma_donor:0,rlof_nonconservative_gamma_isotrop:0,rlof_radiation_correct:0,rlof_transition_objects_escap:0,rob:[0,32,43],robert:[23,40],roch:[0,5,8,43],roche_lob:43,rochelob:43,rol1:[5,12,19],rol2:[5,12,19],room:[16,35],root:[23,40],rotat:[0,32],rotation:0,rotationally_enhanced_expon:0,rotationally_enhanced_mass_loss:0,rotationally_enhanced_massloss:0,rotationally_enhanced_massloss_angmom:0,rotationally_enhanced_massloss_langer_formula:0,rotationally_enhanced_massloss_langer_formula_and_angmom:0,rotationally_enhanced_massloss_non:0,rough:6,rout:0,routin:[0,2,4,7,23,25,41],row:[12,19,25],rrcach:22,rring:0,rssd:32,rst:[20,34],rsun:[6,25],run:[0,1,4,5,6,7,8,13,14,15,18,20,21,22,23,26,28,30,32,35,37,40,41,43],run_and_calc_mass:19,run_binary_custom_log:19,run_popul:7,run_system:[5,7,9,11,12,17,18,25,41],run_system_wrapp:[4,5,9,18,23,24],run_zero_probability_system:22,runawai:[5,19],rungrid:22,runtim:[1,22],russel:[0,4,23],rzam:[5,43],s:[0,2,3,5,6,7,8,12,14,15,16,17,19,20,21,22,26,28,29,31,32,36,43],safe:[16,31],sai:[0,6],said:0,same:[0,2,7,12,16,22,23,32,35,40,41],sampl:[0,4,13,16,32,35,38],sample_valu:32,sampler:23,samplerfunc:[6,8,13,14,15,16,22,35,38],sana12:[8,13,16,32],sana:32,sander:0,saturn:17,save:[0,1,6,8,9,13,14,15,16,22,26,31,32,38],save_ensemble_chunk:22,save_loop:19,save_population_object:[22,31],save_pre_events_stardata:0,save_snapshot:[21,22,31],sbatch:22,scalar:20,scalo:32,scandir:31,scanf:0,scene:19,scheme:0,schneider:[0,7],schroeder:0,scientif:20,script:[4,9,20,22,23,26,30,37,40],sdb:0,sdo:0,seaborn:[6,8,13,14,15,17],search:[6,13,17,23],search_for_bhbh:5,second:[0,2,8,17,20,25,31,32,33],secondari:[5,6,13,32,43],section:[7,16,20,23,32,40],see:[0,5,6,7,8,9,11,12,13,14,15,16,19,21,22,23,25,29,31,32,35,39,40],seed:0,seem:[23,25,34,40],seen:20,segment:38,seitenzahl2013_model:0,seitenzahl:0,select:[0,3,12,13,17,19,20],select_kei:3,selected_head:[19,20],selector:0,self:[6,8,12,13,14,15,16,21,22,26,29,30,31,32,35,37,38,39],semi:0,sent:0,sentenc:1,sep:[5,8,12,13,16,19,31,32,43],sep_max:[8,13,16],sep_min:[8,13,16],separ:[0,3,5,6,7,9,12,16,17,18,19,25,31,32,43],separation_quadrupl:0,separation_tripl:0,separta:0,seper:16,sepf:5,sequenc:[0,6,9,13,14,15,19],sequnec:[13,14,15],seri:[0,38],serialis:3,serv:[19,20],server:19,set:[0,1,2,3,4,5,9,11,12,17,19,20,21,22,23,25,26,27,28,29,30,31,32,34,35,37,38,39,40],set_condor_statu:30,set_context:[6,8,13,14,15,17],set_moe_di_stefano_set:27,set_opt:[2,6,8,17],set_slurm_statu:37,set_statu:31,set_tim:28,set_titl:19,set_xlabel:[6,8,13,14,15,17,19],set_ylabel:[6,8,13,14,15,17,19],set_yscal:19,setter:29,setup:[6,16,41],setup_function_cach:29,sever:[11,16,19,22,25,34,41],sfh:32,sh:[23,40],shannon:38,shara:0,share:[1,12,18,19,22,31,41],shared_lib_filenam:9,shared_memori:31,shell:[0,20],shellular:0,shift:0,shorten:[0,5],shorter:5,shortli:6,should:[0,1,2,5,6,8,12,13,14,15,16,19,20,22,23,25,26,30,31,32,34,37,38,40,41],shouldn:[0,20],show:[0,4,5,6,7,8,12,13,14,15,16,19,22,25,38],show_plot:25,show_stellar_typ:25,showlist:38,shown:[0,25,38],showtabl:38,shrink:[5,8],shrinkagb:12,side:[13,14,15,16],siess:0,sigint:22,sigkil:22,sigma:[32,38],signal:[6,8,13,22],silent:20,sill:0,sim10:8,sim:6,similar:38,simpl:[6,8,13,17],simplest:12,simpli:[0,14,15],simul:[0,1,6,8,9,13,14,15,16,37],simulation_:21,sinc:[20,25,32],singl:[0,4,5,6,7,13,14,15,18,19,21,22,25,26,32],single_star_lifetim:[7,9,12],sit:0,site:7,situat:7,size:[20,22,29],skip:[0,2,6,8,13,22],skip_befor:22,skipkei:3,slice:19,sliced_df:19,slightli:7,slope:32,slow:[0,6,8,13,14,15],slower:0,slurm:[22,23,24,26],slurm_arrai:22,slurm_array_max_job:22,slurm_bash:22,slurm_check_requir:37,slurm_dat:22,slurm_dir:[22,26,30,37],slurm_env:22,slurm_extra_set:22,slurm_grid:37,slurm_jobarrayindex:[22,37],slurm_jobid:[22,37],slurm_jobnam:22,slurm_memori:22,slurm_njob:22,slurm_ntask:22,slurm_outfil:37,slurm_partit:22,slurm_postpone_join:22,slurm_postpone_sbatch:22,slurm_pwd:22,slurm_queue_stat:37,slurm_sbatch:22,slurm_status_fil:37,slurm_tim:22,slurm_warn_max_memori:22,slurmid:37,slurmpath:37,small:[0,5,14,15],small_envelope_method:0,small_envelope_method_bs:0,small_envelope_method_miller_bertolami:0,smaller:[0,38],smarter:[14,15],smooth:[6,14,15],smoother:[8,14,15],sn:[0,5,6,8,13,14,15,17,19],sn_impulse_liu2015:0,sn_impulse_non:0,sn_impulse_wheeler1975:0,sn_kick_companion_a:0,sn_kick_companion_aic_bh:0,sn_kick_companion_bh_bh:0,sn_kick_companion_bh_n:0,sn_kick_companion_ecap:0,sn_kick_companion_grb_collapsar:0,sn_kick_companion_hestaria:0,sn_kick_companion_ia_chand:0,sn_kick_companion_ia_chand_co:0,sn_kick_companion_ia_eld:0,sn_kick_companion_ia_h:0,sn_kick_companion_ia_he_co:0,sn_kick_companion_ia_hybrid_hecowd:0,sn_kick_companion_ia_hybrid_hecowd_sublumin:0,sn_kick_companion_ibc:0,sn_kick_companion_ii:0,sn_kick_companion_iia:0,sn_kick_companion_ns_n:0,sn_kick_companion_phdi:0,sn_kick_companion_pisn:0,sn_kick_companion_ppisn:0,sn_kick_companion_tz:0,sn_kick_companion_wdkick:0,sn_kick_dispersion_aic_bh:0,sn_kick_dispersion_bh_bh:0,sn_kick_dispersion_bh_n:0,sn_kick_dispersion_ecap:0,sn_kick_dispersion_grb_collapsar:[0,5],sn_kick_dispersion_ia_hybrid_hecowd:0,sn_kick_dispersion_ia_hybrid_hecowd_sublumin:0,sn_kick_dispersion_ibc:[0,5],sn_kick_dispersion_ii:[0,5],sn_kick_dispersion_ns_n:0,sn_kick_dispersion_phdi:0,sn_kick_dispersion_pisn:0,sn_kick_dispersion_ppisn:0,sn_kick_dispersion_tz:0,sn_kick_distribution_aic_bh:0,sn_kick_distribution_bh_bh:0,sn_kick_distribution_bh_n:0,sn_kick_distribution_ecap:0,sn_kick_distribution_grb_collapsar:0,sn_kick_distribution_ia_hybrid_hecowd:0,sn_kick_distribution_ia_hybrid_hecowd_sublumin:0,sn_kick_distribution_ibc:0,sn_kick_distribution_ii:0,sn_kick_distribution_ns_n:0,sn_kick_distribution_phdi:0,sn_kick_distribution_pisn:0,sn_kick_distribution_ppisn:0,sn_kick_distribution_tz:0,sn_none:9,sn_type:9,snapshot:[22,26,31],snapshot_filenam:31,sneia:0,snia:0,snippet:[7,12],so:[0,2,5,6,7,8,9,12,13,14,15,16,21,22,25,26,31],solar:[0,4,6,7,8,11,23,32,43],solver:0,solver_forward_eul:0,solver_predictor_corrector:0,solver_rk2:0,solver_rk4:0,some:[0,1,6,8,9,11,12,13,14,15,16,19,22,23,25,30,32,35,36,37,40],someth:[0,6,8,12,13,14,15,22,43],somewhat:[13,14,15,16,17],soon:38,sort:[2,6,13,14,15,17,20,31],sort_kei:[3,31],sourc:[1,2,3,8,20,21,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,41,43],source_file_filenam:22,source_list:21,sourcecod:[7,9,23,40],sourcefile_nam:1,sp:32,space:[0,6,13,14,15,16,31,35,38],spacing_funct:[21,23,24],spawn:20,special:[0,16],specif:[0,11,12,25,30,37],specifi:[0,22,26,38],spectral:32,speed:[0,29],speedtest:0,spent:20,spera:0,spheric:0,spiki:[14,15],spin:[0,17],spinrat:0,split:[0,5,12,16,17,19,22,30,37],split_lin:12,splitlin:[6,7,8,9,12,13,14,15,16,17],splitpoint:0,spread:21,sqrt:0,src:[0,7,9,23,40],st1:19,st2:19,st:5,stabil:0,stabl:[0,23,40],stack:22,stackoverflow:32,stacktrac:21,stage:26,stancliff:0,standard:[0,13,14,15,30,32,37,38],star1:17,star:[1,4,5,7,8,9,11,12,13,14,17,18,19,22,23,25,30,32,37,38,43],star_with_no_mass:0,starcount:[6,8,13,15,16],stardata:[0,1,6,8,9,12,13,14,15,16,18,19],stardata_dump_filenam:0,stardata_load_filenam:0,stardata_t:9,starnum:[6,13],start:[0,1,5,6,8,12,13,14,15,16,19,20,22,28,34,35],start_at:22,start_tim:[0,22],start_timestamp:[6,8,13,15,16],startrack:0,startswith:12,stat:26,state:[0,31],statement:[1,9,12,13,14,15,16,17,18,19,22],statist:[0,22,30],statu:[0,1,6,8,13,14,15,16,22,26,30,31,37],status_dir:22,stderr:[0,22],stdout:[20,22,38],steadi:0,stefan:25,stefano:[16,23,27,32],stellar:[0,4,5,7,15,22,23,25,32,38,39,42],stellar_structure_algorithm:0,stellar_structure_algorithm_external_funct:0,stellar_structure_algorithm_mint:0,stellar_structure_algorithm_modified_bs:0,stellar_structure_algorithm_non:0,stellar_typ:[1,6,9,12,13,14,15,16,23,24,25],stellar_type1:5,stellar_type2:5,stellar_type_1:[0,16,25],stellar_type_2:[0,16,25],stellar_type_3:0,stellar_type_4:0,stellar_type_dict:42,stellar_type_dict_short:42,step:[3,6,8,9,12,13,14,15,16,25,35,38],stepsiz:[16,35],stick:22,stiff:0,still:[1,9,17,22,43],stop:[0,6,8,13,19,20,22],stop_queu:22,stopfil:0,storag:0,store:[0,2,4,6,8,12,13,14,15,16,20,21,22,23,31,38,40,43],store_capsul:7,store_memaddr:[7,43],str:[1,2,3,5,6,16,20,21,25,31,34,35,39],straightforward:[6,13,14,15,16],straniero:0,stream:22,strength:0,strict:3,strictli:[13,14,15],string:[0,1,2,3,4,7,12,13,14,15,16,17,20,21,22,25,26,30,31,34,35,37,39,41],strip:[0,7,12,17],strong:6,stronger:[0,6],struct:[0,9],structur:[0,2,8,20,22,25],studi:6,stuff:[12,16,22],style:[0,20,33],sub:[0,2,20],subdict:2,subject:0,sublumin:0,submiss:22,submit:[22,23],subplot:19,subprocess:16,subsequ:0,subtract:2,subtract_dict:2,succe:0,suddenli:6,suffer:6,suffici:6,suggest:[0,23,40],suit:[23,40],suitabl:38,sum:[0,2],sun:17,sundial:0,supercrit:0,superflu:17,supernova:[0,5,8,22],superwind:0,superwind_mira_switchon:0,support:31,sure:[2,12,13,14,15,16,23,26,31,32,40,41],surfac:0,surrei:[6,16],surviv:[0,17],survivor:0,sview:22,swallow:17,switcher:0,sy:21,symlink:[6,8,13,16],symlink_latest_gridcod:22,symmetr:0,synchron:0,synonym:0,synthesi:[13,14,15,16,22,23,40],system:[0,4,6,7,8,9,13,14,15,16,18,19,20,21,22,23,25,32,33,36,40,41,43],system_dict:33,system_gener:[16,31],system_numb:33,system_queue_fil:[6,8,13],t:[0,1,2,5,6,12,14,15,16,20,22,26,31,38],t_:6,tabl:[0,32,38],take:[0,2,8,13,16,19,20,22,27,31,32,35,41],taken:[0,2,9,32],talk:6,target:[1,34],task:[0,19,20,21,25,26,29,32,38,41,43],tauri:0,tbse:0,te:22,technic:[6,8,9,13,14,15,16],teff:[0,5,32],teff_1:25,teff_2:25,teff_from_star_struct:6,teff_postagb_max:0,teff_postagb_min:0,tell:[20,26],temp_dir:[5,6,8,12,14,15,16,17,20],temperatur:[0,17,25,32],tempfil:19,term:2,termin:[1,6,9,16,23,40],test:[0,12,20,22,23,26,29,31,40],test_cach:29,test_data:0,test_func:7,test_log:19,test_logfil:12,test_pop:16,text:[6,8,17,20,34],than:[0,2,6,8,13,14,15,16,20,22,23,26,31,32,39,40],thats:16,thei:[0,2,5,6,8,13,16,17,21,22,25,26,30,37,38],thelog:0,them:[2,6,7,8,16,18,19,20,30,31,32,34,41],themselv:[3,32],theoret:[13,14,15],thermal:[0,6,32,43],thermally_pulsing_asymptotic_giant_branch:0,thermohalin:0,thermonuclear:6,thesi:0,thi:[0,1,2,3,5,6,7,8,9,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,43],thick:0,thick_disc_end_ag:0,thick_disc_logg_max:0,thick_disc_logg_min:0,thick_disc_start_ag:0,thin:0,thing:[0,3,6,7,8,13,14,15,16,19,20,21,32,41],think:[0,20,21],third:[0,17,32,38],third_dup:0,third_dup_multipli:0,thorn:0,those:[2,6,8,13,14,15,16,19,21,23,32,39,40],thread:[6,8,13,14,15,20,22,33],thread_id:22,three:[0,7,14,15,16,32],three_part_powerlaw:[8,13,14,15,16,32],threshold:[0,20,22],through:[6,7,11,12,13,14,15,16,25,26,35,41],throughout:[13,14,15,16,35],thu:38,tidal:[0,5],tidal_strength_factor:0,tide:[0,17],tides_convective_damp:0,tides_diagnosis_log:0,tides_hurley2002:0,tides_zahn1989:0,tight:19,time:[0,1,2,3,5,6,8,9,12,13,14,15,16,17,18,19,20,21,22,23,25,28,31,32,33,38,40],time_elaps:[16,28],timedelta:20,timescal:0,timestamp:[22,28],timestep:[0,8,9,12,13,14,15],timestep_limit:0,timestep_log:0,timestep_modul:0,timestep_multipli:0,timestep_solver_factor:0,tini:6,tinslei:32,tip:[6,32],titl:[13,34],tmax:38,tmin:38,tmp:[0,6,8,12,13,14,15,16,17,20,23,40],tmp_dir:[5,6,8,12,14,15,16,17,22,35],tmp_tabl:32,toasti:17,todo:[0,1,2,5,11,16,20,21,22,25,26,30,31,32,33,34,37,38,39,41,43],toler:0,too:[0,2,6,7,14,15,17,22,23,40,41],took:[6,8,13,15,16,19],tool:22,top:[0,16,35],topcod:[6,8,16,35],topic:0,torqu:0,total:[0,2,6,8,13,14,15,16,19,20,22,25,32,35],total_count:[6,8,13,15,16],total_mass_run:[6,8,13,15,16],total_prob:[6,8,13,14,15,16],total_probability_weighted_mass_run:[6,8,13,15,16],touch:[26,31],tout:[0,43],tout_pringle_1992_multipli:0,tp:0,tpagb:[0,6],tpagb_reimers_eta:0,tpagb_wind_beasor_etal_2020:0,tpagb_wind_bloeck:0,tpagb_wind_goldman_etal_2017:0,tpagb_wind_mattsson:0,tpagb_wind_reim:0,tpagb_wind_rob_cwind:0,tpagb_wind_van_loon:0,tpagb_wind_vw93_karaka:0,tpagb_wind_vw93_karakas_carbon_star:0,tpagb_wind_vw93_orig:0,tpagb_wind_vw93_orig_carbon_star:0,tpagbwind:0,tpagbwindfac:0,tpr:[8,13],trace:22,traceback:[14,17],track:[6,22,25],trade:0,trail:[20,38],transfer:[0,6,22],transform:[0,3],transit:0,treat:[0,38],trem:20,trigger:0,trio:[13,14,15,16],tripl:[0,22,32],truli:0,ttlcach:22,tupl:[1,6,20,26,31,38],turn:[0,2,3,5,12,16,20],tutori:[4,23],two:[0,2,6,7,9,20,31,33,42,43],txt:[12,16,19,23,31,40,41],type:[0,1,2,3,5,8,12,13,14,15,16,19,20,21,22,25,26,31,32,34,35,38,39,42,43],type_chng:[5,12,19],type_ia_mch_supernova_algorithm:0,type_ia_sub_mch_supernova_algorithm:0,typeerror:14,typic:0,ubvri:0,ugriv:0,uk:[6,16],unavail:0,unbound:5,unclos:31,uncom:[12,13,14,15,16,17],unction:7,undef:9,under:[12,38],undergo:[0,8],understand:22,undescrib:34,unexpect:14,uniform:32,union:[2,16,20,32,35,38,39,43],uniqu:[2,19,22],unit:[0,6,7,11,20,43],univari:0,univers:[6,8,22],unix:33,unknown:41,unless:[1,21,22],unlik:[14,15],unload:21,unlock:31,unmerg:8,unnecessari:34,unpars:7,unphys:[5,8,13],unrecogn:[23,40],unresolv:13,unsign:0,unstabl:[0,5],until:[0,2,6,31,32],unus:[0,22],unweight:16,up:[0,1,4,9,12,17,20,21,26,27,29,30,32,37],updat:[2,14,15,16,21,23,35,40],update_dict:[2,11],update_grid_vari:[14,15,35],upon:43,upper:[0,32,38],uranu:17,us:[0,1,2,3,4,11,12,16,20,21,22,23,25,26,27,28,29,30,31,32,34,35,37,38,39,40,41,43],usag:[0,4],use_astropy_valu:25,use_datadir:[16,21],use_fixed_timestep_:0,use_lwn_fallback:0,use_periastron_roche_radiu:0,use_tabular_intershell_abundances_karakas_2012:0,usecach:38,usecas:4,useful_func:[23,24],user:[1,9,20,21,22,27,32,34,41],usernam:20,usr:22,usual:[0,5,6,7,13,14,15,16,20,22,31,32],utf:[3,16,31],util:[1,2,3,5,6,7,8,9,11,12,13,14,15,16,17,18,20,21,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,41,43],v:[5,19,23,40],val:32,valid:[0,7,9,20,32],valu:[0,1,2,3,6,7,11,12,13,14,15,16,19,20,21,22,25,28,29,32,34,35,38],value_lin:12,valueerror:16,valuerang:[6,8,13,14,15,16,35],values_arrai:12,van:0,vandenheuvel_log:0,vanilla:22,vari:[0,6,8,16],variabl:[0,4,6,7,8,20,22,30,31,35],variant:0,variou:0,vassiliadi:0,vb1print:33,vb2print:33,vb:[5,26,29,31,38],ve:28,veloc:[0,32],venu:17,verbos:[1,6,8,12,13,14,15,16,18,20,22,23,27,31,32,33,38,40],verbose_print:[20,33],veri:[0,5,6,7,8,9,12,14,15,16,31,35,38],versa:43,version:[0,2,7,11,16,20,21,23,39,40],version_info:[11,21,23,24],version_info_str:39,version_onli:0,via:[4,6,7,9,13,14,15,16,21,22,25],vice:43,vink:0,virtual:[23,40],virtualenviron:[23,40],viscos:0,viscou:0,visibl:9,visit:23,vk:[5,19],vn:[5,19],volum:0,vr:[5,19],vrot1:0,vrot2:0,vrot3:0,vrot4:0,vrot_breakup:0,vrot_bs:0,vrot_non_rot:0,vrot_sync:0,vs:[17,25],vw93:0,vw93_eagb_wind_spe:0,vw93_mira_shift:0,vw93_multipli:0,vw93_tpagb_wind_spe:0,vwind:0,vwind_beta:0,vwind_multipli:0,w:[1,12,16,21,31],wa:[0,6,11,12,14,15,16,21,22,23,31,32,40],wai:[0,2,12,14,15,21,22,26],wait:31,wait_for_unlock:31,wang:0,want:[0,2,3,5,8,9,13,14,15,16,19,20,22,23,25,26,31,32,34,35,40],warmup_cpu:0,warn:[0,12,16,22,26],was_kil:21,wast:[8,14,15],wave:[0,6,8,16],wd:0,wd_accretion_rate_new_giant_envelope_lower_limit_helium_donor:0,wd_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor:0,wd_accretion_rate_new_giant_envelope_lower_limit_other_donor:0,wd_accretion_rate_novae_upper_limit_helium_donor:0,wd_accretion_rate_novae_upper_limit_hydrogen_donor:0,wd_accretion_rate_novae_upper_limit_other_donor:0,wd_kick:0,wd_kick_at_every_puls:0,wd_kick_at_given_puls:0,wd_kick_direct:0,wd_kick_end_agb:0,wd_kick_first_rlof:0,wd_kick_pulse_numb:0,wd_kick_when:0,wd_sigma:0,wdwd_merger_algorithm:0,wdwd_merger_algorithm_bs:0,wdwd_merger_algorithm_chen2016:0,wdwd_merger_algorithm_perets2019:0,we:[0,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,19,20,21,22,23,26,27,28,29,30,31,32,34,37,38,40,43],weight:[0,14,15,22],weirdli:13,well:[0,3,9,12,13,14,15,22,23,40],went:[14,15],were:[6,8,13,15,16,20,39],what:[0,1,2,5,6,7,8,9,12,13,14,15,16,19,22,23,26,32,34,38,39,40,41],whatev:[0,9,19,20,21,23,26,31,40],wheeler:0,when:[0,1,2,3,6,7,8,11,12,16,17,20,22,23,26,28,29,30,31,32,34,37,38,40,41],whenev:[23,40],where:[0,1,2,6,13,14,15,16,20,22,23,26,28,31,32,34,38,40],whether:[0,7,16,20,21,22,25,30,31,32,34,37,38,39,43],which:[0,1,2,6,7,8,9,11,12,13,14,15,16,18,19,20,21,22,23,26,30,31,32,34,35,37,38,39,40,41,43],whichev:22,white:[0,6],white_dwarf_cooling_carrasco2014:0,white_dwarf_cooling_mestel:0,white_dwarf_cooling_mestel_modifi:0,white_dwarf_cooling_model:0,white_dwarf_radius_carrasco2014:0,white_dwarf_radius_model:0,white_dwarf_radius_mu:0,white_dwarf_radius_nauenberg1972:0,whole:[0,8,9,21,22],why:8,wide:[5,13,14,15],wider:5,width:[0,8,20],wiggl:[14,15],wind:[0,5,6,7,13],wind_algorithm_binary_c_2020:[0,5],wind_algorithm_hendriks_2022:0,wind_algorithm_hurley2002:0,wind_algorithm_non:[0,5],wind_algorithm_schneider2018:0,wind_angmom_loss_bs:0,wind_angmom_loss_lw:0,wind_angmom_loss_lw_hybrid:0,wind_angmom_loss_spherically_symmetr:0,wind_angular_momentum_loss:0,wind_disc_angmom_fract:0,wind_disc_mass_fract:0,wind_djorb_fac:0,wind_gas_to_dust_ratio:0,wind_lbv_luminosity_lower_limit:0,wind_mass_loss:[0,5],wind_multiplier_:0,wind_nieuwenhuijzen_luminosity_lower_limit:0,wind_type_multiplier_:0,wink:0,within:[0,2,9,11,16,20,23,32,35,40],without:[2,9,12,14,15,20,22,32],won:[0,12],wood:0,wooslei:0,work:[0,2,3,9,12,13,14,15,16,19,20,22,23,26,31,40],working_diretori:22,would:[0,2,14,15,16,22,25],wouldn:[16,31],wr:0,wr_wind:0,wr_wind_bs:0,wr_wind_eldridg:0,wr_wind_fac:0,wr_wind_maeder_meynet:0,wr_wind_nugis_lam:0,wrap:[1,9,20,29],wrapper:[3,7,9,12,21,31,33,43],write:[1,5,6,7,8,9,12,13,16,18,19,20,21,22,31,34,41],write_binary_c_calls_to_fil:[16,31],write_binary_c_parameter_descriptions_to_rst_fil:20,write_ensembl:31,write_grid_options_to_rst_fil:34,write_logfil:7,written:[7,12,16,22,31,34,35,41],written_data:12,wrlof_mass_transf:0,wrlof_method:0,wrlof_non:0,wrlof_q_depend:0,wrlof_quadrat:0,wrong:[14,15,23,40],wrt:19,wrwindfac:0,wtts2:0,wtts_log:0,www:[0,32],x0:32,x0d:[20,22],x1:32,x86_64:7,x:[0,6,9,12,17,19,20,21,25,26,32,38],xlabel:18,xlim:[8,17],xx:17,xxx:37,y:[5,6,17,20,21,25,26],ye:22,year:[0,32],year_length_in_dai:8,yet:[0,2,19,20,22,25],yield:[0,38],ylim:17,you:[0,1,2,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23,25,26,31,32,34,35,38,40,43],young:0,your:[9,12,18,19,22,23,40],yourself:[6,8,13,14,15,16,25],yscale:[13,14,15,17],yy:17,z:[0,6,8,19,21,32,43],zahn:0,zam:[0,4,6,7,13,32,41,43],zams_collis:43,zams_mass:[6,13,14,15,16],zams_mass_1:16,zams_mass_2:16,zero:[0,1,4,5,6,8,15,20,22,23,31],zero_ag:[6,9,12,13,14,15,16],zero_age_main_sequence_star:[13,14,15],zero_age_main_sequence_starn:13,zero_prob_stars_skip:[6,8,13,15,16],zone:0,zoom:[0,38],zoom_dispers:38,zoom_magnitud:38,zoom_magntiud:38,zoom_mean:38,zoomfac_multiplier_decreas:0,zoomfac_multiplier_increas:0,zsolar:32,zytkow:0},titles:["Binary_c parameters","custom_logging_functions module","dicts module","ensemble module","Example notebooks","Example use case: Binary black hole systems","Example use case: Hertzsprung-Russell diagrams","Tutorial: Using the API functionality of binary_c-python","Example use case: Common-envelope evolution","Tutorial: Using custom logging routines with binary_c-python","&lt;no title&gt;","Tutorial: Extra features and functionality of binary_c-python","Tutorial: Running individual systems with binary_c-python","Example use case: Zero-age stellar luminosity function in binaries","Example use case: Zero-age stellar luminosity function","Example use case: Massive star luminosity","Tutorial: Running populations with binary_c-python","Example use case: Solar system using the API functionality","Basic example","Binary_c and python example notebook","functions module","Population class module","Population grid code options","Welcome to binary_c-python\u2019s documentation!","Binarycpython code","plot_functions module","Population class extension: HPC module","Population class extension: Moe_di_Stefano_2017 module","Population class extension: analytics module","Population class extension: cache module","Population class extension: condor module","Population class extension: dataIO module","Population class extension: distribution_functions module","Population class extension: grid_logging module","Population class extension: grid_options_defaults module","Population class extension: gridcode module","Population class extension: metadata module","Population class extension: slurm module","Population class extension: spacing_functions module","Population class extension: version_info module","Python module for binary_c","run_system_wrapper module","stellar_types module","useful_funcs module"],titleterms:{"case":[5,6,8,13,14,15,17],"class":[21,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"function":[7,11,12,13,14,15,16,17,19,20],"public":22,A:[14,15],about:11,ad:[13,14,15,16],after:[23,40],ag:[13,14],algorithm:0,analyt:28,api:[7,9,12,17,19],basic:18,better:[14,15],binari:[0,5,6,13,16,19],binary_c:[0,7,9,11,12,16,19,23,40],binarycpython:24,black:5,build:[11,23,40],cach:29,code:[22,24],common:8,compact:9,condor:30,content:[4,23],core:19,custom:[9,19],custom_logging_funct:1,dataio:31,develop:[23,40],di:22,diagram:6,dict:2,dictionari:11,directli:9,distribut:[14,15],distribution_funct:32,document:[23,40],ensembl:3,envelop:8,environ:[23,40],evolut:[8,9],evolv:[6,8,13,14,15,16],exampl:[4,5,6,7,8,9,11,13,14,15,16,17,18,19,23,40],extens:[26,27,28,29,30,31,32,33,34,35,36,37,38,39],extra:11,faq:[23,40],featur:11,free:7,from:[7,9,23,40],full:16,get:[7,11],grid:[6,8,13,14,15,16,22],grid_log:33,grid_options_default:34,gridcod:35,handl:[6,8,13,14,15,16],hertzsprung:6,hole:5,hpc:26,i:0,indic:23,individu:12,inform:[7,11],initi:[14,15],input:0,instal:[23,40],instruct:[23,40],issu:[23,40],line:19,log:[6,8,9,13,14,15,16,19],luminos:[13,14,15],mass:[9,14,15],massiv:15,metadata:36,misc:0,modif:11,modul:[1,2,3,20,21,23,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],moe:22,moe_di_stefano_2017:27,note:[23,40],notebook:[4,19],noteworthi:16,nucsyn:0,o:0,object:[6,8,9,12,13,14,15,16],option:22,other:19,output:[0,6,8,13,14,15,16],paramet:[0,11],pars:11,pip:[23,40],plot_funct:25,popul:[6,8,9,12,13,14,15,16,21,22,26,27,28,29,30,31,32,33,34,35,36,37,38,39],privat:22,python:[7,9,11,12,16,19,23,40],requir:[23,40],routin:9,run:[9,12,16,19],run_binari:19,run_binary_with_log:19,run_system:19,run_system_wrapp:[12,41],russel:6,s:23,sampl:[14,15],sampler:22,script:16,section:0,set:[6,7,8,13,14,15,16],singl:[12,16],slurm:37,solar:17,sourc:[23,40],spacing_funct:38,star:[0,6,15,16],stefano:22,stellar:[6,8,13,14],stellar_typ:42,store:7,string:9,supernova:9,system:[5,12,17],tabl:23,tutori:[7,9,11,12,16],up:[6,7,8,13,14,15,16],us:[5,6,7,8,9,13,14,15,17,19],usag:[7,9,23,40],useful_func:43,util:19,variabl:[13,14,15,16,23,40],version_info:39,via:[12,23,40],welcom:23,when:9,wrapper:19,zam:[14,15],zero:[13,14]}})
\ No newline at end of file
diff --git a/docs/build/html/stellar_types.html b/docs/build/html/stellar_types.html
index b2c1e5c56..f626d45b7 100644
--- a/docs/build/html/stellar_types.html
+++ b/docs/build/html/stellar_types.html
@@ -153,9 +153,9 @@
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/build/html/useful_funcs.html b/docs/build/html/useful_funcs.html
index 1f2597ce6..e7a328290 100644
--- a/docs/build/html/useful_funcs.html
+++ b/docs/build/html/useful_funcs.html
@@ -350,9 +350,9 @@ determine if two stars collide on the ZAMS</p>
     provided by <a href="https://readthedocs.org">Read the Docs</a>.
   
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 
 
diff --git a/docs/source/_templates/footer.html b/docs/source/_templates/footer.html
index 5fa97b800..439fc328a 100644
--- a/docs/source/_templates/footer.html
+++ b/docs/source/_templates/footer.html
@@ -2,8 +2,8 @@
 
 {%- block extrafooter %}
 <br><br>
-Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 984825a159a51a9198db3a7b3c17ef3ae2597a38 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
+Generated on binarycpython git branch: development_0.9.3/2.2.1 git revision 15fbbaba24e219ad1d2633582e4a420dc4e08955 url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c-python/-/tree/development_0.9.3/2.2.1">git url</a>.
 <br><br>
-Using binary_c with bit branch branch_david: git revision: "5845:20220107:201620bd7" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/branch_david">git url</a>.
+Using binary_c with bit branch HEAD: git revision: "5853:20220225:db09898b6" url: <a href="https://gitlab.surrey.ac.uk/ri0005/binary_c/-/tree/HEAD">git url</a>.
 
 {% endblock %}
\ No newline at end of file
diff --git a/docs/source/badges/test_coverage.svg b/docs/source/badges/test_coverage.svg
index f5af1dbee..ffd257bde 100644
--- a/docs/source/badges/test_coverage.svg
+++ b/docs/source/badges/test_coverage.svg
@@ -15,7 +15,7 @@
     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
         <text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
         <text x="31.5" y="14">coverage</text>
-        <text x="80" y="15" fill="#010101" fill-opacity=".3">72%</text>
-        <text x="80" y="14">72%</text>
+        <text x="80" y="15" fill="#010101" fill-opacity=".3">71%</text>
+        <text x="80" y="14">71%</text>
     </g>
 </svg>
diff --git a/docs/source/binary_c_parameters.rst b/docs/source/binary_c_parameters.rst
index 2ecbfde05..81bd07a93 100644
--- a/docs/source/binary_c_parameters.rst
+++ b/docs/source/binary_c_parameters.rst
@@ -4,7 +4,7 @@ The following chapter contains all the parameters that the current version of bi
 
 
 This information was obtained by the following binary_c build:
-	**binary_c git branch**: branch_david	**binary_c git revision**: 5845:20220107:201620bd7	**Built on**: Jan  7 2022 12:15:12
+	**binary_c git branch**: HEAD	**binary_c git revision**: 5853:20220225:db09898b6	**Built on**: Feb 25 2022 19:21:31
 
 
 Section: stars
diff --git a/docs/source/examples/notebook_api_functionality.ipynb b/docs/source/examples/notebook_api_functionality.ipynb
index 504ae4b16..49d6f8d3d 100644
--- a/docs/source/examples/notebook_api_functionality.ipynb
+++ b/docs/source/examples/notebook_api_functionality.ipynb
@@ -105,7 +105,7 @@
       "        Function that contains random snippets. Do not expect this to remain available, or reliable. i.e. dont use it.\n",
       "\n",
       "FILE\n",
-      "    /home/izzard/.local/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so\n",
+      "    /home/david/.pyenv/versions/binarycpython3.9.9/lib/python3.9/site-packages/binarycpython/_binary_c_bindings.cpython-39-x86_64-linux-gnu.so\n",
       "\n",
       "\n"
      ]
@@ -166,7 +166,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<capsule object \"STORE\" at 0x146f912dbc60>\n",
+      "<capsule object \"STORE\" at 0x7fc1f0c3ff00>\n",
       "SINGLE_STAR_LIFETIME 10 28.4838\n",
       "\n"
      ]
@@ -270,586 +270,13 @@
       "M_2 : The initial mass of star two (in solar units, internally this is star index 1). : (null)\n",
       "M_3 : The initial mass of star three (in solar units, internally this is star index 2). : (null)\n",
       "M_4 : The initial mass of star four (in solar units, internally this is star index 3). : (null)\n",
-      "vrot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot2,3,4. : (null)\n",
-      "vrot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,3,4. : (null)\n",
-      "vrot3 : The initial equatorial rotational velocity of star three (in km/s, internally this is star index 2). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,4. : (null)\n",
-      "vrot4 : The initial equatorial rotational velocity of star four (in km/s, internally this is star index 3). If 0.0, the Hurley et al 2000/2002 prescription is used to set the main-sequence velocity, so for a truly non-rotating star, set to something small (e.g. 0.001). See also vrot1,2,3. : (null)\n",
-      "Prot1 : The initial equatorial rotational velocity of star one (in km/s, internally this is star index 0). See also Prot2,3,4. : (null)\n",
-      "Prot2 : The initial equatorial rotational velocity of star two (in km/s, internally this is star index 1). See also Prot1,3,4. : (null)\n",
-      "Prot3 : The initial equatorial rotational period of star three (in days, internally this is star index 2). See also Prot1,2,4. : (null)\n",
-      "Prot4 : The initial equatorial rotational period of star four (in days, internally this is star index 3). See also Prot1,2,3. : (null)\n",
-      "inclination1 : The initial inclination of star one (in degrees). : (null)\n",
-      "inclination2 : The initial inclination of star two (in degrees). : (null)\n",
-      "inclination3 : The initial inclination of star three (in degrees). : (null)\n",
-      "inclination4 : The initial inclination of star four (in degrees). : (null)\n",
-      "B_1 : The initial magnetic field of star one (in Gauss, internally this is star index 0). : (null)\n",
-      "B_2 : The initial magnetic field of star two (in Gauss, internally this is star index 1). : (null)\n",
-      "B_3 : The initial magnetic field of star three (in Gauss, internally this is star index 2). : (null)\n",
-      "B_4 : The initial magnetic field of star four (in Gauss, internally this is star index 3). : (null)\n",
-      "B_inclination1 : The initial inclination of the magnetic field of star one (in degrees). : (null)\n",
-      "B_inclination2 : The initial inclination of the magnetic field of star two (in degrees). : (null)\n",
-      "B_inclination3 : The initial inclination of the magnetic field of star three (in degrees). : (null)\n",
-      "B_inclination4 : The initial inclination of the magnetic field of star four (in degrees). : (null)\n",
-      "stellar_type_1 : Set the stellar type of star 1 (internal index 0), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_2 : Set the stellar type of star 2 (internal index 1), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_3 : Set the stellar type of star 3 (internal index 2), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "stellar_type_4 : Set the stellar type of star 4 (internal index 3), usually MAIN_SEQUENCE (main sequence). Note that setting the stellar type only works for stars with both age=0 and core_mass=0, i.e. main sequence (hydrogen or helium), white dwarfs, black holes and neutrn stars. : (null)\n",
-      "max_stellar_type_1 : The maximum stellar type of star 1 (internal index 0). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value. \n",
-      " : (null)\n",
-      "max_stellar_type_2 : The maximum stellar type of star 2 (internal index 1). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "max_stellar_type_3 : The maximum stellar type of star 3 (internal index 2). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "max_stellar_type_4 : The maximum stellar type of star 4 (internal index 3). Evolution is stopped when the star reaches this stellar type. If this is negative, massless remnants are allowed, and the maximum stellar type is the absolute value.\n",
-      " : (null)\n",
-      "probability : The probability is a weighting applied to the star based on, say, the initial mass function. When running a grid of stars to simulate *all* stars, the summed probability of all the stars should be 1.0. : (null)\n",
-      "phasevol : The system's phase volume, used by binary_grid. : (null)\n",
-      "stellar_structure_algorithm : Set the stellar structure algorithm. 0=modified BSE (default), 1=none, 2=external function (must be defined by the calling code), 3=binary_c (not yet implemented). : (null)\n",
-      "solver : The type of solver. Default is the Forward-Euler (0), but could be RK2 (1), RK4 (2) or a predictor-corretor (3). : (null)\n",
-      "max_evolution_time : Set the maximum age for the stars (Myr). : (null)\n",
-      "max_model_number : Set the maximum number of models, ignored if 0 (default is 0). : (null)\n",
-      "monte_carlo_kicks : Turn on Monte-Carlo SN kicks. On (True) by default, and indeed other algorithms are probably broken. : (null)\n",
-      "disable_debug : Disables debug output. Only has an effect when DEBUG is 1, which probably requires a rebuild. Default FALSE. : (null)\n",
-      "timestep_logging : Turn on timestep logging (default is False). : (null)\n",
-      "rejects_in_log : Show timestep rejections in the main log (default is False). : (null)\n",
-      "vandenHeuvel_logging : Turn on van den Heuvel logging (default is False). : (null)\n",
-      "evolution_splitting : If True, turn on splitting of an evolutionary run if splitpoint (e.g. supernova) occurs. : (null)\n",
-      "disable_events : Whether to disable the new events code (defaults to False, so we use events by default)\n",
-      " : (null)\n",
-      "evolution_splitting_sn_eccentricity_threshold : Threshold eccentricity above which evolution splitting happens in a system with no SN kick. (0.01) : (null)\n",
-      "evolution_splitting_sn_n : Number of runs to split into when a SN occurs. : (null)\n",
-      "evolution_splitting_maxdepth : Max number of splits in an evolutionary run. : (null)\n",
-      "equation_of_state_algorithm : Set the equation of state algorithm. 0 = Paczynski. : (null)\n",
-      "opacity_algorithm : Set the opacity algorithm. 0 = Paczynski, 1 = Ferguson/Opal. : (null)\n",
-      "wind_mass_loss : Defines the algorithm used for stellar winds. 0 = none, 1 = Hurley et al. (2002), 2 = Schneider (2018). : 0\n",
-      "gbwind : Wind prescription for first red giant branch stars.  0=Reimers (Hurley et al 2000/2002; choose gb_reimers_eta=0.5 for their mass loss rate), 1=Schroeder+Cuntz 2005 (set gb_reimers_eta=1.0 for their mass loss rate). : (null)\n",
-      "postagbwind : Apply special post-(A)GB prescription. Default is POSTAGB_WIND_USE_GIANT which means we just use whatever is prescribed on the giant branch. Other options include: POSTAGB_WIND_NONE = 1 (no wind on the post (A)GB), POSTAGB_WIND_KRTICKA2020 = 2 which uses Krticka, Kubát and Krticková (2020, A&A 635, A173). : (null)\n",
-      "Teff_postAGB_min : The minimum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_max. (6000 K) : (null)\n",
-      "Teff_postAGB_max : The maximum temperature for which we apply post-(A)GB winds. See also Teff_postAGB_min. (120000 K) : (null)\n",
-      "mattsson_Orich_tpagbwind : Experimental : turns on Mattsson's TPAGB wind when the star is oxygen rich. Requires MATTSSON_MASS_LOSS. : (null)\n",
-      "magnetic_braking_factor : Multiplier for the magnetic braking angular momentum loss rate. : (null)\n",
-      "magnetic_braking_gamma : gamma factor in Rappaport style magnetic braking expression. : (null)\n",
-      "magnetic_braking_algorithm : Algorithm for the magnetic braking angular momentum loss rate. 0 = Hurley et al. 2002, 1 = Andronov, Pinnsonneault and Sills 2003, 2 = Barnes and Kim 2010  : (null)\n",
-      "helium_flash_mass_loss : Mass to be lost at the helium flash. : (null)\n",
-      "gb_reimers_eta : First red giant branch wind multiplication factor, cf. eta in Reimers' mass loss formula. (This multiplies the 4e-13 in Reimers' formula, or the 8e-14 in Schroeder and Cuntz.) : (null)\n",
-      "gbwindfac : Multiplier for the giant branch wind mass loss rate : (null)\n",
-      "tpagbwindfac : Multiplier for the TPAGB wind mass loss rate : (null)\n",
-      "eagbwindfac : Multiplier for the EAGB wind mass loss rate : (null)\n",
-      "nieuwenhuijzen_windfac : Multiplier for the Nieuwenhuijzen & de Jager wind mass loss rate : (null)\n",
-      "tpagbwind : Wind prescription during the TPAGB. 0=Karakas 2002 (a modified Vassiliadis and Wood 1993), 1=Hurley et al 2000/2002 (Vassiliadis and Wood 1993), 2=Reimers, 3=Bloecker, 4=Van Loon,  5=Rob's C-wind (broken?), 6,7=Vassiliadis and Wood 1993 (Karakas,Hurley variants respectively) when C/O>1, 8=Mattsson, 9 = Goldman et al. (2017), 10 = Beasor et al. (2020). : (null)\n",
-      "eagbwind : Wind prescription during the EAGB. 0=BSE (Hurley+2002, based on VW93), 1 = Goldman et al. (2017), 2 = Beasor et al. (2020). : (null)\n",
-      "wind_gas_to_dust_ratio : Gas to dust ratio used in wind calculations (e.g. Goldman et al. 2017). Typically 200 (Milky Way)-500 (Magellanic Clouds). Default is 200, approximately as in MW stars. : (null)\n",
-      "vwind_multiplier : Multiplier for the stellar wind velocity. : (null)\n",
-      "vwind_beta : Beta for stellar wind speed calculations, where vwind=sqrt(beta) * escape velocity. Default 0.125 (from BSE, Hurley et al. 2002).  : (null)\n",
-      "superwind_mira_switchon : In the Vassiliadis and Wood (1993) AGB wind prescription, the superwind is turned on at a given Mira period, usually 500 days. You can vary when this switch-on happens with this parameter. : (null)\n",
-      "vw93_mira_shift : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate depends on the Mira period plus this offset. Requires VW93_MIRA_SHIFT. : (null)\n",
-      "vw93_multiplier : In the Vassiliadis and Wood (1993) AGB wind prescription, the wind loss rate is multiplied by this factor. Requires VW93_MULTIPLIER. : (null)\n",
-      "tpagb_reimers_eta : TPAGB Reimers wind multiplication factor, cf. eta in Reimers' mass loss formula. (This multiplies the 4e-13 in Reimers' formula, or the 8e-14 in Schroeder and Cuntz.) Note that Reimers is not the default TPAGB wind prescription. See also tpagbwind. : (null)\n",
-      "Tout_Pringle_1992_multiplier : Multiplier for the Tout & Pringle (1992) magnetic wind. (0.0) : (null)\n",
-      "artificial_mass_accretion_rate%d : Constant mass accretion rate for star <n>. : (null)\n",
-      "artificial_mass_accretion_rate_by_stellar_type%d : Constant mass accretion rate for stellar type <n>. : (null)\n",
-      "artificial_angular_momentum_accretion_rate%d : Constant angular momentum accretion for star <n>. : (null)\n",
-      "artificial_orbital_angular_momentum_accretion_rate : Constant angular momentum accretion rate on the orbit. : (null)\n",
-      "artificial_accretion_start_time : Time at which artificial accretion stars. Ignored if <0 (default is -1). : (null)\n",
-      "artificial_accretion_end_time : Time at which artificial accretion ends. Ignored if <0 (default is -1). : (null)\n",
-      "wr_wind : Massive-star (WR) wind prescription. 0 = Hurley et al 2000/2002, 1=Maeder and Meynet, 2=Nugis and Lamers, 3=John Eldridge's version of Vink's early-2000s wind (See Lynnette Dray's thesis, or John Eldridge's thesis) : (null)\n",
-      "wr_wind_fac : Massive-star (WR) wind multiplication factor. : (null)\n",
-      "wrwindfac : Massive-star (WR) wind multiplication factor. Synonymous with wr_wind_fac (which you should use instead). : (null)\n",
-      "BH_prescription : Black hole mass prescrition: relates the mass of a newly formed black hole to its progenitor's (CO) core mass. BH_HURLEY2002 = 0 = Hurley et al 2000/2002, BH_BELCZYNSKI = 1 = Belczynski (early 2000s), BH_SPERA2015 = Spera+ 2015, BH_FRYER12_DELAYED = 3 = Fryer et al. (2012) delayed prescription, BH_FRYER12_RAPID = 4 = Fryer et al. (2012) rapid prescription, BH_FRYER12_STARTRACK = 5 = Fryer et al. (2012) startrack prescription. : (null)\n",
-      "sn_kick_distribution_II : Set the distribution of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_ECAP : Set the distribution of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_NS_NS : Set the distribution of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IBC : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_GRB_COLLAPSAR : Set the distribution of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_TZ : Set the distribution of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_AIC_BH : Set the distribution of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_BH_BH : Set the distribution of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_BH_NS : Set the distribution of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IA_Hybrid_HeCOWD : Set the distribution of speeds applied to any survivor of a hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_distribution_IA_Hybrid_HeCOWD_subluminous : Set the distribution of speeds applied to any survivor of a subluminous hybrid He-COWD SNIa explosion. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_II : Set the dispersion of speeds applied to kick type II core collapse supernova systems. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_ECAP : Set the dispersion of speeds applied to the remnants of electron-capture supernovae. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_NS_NS : Set the dispersion of speeds applied to kick neutron stars and black holes that survive a NS-NS merger. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IBC : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_GRB_COLLAPSAR : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes after a type Ib/c core-collapse supernova which is also a collapsar. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_TZ : Set the dispersion of speeds applied to kick newly-born neutron stars and black holes at the death of a Thorne-Zytkow object. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_AIC_BH : Set the dispersion of speeds applied to kick newly-born neutron stars black holes after accretion induced collapse of a neutron star. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_BH_BH : Set the dispersion of speeds applied to black holes formed by the merger of two black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_BH_NS : Set the dispersion of speeds applied to black holes formed by the merger of a neutron star and a black holes. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IA_Hybrid_HeCOWD : Set the dispersion of speeds applied to the survivor of a SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_dispersion_IA_Hybrid_HeCOWD_subluminous : Set the dispersion of speeds applied to the survivor of a subluminous SNIa explosion of a hybrid He-COWD. 0=fixed, 1=maxwellian (hurley/BSE), 2=custom function (see monte_carlo_kicks.c). : (null)\n",
-      "sn_kick_companion_IA_He : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia He supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_ELD : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia ELD (sub-Mch) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_CHAND : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia Mch supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_AIC : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when an accretion induced collapse (supernova) occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_ECAP : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when an electron capture supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_He_Coal : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia helium merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_CHAND_Coal : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Ia Mch merger supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_NS_NS : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a neutron-star neutron-star merger. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_GRB_COLLAPSAR : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a GRB Collapsar (rapidly rotating SN Ibc) supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_HeStarIa : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a He-star Ia supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IBC : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type Ib/c supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_II : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type II supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IIa : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a type IIa supernova occurs. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_WDKICK : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a WD is kicked. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_TZ : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a Thorne-Zytkow object is formed. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_AIC_BH : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a neutron star collapses to a black hole. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_BH_BH : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when two black holes merge. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_BH_NS : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the, kick on the companion when a black hole merges with a neutron star. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_Hybrid_HeCOWD : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "sn_kick_companion_IA_Hybrid_HeCOWD_subluminous : Set the speed (if >=0) of, or the algothim (if <0) used to calculate the kick on the companion, if it survives, in a subluminous hybrid He-COWD type Ia explosion. 0 = none, 1 = Liu+2015, 2 = Wheeler+ 1975. : (null)\n",
-      "wd_sigma : Set the speed at which white dwarfs are kicked when they form, in km/s. Default is zero (i.e. no kick). Requires WD_KICKS. : (null)\n",
-      "wd_kick_direction : Set the direction of white dwarf kicks. 0 = random, 1 = up, 2 = forward, 3 = backward, 4 = inward, 5 = outward. Requires WD_KICKS. : (null)\n",
-      "wd_kick_when : Decide when to kick a white dwarf. 0=at birth, 1=at first RLOF, 2=at given pulse number (see wd_kick_pulse_number), 3 at every pulse Requires WD_KICKS. : (null)\n",
-      "wd_kick_pulse_number : Apply a kick to a star at a desired pulse number on the TPAGB (i.e. pre-WD). Requires WD_KICKS. : (null)\n",
-      "minimum_helium_ignition_core_mass : Minimum helium core mass required to ignite helium in the case that the hydrogen envelope is stripped on the giant branch, e.g. to make an sdB or sdO star. Typically 0.4, if 0.0 then the BSE algorithm (based on the total mass) is used. : (null)\n",
-      "minimum_CO_core_mass_for_carbon_ignition : Minimum CO core mass for carbon ignition, assuming Mc,bagb>1.6Msun. Typically around 1.08Msun (Pols+1998). : (null)\n",
-      "minimum_CO_core_mass_for_neon_ignition : Minimum CO core mass for neon ignition. Typically around 1.42Msun. Stars that have cores that ignite carbon, but not neon explode in electon-capture supernovae. : (null)\n",
-      "minimum_mcbagb_for_nondegenerate_carbon_ignition : Minimum Mc,bagb (core mass at the base of the AGB) for non-degenerate carbon ignition. Typically around 2.25Msun (Pols+1998). : (null)\n",
-      "maximum_mcbagb_for_degenerate_carbon_ignition : Maximum Mc,bagb (core mass at the base of the AGB) for degenerate carbon ignition. Typically around 1.6Msun (Pols+1998). : (null)\n",
-      "max_neutron_star_mass : Maximum mass of a neutron star before it collapses to a black hole. Typically around 2Msun. : (null)\n",
-      "chandrasekhar_mass : The Chandrasekhar mass, usually 1.44Msun : (null)\n",
-      "delta_mcmin : A parameter to reduce the minimum core mass for third dredge up to occur on the TPAGB. As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)\n",
-      "lambda_min : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. See also lambda_multiplier. : (null)\n",
-      "lambda_multiplier : A parameter to increase the efficiency of third dredge up on the TPAGB. The efficiency is lambda * lambda_mult, and setting lambda_min>0 implies that, once Mc>Mcmin (see delta_mcmin) lambda=Max(lambda(fit to Karakas), lambda_min). As used by Izzard and Tout (2004) to increase the amount of dredge up, hence carbon, in Magellanic cloud stars. : (null)\n",
-      "minimum_envelope_mass_for_third_dredgeup : The minimum envelope mass for third dredge up on the TPAGB. Early, solar metallicity models by Straniero et al suggested 0.5Msun is typical. However, circumstantial evidence (Izzard et al 2009) as well as newer models by Stancliffe and Karakas suggest that at low metallicity a value nearer zero is more appropriate. : (null)\n",
-      "mass_of_pmz : The mass in the partial mixing zone of a TPAGB star, using the Karakas 2012 tables. Ask Carlo Abate for more details, or see the series of papers Abate et al 2012, 2013, 2014. Requires NUCSYN and USE_TABULAR_INTERSHELL_ABUNDANCES_KARAKAS_2012. : (null)\n",
-      "c13_eff : The \"efficiency\" of partial mixing in a TPAGB star intershell region, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)\n",
-      "mc13_pocket_multiplier : Multiplies the mass in the partial mixing zone of a TPAGB star, when using the s-process tables of Gallino, Busso, Lugaro et al. as provided by Maria Lugaro for the Izzard et al. 2009 paper. Requires NUCSYN and NUCSYN_S_PROCESS. : (null)\n",
-      "tides_convective_damping : Tidal convective damping algorithm. 0=TIDES_HURLEY2002 Zahn 197x timescales + Hut, as in Hurley et al (2002), 1 = TIDES_ZAHN1989 : Zahn 1989 lambdas + Hut. : (null)\n",
-      "E2_prescription : Choose how to calculate the E2 structural parameter (used in tidal timescale calculations). 0=Hurley 1=Izzard (see Siess et al 2013). : (null)\n",
-      "dtfac : A parameter to decrease the timestep ONLY during the TPAGB phase. : (null)\n",
-      "hbbtfac : A parameter to modulate the temperature at the base of the hot-bottom burning zone in TPAGB stars. (Works only if NUCSYN is defined) : (null)\n",
-      "wind_multiplier_%d : Wind multiplier for the stellar type specified by the intger %d. By default these are all 1.0. : (null)\n",
-      "wind_type_multiplier_%d : Wind multiplier for different types of wind (MS, GB, AGB, WR, LBV, OTHER), given by the integer %d. By default these are all 1.0. : (null)\n",
-      "pre_main_sequence : Set to True to turn on pre-main sequence evolution. Currently this is not a special stellar type, rather the first (small) fraction of the main sequence has increased radii to match the Railton et al 2014 fits to Tout's pre-main sequence stars. Requires PRE_MAIN_SEQUENCE. See also pre_main_sequence_fit_lobes. : (null)\n",
-      "pre_main_sequence_fit_lobes : Set to True force a pre-main sequence star into its Roche lobe. This is done by artificially aging it. Requires PRE_MAIN_SEQUENCE : (null)\n",
-      "small_envelope_method : Choose the method used to determine the stellar radius when the envelope mass is very thin. 0 = Hurley et al. (2002), 1 = Miller Bertolami et al. (2016+) for GB and AGB stars only. : (null)\n",
-      "timestep_modulator : Multiplier applied to the global timestep. Requires TIMESTEP_MODULATION. : (null)\n",
-      "timestep_multiplier%d : Multiplier applied to timestep limit <n>. : (null)\n",
-      "maximum_timestep : The maximum timestep (MYr). : (null)\n",
-      "zoomfac_multiplier_decrease : When a timestep is rejected, decrease the timestep by this factor (0.5). : (null)\n",
-      "zoomfac_multiplier_increase : When a timestep is rejected, zooms, then succeeds, increase the timestep by this factor (1.2). : (null)\n",
-      "maximum_timestep_factor : The maximum factor between two subsequent timesteps (1.2). : (null)\n",
-      "maximum_nuclear_burning_timestep : The maximum timestep (MYr) in any nuclear burning phase. : (null)\n",
-      "nova_retention_method : Algorithm used to calculate the amount of mass retained during a nova explosion. 0=use nova_retention_fraction. (other methods pending) : (null)\n",
-      "MINT_metallicity : This sets the metallicity for MINT. It is ignored if set to -1.0, the default, in which case the normal metallicity parameter is used. : (null)\n",
-      "gaia_Teff_binwidth : log10(Effective temperature) bin width used to make Gaia-like HRDs\n",
-      " : (null)\n",
-      "gaia_L_binwidth : log10(luminosity) bin width used to make Gaia-like HRDs\n",
-      " : (null)\n",
-      "gaia_colour_transform_method : Use this to select the method used to transform to Gaia colours from other colour schemes. GAIA_CONVERSION_UBVRI_UNIVARIATE_JORDI2010 = 0 Jordi et al.'s univariate UBVRI fits, GAIA_CONVERSION_UBVRI_BIVARIATE_JORDI2010 = 1 Jordi et al.'s bivariate UBVRI fits, GAIA_CONVERSION_ugriz_UNIVARIATE_JORDI2010 = 2 Jordi et al.'s univariate UBVRI fits, GAIA_CONVERSION_ugriz_BIVARIATE_JORDI2010 = 3 Jordi et al.'s univariate ugriv fits, GAIA_CONVERSION_UBVRI_UNIVARIATE_EVANS2018 = 4 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_ugriz_UNIVARIATE_EVANS2018 = 5 Evans et al. (2018, DR2) fits, GAIA_CONVERSION_UBVRI_RIELLO2020 = 6 Riello et al. (2020, DR3) fits, GAIA_CONVERSION_ugriz_RIELLO2020 = 7 Riello et al. (2020, DR3) fits. : (null)\n",
-      "rotationally_enhanced_mass_loss : Set to 1 to enable rotationally enhanced mass loss rate algorithms: 0= none, 1=formula cf. Langer models (=ROTATIONALLY_ENHANCED_MASSLOSS_LANGER_FORMULA), 2=limit accretion rate before wind loss is applied, 3 = both 1 and 2. See also rotationally_enhanced_exponent : (null)\n",
-      "AGB_core_algorithm : Algorithm to use for calculating AGB core masses. 0=Hurley et al. 2002 if no NUCSYN, Karakas 2002 if NUCSYN is defined; 1=Hurley et al. 2002 (overshooting models); 1=Karakas 2002 (non-overshooting models). : (null)\n",
-      "AGB_radius_algorithm : Algorithm to use for calculating radii on the TPAGB. : (null)\n",
-      "AGB_luminosity_algorithm : Algorithm to use for calculating luminosities on the TPAGB. : (null)\n",
-      "AGB_3dup_algorithm : Algorithm to use for calculating third dredge up efficiency on the TPAGB. : (null)\n",
-      "overspin_algorithm : Algorithm to determine what we do when a star is rotating at its breakup velocity. OVERSPIN_BSE (0) conservatively transfers the angular momentum back to the orbit. OVERSPIN_MASSLOSS uses the rotationally_enhanced_massloss parameter to lose mass which carries away the angular momentum. : (null)\n",
-      "rotationally_enhanced_exponent : The exponent (power) by which rotationally enhanced mass loss is raised. Requires ROTATIONALLY_ENHANCED_MASS_LOSS. See also rotationally_enhanced_mass_loss. : (null)\n",
-      "batchmode : Set the batchmode control variable. Use only if you know what you are doing! : (null)\n",
-      "speedtests : If True, turns on speedtests during version information (off by default). : (null)\n",
-      "use_fixed_timestep_%d : Set to True to use fixed timestep <n>, False to turn off. Fixed timesteps are on (this is True) by default. : (null)\n",
-      "task%d : Control tasks to be performed by binary_c. By default, these are all TRUE. For more information see binary_c_macros.h, particularly the BINARY_C_TASK_* macros. : (null)\n",
-      "orbiting_object : Usage: --orbiting_object mass,spinrate,central_object,period. : 1.0\n",
-      "orbiting_objects_log : If True, turn on orbiting-object log. : (null)\n",
-      "orbiting_objects_log : If True, turn on orbiting-object log. : (null)\n",
-      "orbiting_objects_wind_accretion_multiplier : Multiplier for wind accretion on orbiting objects. Hurley et al 2002 use 1.5, which is the default. : (null)\n",
-      "orbiting_objects_close_pc_threshold : How close are orbiting objects allowed to be? Set this to be the absolute percentage difference minimum. : (null)\n",
-      "orbiting_objects_tides_multiplier : Multiplier for tidal torques on orbiting objects. : (null)\n",
-      "evaporate_escaped_orbiting_objects : If True, evaporate orbiting objects that have escaped the system. : (null)\n",
-      "RLOF_transition_objects_escape : If True, objects that escape their Roche lobe are ejected from the system, otherwise they are placed just outside the minimum stable orbit. : (null)\n",
-      "PN_resolve : If True, the timestep will be shortened to resolve better the PN phase (FALSE). : (null)\n",
-      "PN_resolve_minimum_luminosity : The luminosity above which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_resolve_maximum_envelope_mass : The envelope mass below which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_resolve_minimum_effective_temperature : The minimum effective temperature above which extra time resolution for PNe is applied (see PN_resolve). : (null)\n",
-      "PN_fast_wind : If True, thin-envelope PNe will have fast winds (FALSE). : (null)\n",
-      "PN_fast_wind_dm_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)\n",
-      "PN_fast_wind_mdot_GB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_GB) : (null)\n",
-      "PN_fast_wind_dm_AGB : The envelope mass below which fast wind used during the AGB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)\n",
-      "PN_fast_wind_mdot_AGB : The envelope mass below which fast wind used during the GB if PN_fast_wind is TRUE. (See also PN_fast_wind, PN_fast_wind_mdot_AGB) : (null)\n",
-      "HeWD_HeWD_ignition_mass : HeWD-HeWD mergers above this mass reignite helium. (0.3) : (null)\n",
-      "wind_Nieuwenhuijzen_luminosity_lower_limit : Above this luminosity we activate the Nieuwenhuijzen and de Jager wind (4e3 Lsun). : (null)\n",
-      "wind_LBV_luminosity_lower_limit : Above this luminosity we activate the LBV wind (6e5 Lsun). : (null)\n",
-      "colour%d : Sets colour %d (0 to NUM_ANSI_COLOURS-1) to the extended ANSI set colour you choose (1-255, 0 means ignore). The colour numbers are defined in src/logging/ansi_colours.h : (null)\n",
-      "apply_Darwin_Radau_correction : Apply Darwin-Radau correction to the moment of inertia to take rotation into account? : (null)\n",
-      "degenerate_core_merger_nucsyn : If TRUE, assume that in a degnerate core merger, energy is generated from nucleosynthesis of the whole core, and that this can disrupt the core. The BSE algorithm (Hurley et al. 2002) assumes this to be TRUE, but binary_c assumes FALSE by default. (FALSE) : (null)\n",
-      "degenerate_core_helium_merger_ignition : If TRUE, assume that when there is a degenerate helium core merger, the star reignites helium. This is required to make R-type carbon stars. (TRUE) : (null)\n",
-      "degenerate_core_merger_dredgeup_fraction : If non-zero, mix this fraction of the degenerate core during a merger.(0.0). : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Binary\n",
-      "############################################################\n",
-      "separation : Set the orbital separation (actually the semi-major axis) of the binary (internal index 0, stellar indices 0 and 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "separation_triple : Set the orbital separation (actually the semi-major axis) of the triple (internal index 1) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "separation_quadruple : Set the orbital separation (actually the semi-major axis) of the quadruple (internal index 2) in solar radii. Note that if the orbital period is given, it is used to calculate the separation. So if you want to set the separation instead, either do not set the orbital period or set the orbital period to zero (0.0). : (null)\n",
-      "orbital_period : Set the initial orbital period of the binary, stars 1 and 2 (internal indices 0 and 1) in days. See also separation. : (null)\n",
-      "orbital_period_triple : Set the initial orbital period of the triple in days. See also separation. : (null)\n",
-      "orbital_period_quadruple : Set the orbital period of the outer binary in a quadrulple (stars 3 and 4, internal indices 2 and 3) in days. See also separation. : (null)\n",
-      "eccentricity : Set the initial eccentricity of the binary orbit (stars 1 and 2, internal indices 0 and 1). : (null)\n",
-      "eccentricity_triple : Set the initial eccentricity of the triple orbit. : (null)\n",
-      "eccentricity_quadruple : Set the initial eccentricity of the outer binary of a quadruple (stars 3 and 4, internal indices 2 and 3). : (null)\n",
-      "incliniation : Set the initial orbital_inclination of the binary relative to zero. : (null)\n",
-      "incliniation_triple : Set the initial orbital_inclination of the triple orbit relative to zero. : (null)\n",
-      "incliniation_quadruple : Set the initial orbital_inclinationy of the quadruple orbit relative to zero. : (null)\n",
-      "orbital_phase : Set the initial orbital phase of the binary orbit. : (null)\n",
-      "orbital_phase_triple : Set the initial orbital phase of the triple orbit. : (null)\n",
-      "orbital_phase_quadruple : Set the initial orbital phase of the quadruple orbit. : (null)\n",
-      "argument_of_periastron : Set the initial argument of periastron of the binary orbit. : (null)\n",
-      "argument_of_periastron_triple : Set the initial argument of periastron of the triple orbit. : (null)\n",
-      "argument_of_periastron_quadruple : Set the initial argument of periastron of the quadruple orbit. : (null)\n",
-      "disc_timestep_factor : Factor that multiplies the natural timestep of a disc. : (null)\n",
-      "white_dwarf_cooling_model : White dwarf cooling model, relates age to luminosity. WHITE_DWARF_COOLING_MESTEL = 0 is Mestel's model, WHITE_DWARF_COOLING_MESTEL_MODIFIED = 1 is Hurley's modified Mestel model, WHITE_DWARF_COOLING_CARRASCO2014 = 2 is based on Carrasco (2014) tables.   : (null)\n",
-      "white_dwarf_radius_model : White dwarf radius model, radius to mass (and perhaps age). WHITE_DWARF_RADIUS_NAUENBERG1972 = 0 Nauenberg (1972), WHITE_DWARF_RADIUS_MU = 1 mu-dependent variant, WHITE_DWARF_RADIUS_CARRASCO2014 = 2 is based on Carrasco (2014) tables. : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_accretion_method : Chooses where the mass that is accreted from the inner edge of a circumbinary disc goes, i.e. to which star. 0 = Young and Clarke 2015, 1 = Gerosa et al 2015, 2 = 50:50 (i.e. not dependence on mass). : (null)\n",
-      "cbdisc_inner_edge_stripping : If True, allow inner edge mass stripping. : (null)\n",
-      "cbdisc_end_evolution_after_disc : If True, stop evolution when a disc evaporates. : (null)\n",
-      "cbdisc_no_wind_if_cbdisc : If True, disable stellar winds when there is a circumbinary disc. : (null)\n",
-      "cbdisc_outer_edge_stripping : If True, allow outer edge mass stripping. : (null)\n",
-      "disc_n_monte_carlo_guesses : Number of monte carlo guesses to try in the disc solver if the normal list of guesses fails (0). : (null)\n",
-      "disc_log : If 1, turn on the disc log. Requires DISC_LOG to be defined on build. : (null)\n",
-      "disc_log2d : If 1, turn on the 2d disc log. Requires DISC_LOG to be defined on build. : (null)\n",
-      "disc_log_dt : If non-zero, only allows disc log output every disc_log_dt Myr. : (null)\n",
-      "disc_log_directory : Directory into which disc logging is sent (must exist!). : /tmp/\n",
-      "post_ce_adaptive_menv : If TRUE, and if post_ce_objects_have_envelopes is TRUE, then the envelope mass of a post-CE star is such that it sits just inside its Roche lobe. If FALSE then a fixed (thin) envelope mass is applied that depends on the stellar type (see macros POST_CE_ENVELOPE_DM_GB, POST_CE_ENVELOPE_DM_EAGB and POST_CE_ENVELOPE_DM_TPAGB). : (null)\n",
-      "post_ce_objects_have_envelopes : If TRUE then post-common-envelope objects have thin envelopes. You need this if you are to have post-CE post-AGB stars. Note that this *may* be unstable, i.e. you may end up having many CEEs. The mass in the envelope is controlled by post_ce_adaptive_menv. TRUE by default. : (null)\n",
-      "PN_comenv_transition_time : post-common envelope transition time in years (1e2).  This is the time taken to move from CEE ejection to Teff > 30e4 K. Hall et al. (2013) suggest ~100 years. : (null)\n",
-      "minimum_time_between_PNe : The minimum time (Myr) between planetary nebula detections. This prevents multiple, fast common envelopes triggering two PNe (0.1). : (null)\n",
-      "PN_Hall_fading_time_algorithm : In stars with low mass (<0.45Msun) cores, you can choose to set the PN fading time to either the minimum (PN_HALL_FADING_TIME_ALGORITHM_MINIMUM) or maximum (PN_HALL_FADING_TIME_ALGORITHM_MAXIMUM) as shown in Fig. 6 of Hall et al. (2013). : (null)\n",
-      "PPN_envelope_mass : Desired pre-planetary nebula (post-AGB) envelope mass. : (null)\n",
-      "cbdisc_eccentricity_pumping_method : Select from various eccentricity-pumping methods when there is a circumbinary disc. Requires DISCS. 0 = off. : (null)\n",
-      "cbdisc_viscous_photoevaporative_coupling : Set to 1 to turn on viscous-photoevaporative coupling in circumbinary discs. Requires DISCS. 0 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_NONE = off, 1 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_INSTANT instant, 2 = CBDISC_VISCOUS_PHOTOEVAPORATIVE_COUPLING_VISCOUS slow, viscous wind. : (null)\n",
-      "cbdisc_inner_edge_stripping_timescale : Defines the timescale for mass loss from by inner edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_in. : (null)\n",
-      "cbdisc_outer_edge_stripping_timescale : Defines the timescale for mass loss from by outer edge stripping. 0 = instant, 1 = very long, 2 = viscous at Revap_in, 3 = orbital at Revap_out. : (null)\n",
-      "cbdisc_viscous_L2_coupling : Set to 1 to turn on viscous-L2-loss coupling in circumbinary discs. Requires DISCS. 0 = off. : (null)\n",
-      "gravitational_radiation_model : Model for gravitational radiation from the system. 0=Hurley et al 2002 (Landau and Lifshitz 1951). 1 = as 0 but only when there is no RLOF. 2 = none. : (null)\n",
-      "nova_irradiation_multiplier : Multiplier for nova-radiative induced mass loss. (Shara+1986) : (null)\n",
-      "gravitational_radiation_modulator_J : Modulator for gravitational wave radiation angular momentum loss rate (1.0). : (null)\n",
-      "gravitational_radiation_modulator_e : Modulator for gravitational wave radiation eccentricity pumping rate (1.0). : (null)\n",
-      "nova_faml_multiplier : Nova friction-induced angular momentum loss multiplier. (Shara+1986) : (null)\n",
-      "RLOF_angular_momentum_transfer_model : Choose angular momentum transfer model in RLOF. 0=BSE (with discs), 1=conservative : (null)\n",
-      "post_SN_orbit_method : Method by which the post-SN orbit is calculated. 0=BSE, 1=Tauris&Taken 1998. : (null)\n",
-      "multiplicity : Multiplicity: 1=single star, 2=binary, 3=triple, 4=quadruple. : (null)\n",
-      "accretion_limit_eddington_steady_multiplier : Steady accretion is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_steady_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_eddington_LMMS_multiplier : Accretion from a low-mass, convective, main_sequence star is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_LMMS_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_eddington_WD_to_remnant_multiplier : Accretion from a WD onto a remnant star (e.g. another white dwarf, neutron star or black hole) is limited by the Eddington instability, with limiting rate given by the accretion_limit_eddington_WD_to_remnant_multiplier * the normal (spherically symmetric) Eddington rate. This is known in the trade as the Eddington factor, and anything greater than 1.0 potentially gives you super-Eddington accretion. : (null)\n",
-      "accretion_limit_thermal_multiplier : Mass transfer onto a MS, HG or CHeB star is limited by the accretor's thermal rate times this multiplier. : (null)\n",
-      "accretion_limit_dynamical_multiplier : Mass transfer is limited by the accretor's dynamical rate times this multiplier. : (null)\n",
-      "donor_limit_envelope_multiplier : Mass transfer by RLOF is limited by this fraction of the donor's envelope mass per timestep : (null)\n",
-      "donor_limit_thermal_multiplier : Mass transfer by RLOF is limited by the accretor's thermal rate times this multiplier. : (null)\n",
-      "donor_limit_dynamical_multiplier : Mass transfer by RLOF is limited by the donor's dynamical rate times this multiplier. : (null)\n",
-      "Bondi_Hoyle_accretion_factor : Wind accretion rate, as calculated by the Bondi-Hoyle-Littleton formula, multiplcation factor. Hurley et al 2002 use 1.5, which is the default. : (null)\n",
-      "tidal_strength_factor : A modulator for the tidal strength. If this factor > 1 then tides are stronger, i.e. tidal timescales are reduced. : (null)\n",
-      "hachisu_qcrit : Critical q=Maccretor/Mdonor above which Hachisu's disk wind turns on. : (null)\n",
-      "hachisu_disk_wind : Set to True to turn on Hachisu's disk wind when material accretes too fast onto a white dwarf. This helps to make more SNeIa. See also hachisu_qcrit. : (null)\n",
-      "mass_accretion_for_eld : The mass that must be accreted onto a COWD for it to ignite as an edge-lit detonation SNIa. : (null)\n",
-      "WDWD_merger_algorithm : Algorithm to be used when merging two white dwarfs. 0 = Hurley et al. (2002), 1 = Perets+ (2019), 2 = Chen+ (2016, todo)  : (null)\n",
-      "type_Ia_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from Chandrasekhar-mass exploders. 0 = DD7 (Iwamoto 1999), 1 = Seitenzahl 2013 3D hydro yields (you must also set Seitenzahl2013_model)  : (null)\n",
-      "Seitenzahl2013_model : Which of Seitenzahl et al. 2013's models to use? One of N1,N3,N5,N10,N20,N40,N100L,N100,N100H,N150,N200,N300C,N1600,N1600C,N100_Z0.5,N100_Z0.1,N100_Z0.01 (defaults to N100). : N1\n",
-      "type_Ia_sub_MCh_supernova_algorithm : Algorithm to be used when calculating type Ia yields from sub-Chandrasekhar-mass exploders. (Currently unused.) : (null)\n",
-      "max_HeWD_mass : The maximum mass a HeWD can have before it ignites helium (0.7). : (null)\n",
-      "merger_mass_loss_fraction : Fraction of the total mass which is lost when stars merge. : (null)\n",
-      "merger_angular_momentum_factor : When two stars merge the resulting single star retains a fraction of the total system angular momentum (or the critical spin angular momentum, if it is smaller) multiplied by this factor. : (null)\n",
-      "wind_angular_momentum_loss : Prescription for losing angular momentum in a stellar wind. 0=Hurley et al 2002 ('Tout') prescription, 1=lw i.e. a factor multiplying the specific orbital angular momentum, 2=lw hybrid for fast winds. Set wind_djorb_fac to the desired factor.. : (null)\n",
-      "wind_djorb_fac : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=0 (the Tout/Hurley et al 2002 prescription). See wind_angular_momentum_loss. : (null)\n",
-      "lw : Factor multiplying angular momentum loss in a stellar wind when wind_angular_momentum_loss=1,2 (the 'lw' prescription). See wind_angular_momentum_loss. : (null)\n",
-      "VW93_EAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)\n",
-      "VW93_TPAGB_wind_speed : Activate this to use Vassiliadis and Wood (1993) wind speed during the EAGB. : (null)\n",
-      "use_periastron_Roche_radius : Set this to True to use the Roche lobe radius at periastron, rather than (the default to) assume a circular orbit. This will be useful one day when we treat RLOF in eccentric orbits properly, hopefully. : (null)\n",
-      "qcrit_LMMS : Apply critical q=Mdonor/Maccretor value for low-mass main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for non-degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_LMMS : Apply critical q=Mdonor/Maccretor value for (low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_MS : Apply critical q=Mdonor/Maccretor value for (non-low mass) main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HG : Apply critical q=Mdonor/Maccretor value for Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_GB : Apply critical q=Mdonor/Maccretor value for first red giant branch stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_CHeB : Apply critical q=Mdonor/Maccretor value for core helium burning stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_EAGB : Apply critical q=Mdonor/Maccretor value for early-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_TPAGB : Apply critical q=Mdonor/Maccretor value for TP-AGB stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeMS : Apply critical q=Mdonor/Maccretor value for helium main sequence stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeHG : Apply critical q=Mdonor/Maccretor value for helium Hertzsprung gap stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeGB : Apply critical q=Mdonor/Maccretor value for helium red giant stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_HeWD : Apply critical q=Mdonor/Maccretor value for helium white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_COWD : Apply critical q=Mdonor/Maccretor value for carbon-oxygen white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_ONeWD : Apply critical q=Mdonor/Maccretor value for oxygen-neon white dwarf stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_NS : Apply critical q=Mdonor/Maccretor value for neutron stars to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "qcrit_degenerate_BH : Apply critical q=Mdonor/Maccretor value for black holes to determine the stability of Roche-lobe overflow for degenerate accretors. See also qcrits_*, qcrits_degenerate_*. : (null)\n",
-      "mass_for_Hestar_Ia_upper : Only helium stars below this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_lower. : (null)\n",
-      "mass_for_Hestar_Ia_lower : Only helium stars above this mass can explode as SNIa. Default is zero, i.e. it never happens. See also mass_for_Hestar_Ia_upper. : (null)\n",
-      "alphaCB : Circumbinary disk viscosity parameter, alpha. : (null)\n",
-      "minimum_donor_menv_for_comenv : Minimum donor envelope mass for common envelope evolution to be triggered (Msun). Default 0. : (null)\n",
-      "comenv_prescription : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)\n",
-      "comenv_prescription%d : Use this to choose which common envelope prescription you should use. 0=Hurley et al 2002 (based on the Paczyński energy model) or 1=Nelemans and Tout (angular momentum model). See also alpha_ce, comenv_ms_accretion_mass, comenv_ms_accretion_fraction, comenv_ns_accretion_fraction, comenv_ns_accretion_mass, nelemans_gamma, nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs, lambda_ce, lambda_ionisation. : (null)\n",
-      "comenv_ejection_spin_method : When a common envelope is ejected, we need to decide how fast the stars are left spinning. COMENV_EJECTION_SPIN_METHOD_DO_NOTHING (0) is the default, this just leaves the stars/stellar cores spinning with the same spin rate (omega = angular velocity) with which they entered the common envelope phase. COMENV_EJECTION_SPIN_METHOD_SYCHRONIZE instead tidally synchronizes the stars with their new orbital angular velocity. : (null)\n",
-      "comenv_merger_spin_method : When a common envelope binary merges, we need to decide how fast the resulting single star is left spinning. COMENV_MERGER_SPIN_METHOD_SPECIFIC (0) is the default, this preserves angular momentum but limits the specific angular momentum of the merged star to the specific angular momentum of the system at the onset of common envelope evolution. COMENV_MERGER_SPIN_METHOD_CONSERVE_ANGMOM (1) sets the merger's angular momentum to be that of the system at the onset of common envelope evolution (which means the star may be rotating supercritically). COMENV_MERGER_SPIN_METHOD_CONSERVE_OMEGA (2) sets the spin rate (angular frequency = omega) of the merged star to be that of the orbit just at the onset of common envelope evolution. : (null)\n",
-      "comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)\n",
-      "comenv_ms_accretion_fraction : Experimental. During common envelope evolution, a main sequence may accrete a fraction of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_mass. : (null)\n",
-      "comenv_ns_accretion_mass : Experimental. During common envelope evolution, a neutron star may accrete some of the envelope's mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_fraction. : (null)\n",
-      "comenv_ns_accretion_fraction : Experimental. During common envelope evolution, a neutron star may accrete a fraction of the envelope's mass. Requires COMENV_NS_ACCRETION. See also comenv_ns_accretion_mass. : (null)\n",
-      "alpha_ce : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)\n",
-      "alpha_ce%d : Common envelope energy formalism parameter. A fraction alpha of the orbital energy is used to eject the envelope. See Hurley et al 2002 for details. : (null)\n",
-      "lambda_ce : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to LAMBDA_CE_DEWI_TAURIS == -1 binary_c uses the Dewi and Tauris fits instead, LAMBDA_CE_WANG_2016 == -2 uses the formalism of Wang, Jia and Li (2016), if LAMBDA_CE_POLYTROPE == -3 then a polytropic formalism is used (see also comenv_splitmass) and if LAMBDA_CE_KLENCKI_2020 == -4 use Klencki et al. (2020). : (null)\n",
-      "lambda_ce%d : Common envelope parameter. The binding energy of the common envelope is G*M*Menv/(lambda*R). Typically this is taken to be 0.5, but if set to -1 binary_c uses the Dewi and Tauris fits instead, -2 uses the formalism of Wang, Jia and Li (2016) and if -3 then a polytropic formalism is used (see also comenv_splitmass). : (null)\n",
-      "comenv_splitmass : When lambda_ce=-2, the envelope binding energy, lambda, is calculated using a polytropic formalism. The comenv_splitmass defines the point, in the units of the core mass, above which material is ejected. : (null)\n",
-      "nelemans_recalc_eccentricity : If True, recalculate the eccentricity after angular momentum is removed.  : (null)\n",
-      "comenv_post_eccentricity : Eccentricity remaining after common envelope ejection. : (null)\n",
-      "nelemans_gamma : Set the fraction of the orbital specific angular momentum that is used to eject the common envelope according to the Nelemans and Tout prescription. See also nelemans_minq, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)\n",
-      "nelemans_minq : Only activate the Nelemans and Tout common envelope prescription for q>nelemans_minq. See also nelemans_gamma, nelemans_max_frac_j_change, nelemans_n_comenvs. : (null)\n",
-      "nelemans_max_frac_j_change : Maximum fractional angular momentum change in the Nelemans and Tout common envelope prescription. See also nelemans_gamma, nelemans_minq, nelemans_n_comenvs. : (null)\n",
-      "nelemans_n_comenvs : Set the maximum number of common envelope ejections allowed to follow the Nelemans and Tout prescription, after which the standard alpha prescription is used. : (null)\n",
-      "lambda_ionisation : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)\n",
-      "lambda_ionisation%d : A fraction lambda_ionisation of the recombination energy in the common envelope goes into ejecting the envelope. This is usually 0.0, but a positive value can make a big difference to the outcome of common envelope evolution. : (null)\n",
-      "lambda_enthalpy : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)\n",
-      "lambda_enthalpy%d : A fraction of the enthalpy to be included in the common envelope evolution binding energy. Only used for the Wang 2016 prescription (so far). : (null)\n",
-      "cbdisc_albedo : Circumbinary-disc albedo. Requires DISCS. : (null)\n",
-      "cbdisc_gamma : Circumbinary disc gamma (equation of state) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_alpha : Circumbinary disc alpha (viscosity) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_kappa : Circumbinary disc kappa (opacity) parameter. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_evaporation_timescale : Circumbinary disc minimum evaporation timescale (years). If (slow, not edge stripped) mass loss would evaporate the disc on a timescale less than this, simply evaporate the disc immediated. Usually set to 1y, ignore if zero. Requires DISCS. : (null)\n",
-      "cbdisc_torquef : Circumbinary disc binary torque multiplier. Requires DISCS. : (null)\n",
-      "cbdisc_max_lifetime : Circumbinary disc maximum lifetime (years, ignored if 0). Requires DISCS. : (null)\n",
-      "cbdisc_init_dM : On cbdisc start, reduce mass by a fraction dM if it won't converge. Requires DISCS. : (null)\n",
-      "cbdisc_init_dJdM : On cbdisc start, reduce angular momentum by a fraction dJ/dM*dM if it won't converge. Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_constant_rate : Circumbinary disc constant mass loss rate (Msun/year). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_FUV_multiplier : Circumbinary disc FUV mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_Xray_multiplier : Circumbinary disc X-ray mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_ISM_ram_pressure_multiplier : Circumbinary disc interstellar medium ram pressure stripping mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_ISM_pressure : Circumbinary disc interstellar medium ram pressure in units of Boltzmann constant per Kelvin (I think...). Requires DISCS. Typically 3000.0. See e.g. http://www.astronomy.ohio-state.edu/~pogge/Ast871/Notes/Intro.pdf page 15 or https://arxiv.org/pdf/0902.0820.pdf Fig. 1 (left panel). : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_multiplier : Circumbinary disc inner edge viscous mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_mass_loss_inner_viscous_angular_momentum_multiplier : Circumbinary disc inner edge viscous angular momentum multiplier (no units). The inner edge angular momentum Requires DISCS. : (null)\n",
-      "cbdisc_resonance_multiplier : Circumbinary disc resonant interaction multiplier, affects eccentricity pumping and angular momentum rates. Requires DISCS. : (null)\n",
-      "cbdisc_resonance_damping : Circumbinary disc resonant interaction damping: should be on (True) to damp the l=1, m=2 resonance when the disc inner edge lies outside the resonance location. Requires DISCS. : (null)\n",
-      "cbdisc_fail_ring_inside_separation : If True, while converging on a structure, circumbinary discs with Rring < the binary separation are immediately failed. : (null)\n",
-      "cbdisc_mass_loss_inner_L2_cross_multiplier : Circumbinary disc inner edge L2-crossing mass loss rate multiplier (no units). Requires DISCS. : (null)\n",
-      "cbdisc_minimum_luminosity : Circumbinary disc minimum luminosity. If the disc becomes dimmer than this, the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_mass : Circumbinary disc minimum mass. If the disc becomes less massive than this, the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "cbdisc_minimum_fRing : Circumbinary disc minimum fRing. If the disc becomes a ring, and fRing = |Rout/Rin-1| < this value (and this value is non-zero), the disc is evaporated instantly. Requires DISCS. : (null)\n",
-      "comenv_disc_angmom_fraction : If >0 Fraction of the common envelope's angular momentum that goes into the circumbinary disc. If -1 then uses the moments of inertia to calculate (deprecated), if -2 use the common envelope's specific angular momentum, if -3 uses the L2 point at the end of the common envelope to set the angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)\n",
-      "comenv_disc_mass_fraction : Fraction of the common envelope's mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_COMENV. : (null)\n",
-      "wind_disc_angmom_fraction : If >0 Fraction of the wind envelope's angular momentum that goes into the circumbinary disc. If -1 then uses the L2 point's specific angular momentum. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)\n",
-      "wind_disc_mass_fraction : Fraction of the stellar wind's mass that goes into the circumbinary disc. Requires DISCS and DISCS_CIRCUMBINARY_FROM_WIND. : (null)\n",
-      "WRLOF_method : Choose whether and how to apply wind-Roche-lobe-overflow. 0=none, 1=q-dependent, 2=quadratic See Abate et al 2013/14 for details. Requires WRLOF_MASS_TRANSFER. : (null)\n",
-      "minimum_timestep : The minimum timestep (Myr). : (null)\n",
-      "timestep_solver_factor : Factor applied in timestep_limits, e.g. to prevent X changing too fast by comparing to X/dX/dt, which is usually 1 but can be higher to lengthen timesteps when using an alternative solver. : (null)\n",
-      "RLOF_mdot_factor : Multiplier applied to the mass transfer rate during Roche-lobe overflow. Requires RLOF_MDOT_MODULATION. : (null)\n",
-      "RLOF_f : Factor to enlarge a Roche lobe, nominally because of radiation pressure (see Dermine et al paper). Requires RLOF_RADIATION_CORRECTION. : (null)\n",
-      "minimum_separation_for_instant_RLOF : If True, instead of evolving the system just report the minimum separation (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_orbital_period_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)\n",
-      "minimum_orbital_period_for_instant_RLOF : If True, instead of evolving the system just report the minimum orbital period (on the zero-age main sequence) that would lead to instant RLOF. Used by binary_grid. See also minimum_separation_for_instant_RLOF and maximum_mass_ratio_for_instant_RLOF. : (null)\n",
-      "maximum_mass_ratio_for_instant_RLOF : If True, instead of evolving the system just report the maximum mass ratio (on the zero-age main sequence) that would lead to instant RLOF, given M1 and orbital period. Used by binary_grid. See also minimum_separation_for_instant_RLOF and minimum_orbital_period_for_instant_RLOF. : (null)\n",
-      "RLOF_method : Use RLOF_method to choose the algorithm you use for Roche-lobe overflow mass loss rate calculations. 0=Hurley et al 2002, 1=Adaptive (for radiative stars) R=RL method, 2=Ritter (probably broken), 3=Claeys etal 2014 variant on Hurley et al 2002. : (null)\n",
-      "RLOF_interpolation_method : When a star overflows its Roche lobe, it always has R>RL because of the limited time resolution of the simulation. Binary_c then uses an algorithm to get back to when R~RL (within a desired tolerance, set in RLOF_ENTRY_THRESHOLD which is usually 1.02, i.e. overflow of 2%). You can choose algorithm 0, the Hurley et al 2002 method which reverses time (i.e. uses a Newton-like scheme), or 1 to use the binary_c method which rejects a timestep (and hence does no logging on that timestep) and repeats with half the timestep until R~RL. The latter is now the default, because this means there are no negative timesteps which break various other algorithms (e.g. nucleosynthesis). : (null)\n",
-      "nova_retention_fraction : The mass accreted during a nova as fraction of mass transferred : (null)\n",
-      "beta_reverse_nova : The fraction of mass ejected in a nova explosion which is accreted back onto the companion star. Set to -1 to automatically calculate based on a geometric argument, or 0 or positive to set the value. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_hydrogen_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is hydrogen rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_helium_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is helium rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_novae_upper_limit_other_donor : Upper limit of the stable mass transfer rate onto a white dwarf that leads to novae when the donor is neither hydrogen nor helium rich : above this rate the mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_hydrogen_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a hydrogen-rich donor. Below this mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_helium_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope with a helium-rich donor. Below this mass transfer leads to stable burning. : (null)\n",
-      "WD_accretion_rate_new_giant_envelope_lower_limit_other_donor : Lower limit of the mass transfer rate onto a white dwarf that leads to a the formation of a new giant envelope when the donor is neither hydrogen nor helium rich. Below this mass transfer leads to stable burning. : (null)\n",
-      "CRAP_parameter : Tidally enhanced mass loss parameter. See Tout and Eggleton's paper on the subject. (Was the parameter bb). : (null)\n",
-      "individual_novae : If individual_novae is True, novae are resolved such that each explosion is performed separtaely. : (null)\n",
-      "nova_timestep_accelerator_num : The nova timestep is accelerated if the nova number exceeds nova_timestep_accelerator_num. If zero or negative, acceleration is off. See also nova_timestep_accelerator_index and nova_timestep_accelerator_max. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nova_timestep_accelerator_index : The index at which the nova timestep is accelerated. A larger value gives longer timesteps. See also nova_timestep_accelerator_num and nova_timestep_accelerator_max. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nova_timestep_accelerator_max : The nova timestep is accelerated by a factor that is capped at nova_timestep_accelerator_max. This parameter is ignored if it is zero or negative. See also nova_timestep_accelerator_num and nova_timestep_accelerator_index. Only used if individual_novae is on.\n",
-      " : (null)\n",
-      "nonconservative_angmom_gamma : Mass lost from the system (but NOT from a stellar wind) takes a fraction gamma of the orbital angular momentum with it. Set to -1 to take the specific angular momentum of the donor star. Set to -2 to take super-Eddington, nova and disk-wind angular momenta as if a wind from the accretor. : (null)\n",
-      "max_stellar_angmom_change : Maxmimum fractional change in stellar angular momentum allowed before a timestep is rejected (0.05). : (null)\n",
-      "comenv_ms_accretion_mass : Experimental. During common envelope evolution, a main sequence star may accrete some of the envelope's mass. Requires COMENV_MS_ACCRETION. See also comenv_ms_accretion_fraction. : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Nucsyn\n",
-      "############################################################\n",
-      "third_dup : If True, enables third dredge up. Requires NUCSYN and NUCSYN_THIRD_DREDGE_UP. : (null)\n",
-      "third_dup_multiplier : Usage: --third_dup_multiplier <i> <f>. Multiplies the abundance of element <i> by <f> during third dredge up. : 1.0\n",
-      "NeNaMgAl : Enables NeNaMgAl reaction network. Requires NUCSYN and NUCSYN_HBB. : Ignore\n",
-      "nucsyn_network%d : Usage: --nucsyn_network%d <boolean>. Turn a nuclear network on or off. : (null)\n",
-      "nucsyn_network_error%d : Usage: --nucsyn_network_error%d <f>. Threshold error in nuclear network solver for network %d. : (null)\n",
-      "nucreacmult%d : Usage: --nucreacmult%d <f>. Multiply nuclear reaction given by the integer %d (integer) by f (float).  : (null)\n",
-      "nucsyn_metallicity : This sets the metallicity of the nucleosynthesis algorithms, i.e. the amount (by mass) of matter which is not hydrogen or helium. Usually you'd just set this with the metallicity parameter, but if you want the nucleosynthesis to be outside the range of the stellar evolution algorithm (e.g. Z=0 or Z=0.04) then you need to use nucsyn_metallicity. That said, it's also outside the range of some of the nucleosynthesis algorithms as well, so you have been warned! : (null)\n",
-      "nucsyn_solver : Choose the solver used in nuclear burning. 0 = KAPS_RENTROP is a Kaps-Rentrop scheme (fast, not great for stiff problems), 1 = LSODA (Adams/BSF switcher), 2 = CVODE library (https://computing.llnl.gov/projects/sundials. Default 0.  : 0\n",
-      "initial_abundance_mix : initial abundance mixture: 0=AG89, 1=Karakas 2002, 2=Lodders 2003, 3=Asplund 2005 (not available?), 4=Garcia Berro, 5=Grevesse Noels 1993 : 0\n",
-      "init_abund : Usage: --init_abund <i> <X>. Sets the initial abundance of isotope number <i> to mass fraction <X>. : 0.02\n",
-      "init_abund_mult : Usage: --init_abund_mult <i> <f>. Multiplies the initial abundance of isotope number <i> by <f>. : 1.0\n",
-      "init_abund_dex : Usage: --init_abund_dex <i> <f>. Changes the initial abundance of isotope number <i> by <f> dex. : 0.0\n",
-      "init_abunds_only : If True, outputs only the initial abundances, then exits. : (null)\n",
-      "initial_abunds_only : If True, outputs only the initial abundances, then exits. : (null)\n",
-      "no_thermohaline_mixing : If True, disables thermohaline mixing. : (null)\n",
-      "lithium_GB_post_Heflash : Sets the lithium abundances after the helium flash. Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "lithium_GB_post_1DUP : Sets the lithium abundance after first dredge up. Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "lithium_hbb_multiplier : Multiplies the lithium abundances on the AGB during HBB (based on Karakas/Fishlock et al models).Requires NUCSYN and LITHIUM_TABLES. : (null)\n",
-      "angelou_lithium_decay_function : Functional form which describes Li7 decay. Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Choices are : 0 expoential (see angelou_lithium_decay_time). : (null)\n",
-      "angelou_lithium_LMMS_time : Time at which lithium manufacture is triggered in a low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_time : Time at which lithium manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_time : Time at which lithium manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_time : Time at which lithium manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_time : Time at which lithium manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_time : Time at which lithium manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_time : Time at which lithium manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_LMMS_decay_time : Decay time for surface lithium abundance during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_decay_time : Decay time for surface lithium abundance on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_decay_time : Decay time for surface lithium abundance on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_decay_time : Decay time for surface lithium abundance on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_decay_time : Decay time for surface lithium abundance during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_decay_time : Decay time for surface lithium abundance on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_decay_time : Decay time for surface lithium abundance on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_LMMS_massfrac : Lithium mass fraction when its manufacture is triggered during the low-mass (convective) main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_MS_massfrac : Lithium mass fraction when its manufacture is triggered on the main sequence (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_HG_massfrac : Lithium mass fraction when its manufacture is triggered on the Hertzsprung gap (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_GB_massfrac : Lithium mass fraction when its manufacture is triggered on the giant branch (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_CHeB_massfrac : Lithium mass fraction when its manufacture is triggered during core helium burning (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_EAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the early AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_TPAGB_massfrac : Lithium mass fraction when its manufacture is triggered on the thermally pulsing AGB (Myr). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0 (for the start, use 1e-6).\n",
-      " : (null)\n",
-      "angelou_lithium_vrot_trigger : Equatorial rotational velocity at which lithium manufacture is triggered (km/s). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.\n",
-      " : (null)\n",
-      "angelou_lithium_vrotfrac_trigger : Fraction of Keplerian (breakup) equatorial rotational velocity at which lithium manufacture is triggered (must be <1, ignored if 0). Requires NUCSYN and NUCSYN_ANGELOU_LITHIUM. Ignored if 0.\n",
-      " : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Output\n",
-      "############################################################\n",
-      "cf_amanda_log : Enable logging to compare to Amanda's models. : (null)\n",
-      "float_overflow_checks : Turn on to enable floating-point overflow checks at the end of each timestep, if they are available. 0=off, 1=warn (stderr) on failure, 2=exit on failure (0) : (null)\n",
-      "save_pre_events_stardata : Enable this to save a copy of stardata to stardata->pre_events_stardata just before an event. : (null)\n",
-      "disable_end_logging : Disable the logging that happens at the end of the evolution. : (null)\n",
-      "ensemble : Turn on ensemble calculations and output. : (null)\n",
-      "ensemble_filters_off : Sets all ensemble filters to be off (FALSE) - these can then be enabled one-by-one with --ensemble_filter_[...] TRUE. : (null)\n",
-      "ensemble_filter_%d : Turn on or off ensemble filter <n>. For a list of filters, see ensemble_macros.h. : (null)\n",
-      "ensemble_legacy_ensemble : Turn on ensemble legacy population output. : (null)\n",
-      "legacy_yields : Turn on ensemble legacy yield output. : (null)\n",
-      "ensemble_defer : Defer ensemble output. : (null)\n",
-      "ensemble_dt : When doing ensemble calculations, data are stored and/or output every ensemble_dt Myr. See also ensemble, ensemble_logdt, ensemble_startlogtime. : (null)\n",
-      "ensemble_logdt : When doing ensemble calculations, and when logensembletimes is set, the ensemble is stored/output every ensemble_logdt Myr. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)\n",
-      "ensemble_startlogtime : Start log ensemble data storage/calculations/output at ensemble_startlogtime. See also ensemble, ensemble_dt, ensemble_startlogtime. : (null)\n",
-      "ensemble_logtimes : When doing ensemble calculations/output, set this to act at log times rather than linear times. : (null)\n",
-      "postagb_legacy_logging : Turn on post-AGB legacy logging. : (null)\n",
-      "disc_legacy_logging : Turn on disc legacy logging. : (null)\n",
-      "EMP_logg_maximum : Maximum logg that EMP stars are allowed to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_minimum_age. : (null)\n",
-      "EMP_minimum_age : Minimum age that EMP stars are required to have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum. : (null)\n",
-      "EMP_feh_maximum : Maximum [Fe/H] that an EMP stars may have. See Izzard et al 2009. See also CEMP_cfe_minimum, NEMP_nfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default -2.0. : (null)\n",
-      "CEMP_cfe_minimum : Minimum [C/Fe] that CEMP stars are required to have. See Izzard et al 2009. See also NEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 0.7. : (null)\n",
-      "NEMP_cfe_minimum : Minimum [N/Fe] that NEMP stars are required to have. See Izzard et al 2009, Pols et al. 2012. See also CEMP_cfe_minimum, EMP_logg_maximum, EMP_minimum_age. Default 1.0. : (null)\n",
-      "thick_disc_start_age : Lookback time for the start of the thick disc star formation, e.g. 13e3 Myr. Units = Myr. : (null)\n",
-      "thick_disc_end_age : Lookback time for the end of the thick disc star formation, e.g. 4e3 Myr. Units = Myr. : (null)\n",
-      "thick_disc_logg_min : Minimum logg for thick disc giants to be logged. : (null)\n",
-      "thick_disc_logg_max : Maximum logg for thick disc giants to be logged. : (null)\n",
-      "escape_velocity : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 1e9 km/s. See also escape_fraction. : (null)\n",
-      "escape_fraction : A parameter used in constructing galactic chemical evolution (GCE) models. If the stellar wind velocity exceeds this value, any chemical yield from the wind is ignored, i.e. assumed lost. (km/s) Requires NUCSYN_GCE_OUTFLOW_CHECKS. Default 0.0. See also escape_velocity. : (null)\n",
-      "colour_log : If set to True, thelog is coloured with ANSI colour formatting. Requires FILE_LOG to be defined. : \n",
-      "log_filename : Location of the output logging filename. If set to \"/dev/null\" then there is no logging. : \n",
-      "log_arrows : Add arrows to the output log to show whether values are increasing or decreasing. : \n",
-      "stopfile : File which, when it exists, will stop the current binary_c repeat run. : \n",
-      "stardata_dump_filename : Location of the stardata dump file. : \n",
-      "stardata_load_filename : Location of the stardata file to load. : \n",
-      "api_log_filename_prefix : Location of the output logging filename prefix for the API. If set to \"/dev/null\" then there is no logging. : 0\n",
-      "hrdiag_output : Set to True to output high time-resolution Hertzstrpung-Russell diagram information. Requires HRDIAG. : (null)\n",
-      "internal_buffering : Experimental. Set to non-zero values to implement internal buffering prior to output. For use with binary_grid, you shouldn't really be playing with this. : (null)\n",
-      "eccentric_RLOF_model : Chooses which model is used to handle eccentric RLOF. Default is RLOF_ECCENTRIC_AS_CIRCULAR, i.e. ignore the eccentricity. Note: requires force_corotation_of_primary_and_orbit to be FALSE.\n",
-      " : (null)\n",
-      "force_circularization_on_RLOF : If True forces circularization of stars and orbit when RLOF starts, this is as in the BSE algorithm. (True) : (null)\n",
-      "wtts_log : If True, enables log file output for WTTS2. : (null)\n",
-      "fabian_imf_log_time : Time at which to output for Fabian Schneider's IMF project. Requires FABIAN_IMF_LOG : Ignore\n",
-      "fabian_imf_log_timestep : Timestep for Fabian Schneider's IMF project logging. Requires FABIAN_IMF_LOG : Ignore\n",
-      "version : Display binary_c version and build information. Also performs timing tests. : Ignore\n",
-      "dumpversion : Display binary_c version number (short format). : Ignore\n",
-      "version_only : Display binary_c version number and build information, but do not perform timing tests or anything that requires stardata to be non-NULL. : Ignore\n",
-      "tides_diagnosis_log : Enable logging to test MINT tides. Requires MINT. Choices are: 0 disabled, 1 enable lambda test. : Ignore\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Input\n",
-      "############################################################\n",
-      "MINT_dir : Location of MINT algorithm data. : \n",
-      "MINT_data_cleanup : Activate checks on incoming data to try to account for problems. Will make data-loading slower, but may fix a few things. : \n",
-      "MINT_MS_rejuvenation : Turn on or off (hydrogen) main-sequence rejuvenation. : \n",
-      "MINT_remesh : Turn on or off MINT's remeshing. : \n",
-      "MINT_use_ZAMS_profiles : Use chemical profiles at the ZAMS if MINT_use_ZAMS_profiles is TRUE, otherwise set homogeneous abundances. (Default is TRUE, so we use the profiles if they are available.) : \n",
-      "MINT_fallback_to_test_data : If TRUE, use the MINT test_data directory as a fallback when data is unavailable. (FALSE) : \n",
-      "MINT_disable_grid_load_warnings : Use this to explicitly disable MINT's warnings when loading a grid with, e.g., missing or too much data. : \n",
-      "MINT_Kippenhahn : Turn on or off MINT's Kippenhahn diagrams. If 0, off, if 1, output star 1 (index 0), if 2 output star 2 (index 1). Default 0. : \n",
-      "MINT_nshells : Set the initial number of shells MINT uses in each star when doing nuclear burning. Note: remeshing can change this. If MINT_nshells is 0, shellular burning and other routines that require shells will not be available. (200) : \n",
-      "MINT_maximum_nshells : Set the maximum number of shells MINT uses in each star when doing nuclear burning. Note that this will be limited to MINT_HARD_MAX_NSHELLS. (1000) : \n",
-      "MINT_minimum_nshells : Set the minimum number of shells MINT uses in each star when doing nuclear burning. Note that this will be greater than or equal to MINT_HARD_MIN_NSHELLS, which is 0 by default. (0) : \n",
-      "MINT_Kippenhahn_stellar_type : Stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for which Kippenhahn plot data should be output. : \n",
-      "MINT_Kippenhahn_companion_stellar_type : Companion stellar type selector for Kippenhahn plots. Set to -1 to ignore, otherwise the stellar type number for the companion for which Kippenhahn plot data should be output. : \n",
-      "MINT_nuclear_burning : Turn on or off MINT's nuclear burning algorithm. : \n",
-      "MINT_minimum_shell_mass : Minimum shell mass in MINT's nuclear burning routines. : \n",
-      "MINT_maximum_shell_mass : Maximum shell mass in MINT's nuclear burning routines. : \n",
-      "\n",
-      "############################################################\n",
-      "##### Section I/O\n",
-      "############################################################\n",
-      "go : batchmode control command : Ignore\n",
-      "gogo : batchmode control command : Ignore\n",
-      "reset_stars : Reset the star structures. Used in batchmode : Ignore\n",
-      "reset_stars_defaults : Reset the star structures and set defaults. Used in batchmode : Ignore\n",
-      "defaults : Reset all defaults. Used in batchmode : Ignore\n",
-      "echo : Activate batchmode command echoing, i.e. when you enter a command, binary_c repeats the command then executes it. : Ignore\n",
-      "noecho : Deactivate batchmode command echoing. See 'echo'. : Ignore\n",
-      "noechonow : Deactivate batchmode command echoing. See 'echo'. : Ignore\n",
-      "bye : Quit binary_c. Used in batchmode. : Ignore\n",
-      "fin : batchmode control command : Ignore\n",
-      "reset_prefs : Reset preferences struct. Used in batchmode : Ignore\n",
-      "status : Output batchmode status information. : Ignore\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Algorithms\n",
-      "############################################################\n",
-      "repeat : If > 1, repeats the system as many times as required. Handy if you're using Monte-Carlo kicks and want to sample the parameter space well. Also, if you are running speed tests this is good to give a statistically more reasonable result. (See e.g. 'tbse pgo'). : (null)\n",
-      "random_systems : Experimental. Use this to apply random initial system parameters (masses, separations, etc.). Useful for testing only. : (null)\n",
-      "\n",
-      "############################################################\n",
-      "##### Section Misc\n",
-      "############################################################\n",
-      "random_seed : Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)\n",
-      "random_systems_seed : Random number seed for the generation of random systems. See random_systems and random_seed. : (null)\n",
-      "random_skip : Skip the first <random_seed> random numbers that are generated. Usually this is 0 so they are all used. : (null)\n",
-      "idum : [NB: deprecated, please use 'random_seed' instead.] Random number seed, usually a (possibly negative) integer. Useful for exactly reproducing the evolution of a system which involves a kick (which is a Monte-Carlo, i.e. pseudorandom, process). : (null)\n",
-      "reverse_time : Make time go backwards. To be considered very experimental! : (null)\n",
-      "start_time : Start time for the simulation. : (null)\n",
-      "warmup_cpu : Uses the CPU at maximum power the given number of seconds, prior to running normal stellar evolution. : Ignore\n",
-      "help : Display help pages. Usage: --help <help topic>. : Ignore\n",
-      "argopts : Display argument options. Usage: --argopts <argument>. : Ignore\n",
-      "help_all : Display all help pages. : Ignore\n",
-      "list_args : Display list of arguments with their default values. Useful for batchmode. : Ignore\n",
-      "\n"
+      "(abridged)\n"
      ]
     }
    ],
    "source": [
-    "print(_binary_c_bindings.return_help_all())"
+    "print('\\n'.join(_binary_c_bindings.return_help_all().splitlines()[:10]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -873,12 +300,14 @@
       "__ARG_BEGIN\n",
       "metallicity = 0.02\n",
       "effective_metallicity = -1\n",
-      "M_1 = 0\n"
+      "M_1 = 0\n",
+      "(abridged)\n"
      ]
     }
    ],
    "source": [
-    "print('\\n'.join(_binary_c_bindings.return_arglines().splitlines()[:4]))"
+    "print('\\n'.join(_binary_c_bindings.return_arglines().splitlines()[:4]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -966,7 +395,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -980,7 +409,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/source/examples/notebook_custom_logging.ipynb b/docs/source/examples/notebook_custom_logging.ipynb
index 8dfb85034..8627ffb47 100644
--- a/docs/source/examples/notebook_custom_logging.ipynb
+++ b/docs/source/examples/notebook_custom_logging.ipynb
@@ -23,7 +23,7 @@
     "    create_and_load_logging_function,\n",
     ")\n",
     "from binarycpython.utils.run_system_wrapper import run_system\n",
-    "from binarycpython.utils.grid import Population"
+    "from binarycpython import Population"
    ]
   },
   {
@@ -461,11 +461,19 @@
     "# print (abridged) output\n",
     "print(\"\\n\".join(output.splitlines()[-2:]))"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "c708268f-0b0c-48ea-9155-ec632a0acc3a",
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -479,7 +487,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/source/examples/notebook_ensembles.ipynb b/docs/source/examples/notebook_ensembles.ipynb
new file mode 100644
index 000000000..44ef8a7ef
--- /dev/null
+++ b/docs/source/examples/notebook_ensembles.ipynb
@@ -0,0 +1,33 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d4799c94-afd8-41db-ab82-e0a6e278ed77",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "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.9.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/source/examples/notebook_extra_features.ipynb b/docs/source/examples/notebook_extra_features.ipynb
index 44c19c112..a0f0fc0d9 100644
--- a/docs/source/examples/notebook_extra_features.ipynb
+++ b/docs/source/examples/notebook_extra_features.ipynb
@@ -18,11 +18,11 @@
    "metadata": {},
    "outputs": [],
    "source": [
+    "from binarycpython import Population\n",
     "from binarycpython.utils.functions import (\n",
     "    get_help,\n",
     "    get_help_all,\n",
     "    get_help_super,\n",
-    "    return_binary_c_version_info,\n",
     "    get_defaults\n",
     ")\n",
     "# help(binarycpython.utils.functions)"
@@ -116,8 +116,7 @@
    "metadata": {},
    "source": [
     "## Build information of binary_c\n",
-    "Sometimes we want to know with which settings binary_c has been built. We can use the function `return_binary_c_version_info` for this.\n",
-    "This function will parse the version info of binary_c and return a dictionary with all the settings."
+    "It can be useful to fetch the information with which the current version of binary_c has been configured with. We can do that through the Population object, by calling the instance method `return_binary_c_version_info`. This function will parse the version info of binary_c and return a dictionary with all the settings."
    ]
   },
   {
@@ -130,13 +129,13 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'nucleosynthesis_sources', 'miscellaneous'])\n"
+      "dict_keys(['networks', 'isotopes', 'argpairs', 'ensembles', 'ensemble_filters', 'macros', 'elements', 'dt_limits', 'units', 'nucleosynthesis_sources', 'miscellaneous'])\n"
      ]
     }
    ],
    "source": [
-    "version_info_dict = return_binary_c_version_info(parsed=True)\n",
-    "print(version_info_dict.keys())"
+    "version_info = Population().return_binary_c_version_info(parsed=True)\n",
+    "print(version_info.keys())"
    ]
   },
   {
@@ -168,27 +167,11 @@
     "\n",
     "TODO:"
    ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "b3c259ef-9f89-4b26-9ce3-45af625bc398",
-   "metadata": {},
-   "source": [
-    "## Getting help\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "bf3c1e28-1662-47a7-abab-aa6fb0ef0882",
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -202,7 +185,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/source/examples/notebook_individual_systems.ipynb b/docs/source/examples/notebook_individual_systems.ipynb
index deb72fc55..d752fc66e 100644
--- a/docs/source/examples/notebook_individual_systems.ipynb
+++ b/docs/source/examples/notebook_individual_systems.ipynb
@@ -62,7 +62,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "SINGLE_STAR_LIFETIME 1 12461.2\n",
+      "SINGLE_STAR_LIFETIME 1 12461.1\n",
       "\n"
      ]
     }
@@ -90,17 +90,17 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=62172 RANDOM_COUNT=0\n",
+      "      TIME      M1       M2   K1  K2           SEP        PER   ECC  R1/ROL1 R2/ROL2  TYPE RANDOM_SEED=22065 RANDOM_COUNT=0\n",
       "     0.0000    1.000    0.000  1  15            -1       -1   -1.00   0.000   0.000  \"INITIAL \"\n",
       " 11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  \"OFF_MS\"\n",
       " 11003.1302    1.000    0.000  2  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 11582.2424    1.000    0.000  3  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 12325.1085    0.817    0.000  4  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
       " 12457.1301    0.783    0.000  5  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 12460.9983    0.716    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"shrinkAGB\"\n",
-      " 12461.1627    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
-      " 15000.0000    0.645    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"MAX_TIME\"\n",
+      " 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
+      " 12460.8955    0.774    0.000  6  15            -1       -1   -1.00   0.000   0.000  \"shrinkAGB\"\n",
+      " 12461.1490    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"TYPE_CHNGE\"\n",
+      " 15000.0000    0.678    0.000 11  15            -1       -1   -1.00   0.000   0.000  \"MAX_TIME\"\n",
       "\n"
      ]
     }
@@ -236,13 +236,13 @@
       "4         0.000002       1.0          1.0          1.0\n",
       "5         0.000003       1.0          1.0          1.0\n",
       "...            ...       ...          ...          ...\n",
-      "1345  12461.080763   0.71617          1.0          6.0\n",
-      "1346  12461.162734  0.644553          1.0         11.0\n",
-      "1347  13461.162734  0.644553          1.0         11.0\n",
-      "1348  14461.162734  0.644553          1.0         11.0\n",
-      "1349       15000.0  0.644553          1.0         11.0\n",
+      "1250  12461.061259  0.718593          1.0          6.0\n",
+      "1251  12461.149038  0.678026          1.0         11.0\n",
+      "1252  13461.149038  0.678026          1.0         11.0\n",
+      "1253  14461.149038  0.678026          1.0         11.0\n",
+      "1254       15000.0  0.678026          1.0         11.0\n",
       "\n",
-      "[1349 rows x 4 columns]\n"
+      "[1254 rows x 4 columns]\n"
      ]
     }
    ],
@@ -299,10 +299,8 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options\n",
-      "adding: M_1=10 to BSE_options\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
       "SINGLE_STAR_LIFETIME 10 28.4838\n",
       "\n"
@@ -360,9 +358,9 @@
       ");\n",
       " to grid_options\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
-      "Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_dafa15d2b1e64e19972ac0e9eb5c9a55.so\n",
+      "Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_34a350b8f15c4d149deab88632948c99.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",
@@ -381,7 +379,7 @@
     "\n",
     "    stardata->star[0].stellar_type //5\n",
     ");\n",
-    "\"\"\"   \n",
+    "\"\"\"\n",
     "\n",
     "example_pop.set(C_logging_code=custom_logging_print_statement)\n",
     "\n",
@@ -397,7 +395,7 @@
    "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."
+    "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."
    ]
   },
   {
@@ -464,13 +462,12 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: parse_function=<function object_parse_function at 0x149c2e81ec10> to grid_options\n",
-      "<<<< Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to custom_options >>>>\n",
-      "adding: api_log_filename_prefix=/tmp/binary_c_python-izzard/notebooks/notebook_individual_systems to BSE_options\n",
+      "adding: parse_function=<function object_parse_function at 0x7f35b603e9d0> to grid_options\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: output_dir=/tmp/binary_c_python-david/notebooks/notebook_individual_systems to custom_options >>>>\n",
       "Creating and loading custom logging functionality\n",
-      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-izzard/notebooks/notebook_individual_systems\n",
+      "Running binary_c M_1 10 api_log_filename_prefix /tmp/binary_c_python-david/notebooks/notebook_individual_systems\n",
       "Cleaning up the custom logging stuff. type: single\n",
-      "Removed /tmp/binary_c_python-izzard/custom_logging/libcustom_logging_0639ee205c7d4782b4a27378f5d890bd.so\n",
+      "Removed /tmp/binary_c_python-david/custom_logging/libcustom_logging_446fe4cddfa94946bcafd55591ef3730.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"
      ]
@@ -570,7 +567,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -584,7 +581,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/source/examples/notebook_population.ipynb b/docs/source/examples/notebook_population.ipynb
index 760b1480e..ebc19cff0 100644
--- a/docs/source/examples/notebook_population.ipynb
+++ b/docs/source/examples/notebook_population.ipynb
@@ -25,7 +25,7 @@
     "import os\n",
     "\n",
     "from binarycpython.utils.custom_logging_functions import temp_dir\n",
-    "from binarycpython.utils.grid import Population\n",
+    "from binarycpython import Population\n",
     "\n",
     "TMP_DIR = temp_dir(\"notebooks\", \"notebook_population\")\n",
     "\n",
@@ -58,13 +58,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: M_1=10 to BSE_options\n",
-      "adding: orbital_period=45000000080 to BSE_options\n",
-      "adding: max_evolution_time=15000 to BSE_options\n",
-      "adding: eccentricity=0.02 to BSE_options\n",
       "adding: num_cores=2 to grid_options\n",
-      "adding: tmp_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population to grid_options\n",
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "adding: tmp_dir=/tmp/binary_c_python-david/notebooks/notebook_population to grid_options\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
       "1\n",
       "example_pop.dat\n",
@@ -139,13 +135,17 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Writing settings to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json\n"
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n"
      ]
     },
     {
      "data": {
       "text/plain": [
-       "'/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/example_pop_settings.json'"
+       "'/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz'"
       ]
      },
      "execution_count": 3,
@@ -185,9 +185,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Help on method add_grid_variable in module binarycpython.utils.grid:\n",
+      "Help on method add_grid_variable in module binarycpython.utils.population_extensions.gridcode:\n",
       "\n",
-      "add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int], gridtype: str = 'centred', branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None) -> None method of binarycpython.utils.grid.Population instance\n",
+      "add_grid_variable(name: str, parameter_name: str, longname: str, valuerange: Union[list, str], samplerfunc: str, probdist: str, dphasevol: Union[str, int] = -1, gridtype: str = 'centred', branchpoint: int = 0, branchcode: Optional[str] = None, precode: Optional[str] = None, postcode: Optional[str] = None, topcode: Optional[str] = None, bottomcode: Optional[str] = None, condition: Optional[str] = None, index: Optional[int] = None, dry_parallel: Optional[bool] = False) -> None method of binarycpython.utils.grid.Population instance\n",
       "    Function to add grid variables to the grid_options.\n",
       "    \n",
       "    The execution of the grid generation will be through a nested for loop.\n",
@@ -198,17 +198,15 @@
       "    beware that if you insert some destructive piece of code, it will be executed anyway.\n",
       "    Use at own risk.\n",
       "    \n",
-      "    Tasks:\n",
-      "        - TODO: Fix this complex function.\n",
-      "    \n",
       "    Args:\n",
       "        name:\n",
       "            name of parameter used in the grid Python code.\n",
       "            This is evaluated as a parameter and you can use it throughout\n",
       "            the rest of the function\n",
       "    \n",
-      "            Examples:\n",
-      "                name = 'lnm1'\n",
+      "            Examples::\n",
+      "    \n",
+      "                name = 'lnM_1'\n",
       "    \n",
       "        parameter_name:\n",
       "            name of the parameter in binary_c\n",
@@ -223,47 +221,66 @@
       "        longname:\n",
       "            Long name of parameter\n",
       "    \n",
-      "            Examples:\n",
+      "            Examples::\n",
+      "    \n",
       "                longname = 'Primary mass'\n",
+      "    \n",
       "        range:\n",
       "            Range of values to take. Does not get used really, the samplerfunc is used to\n",
       "            get the values from\n",
       "    \n",
-      "            Examples:\n",
+      "            Examples::\n",
+      "    \n",
       "                range = [math.log(m_min), math.log(m_max)]\n",
+      "    \n",
       "        samplerfunc:\n",
       "            Function returning a list or numpy array of samples spaced appropriately.\n",
       "            You can either use a real function, or a string representation of a function call.\n",
       "    \n",
-      "            Examples:\n",
-      "                samplerfunc = \"const(math.log(m_min), math.log(m_max), {})\".format(resolution['M_1'])\n",
+      "            Examples::\n",
+      "    \n",
+      "                samplerfunc = \"self.const_linear(math.log(m_min), math.log(m_max), {})\".format(resolution['M_1'])\n",
       "    \n",
       "        precode:\n",
       "            Extra room for some code. This code will be evaluated within the loop of the\n",
-      "            sampling function (i.e. a value for lnm1 is chosen already)\n",
+      "            sampling function (i.e. a value for lnM_1 is chosen already)\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                precode = 'M_1=math.exp(lnM_1);'\n",
       "    \n",
-      "            Examples:\n",
-      "                precode = 'M_1=math.exp(lnm1);'\n",
       "        postcode:\n",
       "            Code executed after the probability is calculated.\n",
+      "    \n",
       "        probdist:\n",
       "            Function determining the probability that gets assigned to the sampled parameter\n",
       "    \n",
-      "            Examples:\n",
-      "                probdist = 'Kroupa2001(M_1)*M_1'\n",
+      "            Examples::\n",
+      "    \n",
+      "                probdist = 'self.Kroupa2001(M_1)*M_1'\n",
+      "    \n",
       "        dphasevol:\n",
       "            part of the parameter space that the total probability is calculated with. Put to -1\n",
       "            if you want to ignore any dphasevol calculations and set the value to 1\n",
-      "            Examples:\n",
-      "                dphasevol = 'dlnm1'\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                dphasevol = 'dlnM_1'\n",
+      "    \n",
       "        condition:\n",
       "            condition that has to be met in order for the grid generation to continue\n",
-      "            Examples:\n",
-      "                condition = 'self.grid_options['binary']==1'\n",
+      "    \n",
+      "            Examples::\n",
+      "    \n",
+      "                condition = \"self.grid_options['binary']==1\"\n",
+      "    \n",
       "        gridtype:\n",
       "            Method on how the value range is sampled. Can be either 'edge' (steps starting at\n",
       "            the lower edge of the value range) or 'centred'\n",
-      "            (steps starting at lower edge + 0.5 * stepsize).\n",
+      "            (steps starting at ``lower edge + 0.5 * stepsize``).\n",
+      "    \n",
+      "        dry_parallel:\n",
+      "            If True, try to parallelize this variable in dry runs.\n",
       "    \n",
       "        topcode:\n",
       "            Code added at the very top of the block.\n",
@@ -313,35 +330,7 @@
    "execution_count": 6,
    "id": "47979841-2c26-4b26-8945-603d013dc93a",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Added grid variable: {\n",
-      "    \"name\": \"lnm1\",\n",
-      "    \"parameter_name\": \"M_1\",\n",
-      "    \"longname\": \"Primary mass\",\n",
-      "    \"valuerange\": [\n",
-      "        2,\n",
-      "        150\n",
-      "    ],\n",
-      "    \"samplerfunc\": \"const(math.log(2), math.log(150), 20)\",\n",
-      "    \"precode\": \"M_1=math.exp(lnm1)\",\n",
-      "    \"postcode\": null,\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",
-      "    \"condition\": \"\",\n",
-      "    \"gridtype\": \"centred\",\n",
-      "    \"branchpoint\": 0,\n",
-      "    \"branchcode\": null,\n",
-      "    \"topcode\": null,\n",
-      "    \"bottomcode\": null,\n",
-      "    \"grid_variable_number\": 0\n",
-      "}\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Add grid variables\n",
     "resolution = {\"M_1\": 20}\n",
@@ -351,9 +340,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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",
@@ -364,8 +353,8 @@
     "#     name=\"q\",\n",
     "#     longname=\"Mass ratio\",\n",
     "#     valuerange=[\"0.1/M_1\", 1],\n",
-    "#     samplerfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n",
-    "#     probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n",
+    "#     samplerfunc=\"self.const_linear(0.1/M_1, 1, {})\".format(resolution['q']),\n",
+    "#     probdist=\"self.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",
@@ -377,12 +366,12 @@
     "#    name=\"log10per\", # in days\n",
     "#    longname=\"log10(Orbital_Period)\",\n",
     "#    valuerange=[0.15, 5.5],\n",
-    "#    samplerfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n",
+    "#    samplerfunc=\"self.const_linear(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",
+    "#    probdist=\"self.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"
@@ -434,7 +423,7 @@
    ],
    "source": [
     "# Create custom logging statement: in this case we will log when the star turns into a compact object, and then terminate the evolution.\n",
-    "custom_logging_statement = \"\"\"\n",
+    "custom_logging_code = \"\"\"\n",
     "if(stardata->star[0].stellar_type >= 13)    \n",
     "{\n",
     "    if (stardata->model.time < stardata->model.max_evolution_time)\n",
@@ -454,7 +443,7 @@
     "\"\"\"\n",
     "\n",
     "example_pop.set(\n",
-    "    C_logging_code=custom_logging_statement\n",
+    "    C_logging_code=custom_logging_code\n",
     ")"
    ]
   },
@@ -476,7 +465,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "adding: parse_function=<function parse_function at 0x1528ac7290d0> to grid_options\n"
+      "adding: parse_function=<function parse_function at 0x7f2b6ca163a0> to grid_options\n"
      ]
     }
    ],
@@ -552,38 +541,41 @@
      "output_type": "stream",
      "text": [
       "adding: verbosity=0 to grid_options\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "**************************************\n",
-      "* Total starcount for this run is 20 *\n",
-      "*   Total probability is 0.0444029   *\n",
-      "**************************************\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 19     *\n",
+      "* Total probability is 0.0443872 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
-      "EXAMPLE_COMPACT_OBJECT             4.139293101586e+01 1.29427 8.13626 0.00202467 13\n",
-      "EXAMPLE_COMPACT_OBJECT             2.802986496151e+01 1.33699 10.0967 0.00152924 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.963621764679e+01 1.39754 12.5294 0.00115504 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.427601421985e+01 1.47745 15.5483 0.000872405 13\n",
-      "EXAMPLE_COMPACT_OBJECT             1.094409257247e+01 1.57571 19.2947 0.00065893 13\n",
-      "EXAMPLE_COMPACT_OBJECT             9.181971798545e+00 1.68748 23.9436 0.000497691 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.905335716621e+00 1.77287 29.7128 0.000375908 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.451192744924e+00 1.81495 36.872 0.000283924 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.396133472739e+00 1.82088 45.7561 0.000214449 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.396675941641e+00 1.82123 56.7809 0.000161974 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.404641347602e+00 1.82074 70.4621 0.000122339 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.444217227690e+00 1.81636 87.4397 9.2403e-05 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.453317880232e+00 1.81536 108.508 6.97923e-05 13\n",
-      "EXAMPLE_COMPACT_OBJECT             7.450828476487e+00 1.81563 134.653 5.27143e-05 13\n",
+      "EXAMPLE_COMPACT_OBJECT             3.598268106227e+01 1.30592 8.75988 0.00193614 13\n",
+      "EXAMPLE_COMPACT_OBJECT             2.436983545111e+01 1.35842 10.9948 0.00144093 13\n",
+      "EXAMPLE_COMPACT_OBJECT             1.690157944401e+01 1.43124 13.7998 0.00107238 13\n",
+      "EXAMPLE_COMPACT_OBJECT             1.242397939068e+01 1.52416 17.3205 0.000798096 13\n",
+      "EXAMPLE_COMPACT_OBJECT             9.756794139032e+00 1.66914 21.7394 0.000593966 13\n",
+      "EXAMPLE_COMPACT_OBJECT             8.401414766976e+00 1.73729 27.2857 0.000442046 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.536373523810e+00 1.80677 34.247 0.000328983 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.393982410080e+00 1.82164 42.9844 0.000244839 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.396470605248e+00 1.82129 53.9508 0.000182216 13\n",
+      "Do join of subprocesses ...\n",
+      "EXAMPLE_COMPACT_OBJECT             7.399005684057e+00 1.82041 67.7151 0.00013561 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.443375325717e+00 1.81645 84.9909 0.000100925 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.451195752942e+00 1.81559 106.674 7.51114e-05 13\n",
+      "EXAMPLE_COMPACT_OBJECT             7.452661646076e+00 1.81543 133.89 5.59e-05 13\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-50fb66cc659c46c8bbc29fe0c8651c2f finished! *\n",
-      "*           The total probability is 0.0444029.          *\n",
-      "*  It took a total of 3.30s to run 20 systems on 2 cores *\n",
-      "*                   = 6.60s of CPU time.                 *\n",
-      "*              Maximum memory use 433.070 MB             *\n",
+      "*  Population-ce756bb317f64099a459bf8b55a746ac finished! *\n",
+      "*           The total probability is 0.0443872.          *\n",
+      "*  It took a total of 0.73s to run 19 systems on 2 cores *\n",
+      "*                   = 1.46s of CPU time.                 *\n",
+      "*              Maximum memory use 293.406 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n"
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n"
      ]
     }
    ],
@@ -614,7 +606,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "{'population_name': '50fb66cc659c46c8bbc29fe0c8651c2f', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.04440288843805411, 'total_count': 20, 'start_timestamp': 1635760967.3245144, 'end_timestamp': 1635760970.6249793, 'total_mass_run': 684.2544031669784, 'total_probability_weighted_mass_run': 0.28134439269236855, 'zero_prob_stars_skipped': 0}\n"
+      "{'population_id': 'ce756bb317f64099a459bf8b55a746ac', 'evolution_type': 'grid', 'failed_count': 0, 'failed_prob': 0, 'failed_systems_error_codes': [], 'errors_exceeded': False, 'errors_found': False, 'total_probability': 0.044387171445641534, 'total_count': 19, 'start_timestamp': 1646563001.7193637, 'end_timestamp': 1646563002.4480088, 'time_elapsed': 0.7286450862884521, 'total_mass_run': 649.905447944397, 'total_probability_weighted_mass_run': 0.28133908148630704, 'zero_prob_stars_skipped': 0}\n"
      ]
     }
    ],
@@ -642,9 +634,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Help on method write_binary_c_calls_to_file in module binarycpython.utils.grid:\n",
+      "Help on method write_binary_c_calls_to_file in module binarycpython.utils.population_extensions.dataIO:\n",
       "\n",
-      "write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False) -> None method of binarycpython.utils.grid.Population instance\n",
+      "write_binary_c_calls_to_file(output_dir: Optional[str] = None, output_filename: Optional[str] = None, include_defaults: bool = False, encoding='utf-8') -> None method of binarycpython.utils.grid.Population instance\n",
       "    Function that loops over the grid code and writes the generated parameters to a file.\n",
       "    In the form of a command line call\n",
       "    \n",
@@ -655,10 +647,6 @@
       "    \n",
       "    On default this will write to the datadir, if it exists\n",
       "    \n",
-      "    Tasks:\n",
-      "        - TODO: test this function\n",
-      "        - TODO: make sure the binary_c_python .. output file has a unique name\n",
-      "    \n",
       "    Args:\n",
       "        output_dir: (optional, default = None) directory where to write the file to. If custom_options['data_dir'] is present, then that one will be used first, and then the output_dir\n",
       "        output_filename: (optional, default = None) filename of the output. If not set it will be called \"binary_c_calls.txt\"\n",
@@ -685,19 +673,19 @@
      "output_type": "stream",
      "text": [
       "Generating grid code\n",
-      "Generating grid code\n",
-      "Saving grid code to grid_options\n",
-      "Writing grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py [dry_run = False]\n",
-      "Symlinked grid code to /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid-latest2 \n",
-      "Loading grid code function from /tmp/binary_c_python-izzard/notebooks/notebook_population/binary_c_grid_50fb66cc659c46c8bbc29fe0c8651c2f.py\n",
+      "Save grid code to grid_options\n",
+      "Write grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py [dry_run = False]\n",
+      "Symlinked grid code to /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid-latest2 \n",
+      "Load grid code function from /tmp/binary_c_python-david/notebooks/notebook_population/binary_c_grid_ce756bb317f64099a459bf8b55a746ac.py\n",
       "Grid code loaded\n",
-      "Writing binary_c calls to /tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
-      "binary_c M_1 2.227955577093495 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681548 probability 0.010905083645619543\n",
-      "binary_c M_1 2.7647737053496777 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.00823663875514986\n",
-      "binary_c M_1 3.430936289925951 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.21587440567681537 probability 0.0062211552141636295\n",
-      "binary_c M_1 4.2576084265970895 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.2158744056768156 probability 0.004698855121516281\n"
+      "Writing binary_c calls to /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/binary_c_calls.txt\n",
+      "binary_c M_1 2.2406484012210224 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.011394572976608001\n",
+      "binary_c M_1 2.812296769855663 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191117 probability 0.008480166685456411\n",
+      "binary_c M_1 3.5297876799548944 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.006311182276049824\n",
+      "binary_c M_1 4.430329401616038 eccentricity 0.02 max_evolution_time 15000 orbital_period 45000000080 phasevol 0.22723621650191106 probability 0.004696962123378559\n",
+      "(abridged)\n"
      ]
     }
    ],
@@ -707,7 +695,8 @@
     "print(calls_filename)\n",
     "\n",
     "with open(calls_filename, 'r') as f:\n",
-    "    print('\\n'.join(f.read().splitlines()[:4]))"
+    "    print('\\n'.join(f.read().splitlines()[:4]))\n",
+    "print(\"(abridged)\")"
    ]
   },
   {
@@ -715,7 +704,15 @@
    "id": "60359eb1-4d0c-4d2d-8265-ec5171b944a2",
    "metadata": {},
    "source": [
-    "## Full examples of population scripts\n",
+    "## Full examples of population scripts"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1ee279d6-e120-4aef-9e57-845e534f5c6a",
+   "metadata": {},
+   "source": [
+    "### Single star population\n",
     "Below is a full setup for a population of single stars"
    ]
   },
@@ -729,43 +726,51 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 20 stars with a total probability of 0.0444029\n",
-      "**************************************\n",
-      "* Total starcount for this run is 20 *\n",
-      "*   Total probability is 0.0444029   *\n",
-      "**************************************\n",
+      "Grid has handled 19 stars with a total probability of 0.0443872\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 19     *\n",
+      "* Total probability is 0.0443872 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-05e51ba114934b37bab48f1db40b7333 finished! *\n",
-      "*           The total probability is 0.0444029.          *\n",
-      "*  It took a total of 3.46s to run 20 systems on 2 cores *\n",
-      "*                   = 6.93s of CPU time.                 *\n",
-      "*              Maximum memory use 437.047 MB             *\n",
+      "*  Population-0fa4c2b8707741a5ab41d209ef95a3a4 finished! *\n",
+      "*           The total probability is 0.0443872.          *\n",
+      "*  It took a total of 0.61s to run 19 systems on 2 cores *\n",
+      "*                   = 1.23s of CPU time.                 *\n",
+      "*              Maximum memory use 299.531 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n",
       "\n",
       "\n",
       "time mass zams_mass probability radius stellar_type\n",
-      "4.139293101586e+01 1.29427 8.13626 0.00202467 1.72498e-05 13\n",
-      "2.802986496151e+01 1.33699 10.0967 0.00152924 1.72498e-05 13\n",
-      "1.963621764679e+01 1.39754 12.5294 0.00115504 1.72498e-05 13\n",
-      "1.427601421985e+01 1.47745 15.5483 0.000872405 1.72498e-05 13\n",
-      "1.094409257247e+01 1.57571 19.2947 0.00065893 1.72498e-05 13\n",
-      "9.181971798545e+00 1.68748 23.9436 0.000497691 1.72498e-05 13\n",
-      "7.905335716621e+00 1.77287 29.7128 0.000375908 1.72498e-05 13\n",
-      "7.451192744924e+00 1.81495 36.872 0.000283924 1.72498e-05 13\n",
-      "7.396133472739e+00 1.82088 45.7561 0.000214449 1.72498e-05 13\n",
-      "7.396675941641e+00 1.82123 56.7809 0.000161974 1.72498e-05 13\n",
-      "7.404641347602e+00 1.82074 70.4621 0.000122339 1.72498e-05 13\n",
-      "7.444217227690e+00 1.81636 87.4397 9.2403e-05 1.72498e-05 13\n",
-      "7.453317880232e+00 1.81536 108.508 6.97923e-05 1.72498e-05 13\n",
-      "7.450828476487e+00 1.81563 134.653 5.27143e-05 1.72498e-05 13\n",
+      "3.598268106227e+01 1.30592 8.75988 0.00193614 1.72498e-05 13\n",
+      "2.436983545111e+01 1.35842 10.9948 0.00144093 1.72498e-05 13\n",
+      "1.690157944401e+01 1.43124 13.7998 0.00107238 1.72498e-05 13\n",
+      "1.242397939068e+01 1.52416 17.3205 0.000798096 1.72498e-05 13\n",
+      "9.756794139032e+00 1.66914 21.7394 0.000593966 1.72498e-05 13\n",
+      "8.401414766976e+00 1.73729 27.2857 0.000442046 1.72498e-05 13\n",
+      "7.536373523810e+00 1.80677 34.247 0.000328983 1.72498e-05 13\n",
+      "7.393982410080e+00 1.82164 42.9844 0.000244839 1.72498e-05 13\n",
+      "7.396470605248e+00 1.82129 53.9508 0.000182216 1.72498e-05 13\n",
+      "7.399005684057e+00 1.82041 67.7151 0.00013561 1.72498e-05 13\n",
+      "7.451195752942e+00 1.81559 106.674 7.51114e-05 1.72498e-05 13\n",
+      "7.443375325717e+00 1.81645 84.9909 0.000100925 1.72498e-05 13\n",
+      "7.452661646076e+00 1.81543 133.89 5.59e-05 1.72498e-05 13\n",
       "\n"
      ]
     }
@@ -877,9 +882,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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=\"\",\n",
@@ -908,7 +913,8 @@
    "id": "c2ab0979-6575-481d-9c1c-ca98517b2437",
    "metadata": {},
    "source": [
-    "We can also set up a population that samples biinary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded top be more useful"
+    "### Binary star population\n",
+    "We can also set up a population that samples binary systems, by adding extra grid variables. Below is an example of a full script that runs a binary population and registers when a double compact object is formed. The logging is rather compact and should be expanded to be more useful. Also note that we run very little systems in the following example, as its just intended to show how the code works."
    ]
   },
   {
@@ -921,45 +927,42 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-izzard/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
+      "<<<< Warning: Key does not match previously known parameter:                     adding: data_dir=/tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result to custom_options >>>>\n",
       "<<<< Warning: Key does not match previously known parameter:                     adding: base_filename=example_pop.dat to custom_options >>>>\n",
+      "ok\n",
+      "File at /tmp/binary_c_python-david/notebooks/notebook_population/example_python_population_result/example_pop_settings.json.gz already exists: cannot write to it\n",
+      "ok\n",
+      "ok pre\n",
+      "ok ret\n",
+      "Do dry run? True\n",
       "Doing dry run to calculate total starcount and probability\n",
-      "Generating grid code\n",
-      "Grid has handled 27 stars with a total probability of 0.0248684\n",
-      "**************************************\n",
-      "* Total starcount for this run is 27 *\n",
-      "*   Total probability is 0.0248684   *\n",
-      "**************************************\n",
+      "Grid has handled 8 stars with a total probability of 0.0211592\n",
+      "**********************************\n",
+      "*             Dry run            *\n",
+      "*      Total starcount is 8      *\n",
+      "* Total probability is 0.0211592 *\n",
+      "**********************************\n",
       "\n",
-      "Generating grid code\n",
+      "Do join of subprocesses ...\n",
+      "Joined subprocesses.\n",
       "**********************************************************\n",
-      "*  Population-8bc1eafea1c34b05894c1618639d8c37 finished! *\n",
-      "*           The total probability is 0.0248684.          *\n",
-      "* It took a total of 16.10s to run 27 systems on 2 cores *\n",
-      "*                  = 32.20s of CPU time.                 *\n",
-      "*              Maximum memory use 437.695 MB             *\n",
+      "*  Population-0eb5c0c9abd34607a6ee060b26a7e32f finished! *\n",
+      "*           The total probability is 0.0211592.          *\n",
+      "*  It took a total of 0.84s to run 8 systems on 2 cores  *\n",
+      "*                   = 1.68s of CPU time.                 *\n",
+      "*              Maximum memory use 300.125 MB             *\n",
       "**********************************************************\n",
       "\n",
-      "There were no errors found in this run.\n",
+      "No failed systems were found in this run.\n",
+      "Do analytics\n",
+      "Added analytics to metadata\n",
       "\n",
       "\n",
       "time mass_1 zams_mass_1 mass_2 zams_mass_2 stellar_type_1 prev_stellar_type_1 stellar_type_2 prev_stellar_type_2 metallicity probability\n",
-      "1.219029061236e+01 1.60007 17.3205 0 2.97008 13 5 15 15 0.02 0.000498487\n",
-      "1.935920339886e+01 1.29448 17.3205 0 8.71025 13 13 15 2 0.02 0.000498487\n",
-      "2.123794969278e+01 1.30902 17.3205 1.58518 8.71025 13 13 13 5 0.02 0.000287968\n",
-      "3.579099761269e+01 1.52414 17.3205 1.30642 8.71025 13 13 13 5 0.02 0.000220016\n",
-      "1.674063083432e+01 1.29457 17.3205 0 14.4504 13 13 15 2 0.02 0.000498487\n",
-      "1.548740826516e+01 1.52415 17.3205 1.45407 14.4504 13 13 13 5 0.02 0.000220016\n",
-      "1.779197348711e+01 1.3228 17.3205 1.71196 14.4504 13 13 13 8 0.02 0.000287968\n",
-      "1.367065497322e+01 1.66003 73.0434 1.79487 12.2572 13 13 13 8 0.02 7.67586e-05\n",
-      "1.772169325355e+01 1.81957 73.0434 1.46573 12.2572 13 13 13 5 0.02 4.43422e-05\n",
-      "2.021960493499e+01 1.82061 73.0434 1.39205 12.2572 13 13 13 5 0.02 3.38788e-05\n",
-      "9.012246630357e+00 1.81529 73.0434 0 36.5717 13 8 15 15 0.02 7.67586e-05\n",
-      "7.462779538274e+00 1.82255 73.0434 1.81499 36.5717 13 13 13 8 0.02 3.38788e-05\n",
-      "1.030499912298e+01 1.80592 73.0434 1.81066 36.5717 13 13 13 8 0.02 4.43422e-05\n",
-      "9.823059079115e+00 2.43711 73.0434 1.81689 60.8862 14 14 13 8 0.02 7.67586e-05\n",
-      "7.394722435913e+00 1.79092 73.0434 1.79092 60.8862 13 8 13 8 0.02 4.43422e-05\n",
-      "7.396288708628e+00 1.8216 73.0434 1.8216 60.8862 13 8 13 8 0.02 3.38788e-05\n",
+      "1.378266748188e+01 1.66293 50.9713 1.78767 12.8178 13 13 13 8 0.02 0.000339963\n",
+      "1.817608462595e+01 1.82104 50.9713 1.41436 12.8178 13 13 13 5 0.02 0.000193036\n",
+      "7.422997711686e+00 1.82479 50.9713 1.82171 38.2535 13 13 13 8 0.02 0.000193036\n",
+      "1.205711924468e+01 1.73765 50.9713 0 38.2535 13 13 15 8 0.02 0.000339963\n",
       "\n"
      ]
     }
@@ -1089,9 +1092,9 @@
     "    name=\"lnm1\",\n",
     "    longname=\"Primary mass\",\n",
     "    valuerange=[2, 150],\n",
-    "    samplerfunc=\"const(math.log(2), math.log(150), {})\".format(resolution[\"M_1\"]),\n",
+    "    samplerfunc=\"self.const_linear(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",
+    "    probdist=\"self.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",
@@ -1102,8 +1105,8 @@
     "    name=\"q\",\n",
     "    longname=\"Mass ratio\",\n",
     "    valuerange=[\"0.1/M_1\", 1],\n",
-    "    samplerfunc=\"const(0.1/M_1, 1, {})\".format(resolution['q']),\n",
-    "    probdist=\"flatsections(q, [{'min': 0.1/M_1, 'max': 1.0, 'height': 1}])\",\n",
+    "    samplerfunc=\"self.const_linear(0.1/M_1, 1, {})\".format(resolution['q']),\n",
+    "    probdist=\"self.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",
@@ -1115,12 +1118,12 @@
     "   name=\"log10per\", # in days\n",
     "   longname=\"log10(Orbital_Period)\",\n",
     "   valuerange=[0.15, 5.5],\n",
-    "   samplerfunc=\"const(0.15, 5.5, {})\".format(resolution[\"per\"]),\n",
+    "   samplerfunc=\"self.const_linear(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",
+    "   probdist=\"self.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",
@@ -1145,7 +1148,7 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -1159,7 +1162,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.4"
+   "version": "3.9.9"
   }
  },
  "nbformat": 4,
diff --git a/docs/source/grid_options_descriptions.rst b/docs/source/grid_options_descriptions.rst
index c061fb901..7d765d8cf 100644
--- a/docs/source/grid_options_descriptions.rst
+++ b/docs/source/grid_options_descriptions.rst
@@ -1,7 +1,7 @@
 Population grid code options
 ============================
 The following chapter contains all grid code options, along with their descriptions
-There are 28 options that are not described yet.
+There are 29 options that are not described yet.
 
 
 Public options
@@ -167,6 +167,8 @@ The following options are meant to be changed by the user.
 
 | **save_snapshots**: No description available yet
 
+| **skip_before**: No description available yet
+
 | **slurm**: Integer flag used to control Slurm jobs. Default is 0 which means no Slurm. 1 means launch Slurm jobs. Do not manually set this to 2 (run Slurm jobs) or 3 (join Slurm job data) unless you know what you are doing, this is usually done for you.
 
 | **slurm_array**: String. Override for Slurm's --array option, useful for rerunning jobs manually. Default None.
-- 
GitLab