Backport Disberg & Mandel 2025 Kick Prescription to METISSE-integrate#709
Conversation
…SE range (for METISSE)" This reverts commit 62c102b.
… of SSE space (without debug messages this time)
…o reflect code changes
…h#704) * add lognormal function * add kickflag option for disberg * only use disberg when it's not an ecsn/ussn * update version/changelog * add docs about new option * apply bhsigmafrac to mean of disberg lognormal * allow larger kickflag values * add two tests that check that Hobbs and Disberg kick routines * improve tests to just evolve a single star, and don't duplicate del's (cherry picked from commit d4dd9b5)
That's a good point, I hadn't thought about implementing it in the K&H version. Honestly I don't think we should since I think people should be discouraged from that one (since it is wrong and only useful for reproducing old results). But it would be good to add a note in the docs that "-5" is not allowed. |
|
That's very reasonable. I went ahead and made note of that in Params.ini and the JSON docs. |
katiebreivik
left a comment
There was a problem hiding this comment.
Thanks @d-maclean and @TomWagg for your input. I think this is good to go!
3470be3
into
COSMIC-PopSynth:METISSE-integrate
* Metisse integration meson (#628) * modified COSMIC to use the setup for METISSE * METISSE integration is complete * moved assign_commons_COSMIC.f90 to COSMIC src dir * added METISSE as submodule (#629) * added METISSE as submodule * try ssedict for one test * updated comprad for METISSE (#631) * Kb metisse add ce facc split (#630) * trying to add git submodules to actions * splitting alphas and accretion limits for primary and secondary * forgot to add cosnt * fixing SSEDict columns in initial binary table * add in correct gfortran compilation * fixing benchmark to work with SSE, removing repeated compilation arguments * fixing tests with SSEDict * add ignore back in * fix tests and remove SSEDict from setreff for now * Stop statements (#632) * METISSE now returns error instead of stopping the code * added back meson.build and .gitignore * updated metisse * removed print statement * fix pickle protocol (#633) * added path validity checks for METISSE as stellar engine (#634) * update utils call for when initC is passed directly and added SSEDict to docs (#635) * warnings_fix (#636) * replaced warning command when path_he_tracks is not provided * fix tests for he tracks --------- Co-authored-by: Katie Breivik <kbreivik@andrew.cmu.edu> Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org> * submodule update (#637) * fixed lum, r etc. of kw=15 stars for binary_type 9 (#638) * submodule update (#640) * added rejuventaion flag for very low mass stars (#646) * update METISSE * update METISSE (#649) * bring METISSE-integrate level with develop (+ METISSE-integrate commits) (#657) * offner22 primary mass dependent binary fraction (#644) * added offner22 primary mass dependent binary fraction * pinning numpy version because of new numpy version released on june 16 (https://stackoverflow.com/questions/78634235/numpy-dtype-size-changed-may-indicate-binary-incompatibility-expected-96-from) * pinned numpy version so 3.7 works --------- Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org> * Update utils.py (#648) * Update utils.py fix trapezoid import * Update utils.py missed one trapz * version bump and dropping below python3.9 (#653) * version bump and dropping below python3.9 * forward to numpy 1.26.0 * trying a different version * fix trapz import * Update build_wheels_and_publish.yml explicitly install gcc * Update build_wheels_and_publish.yml trying to fix gfortran * Update build_wheels_and_publish.yml specifying path with symlink, checking path * Update build_wheels_and_publish.yml (#654) * Update build_wheels_and_publish.yml * Update _version.py * Update meson.build * Update pyproject.toml (#655) * Version bump for pip (#656) * Update meson.build * Update _version.py --------- Co-authored-by: MarkGM02 <90350113+MarkGM02@users.noreply.github.com> * glob_issues (#650) * removed need to add backslash at the end of paths for metisse * modified utils to raise error instead of warning if metallicity files are not found in path_to_he_tracks * modified path for METISSE from ssh to https * trying to make metisse-integrate incorporate develop updates (#658) * offner22 primary mass dependent binary fraction (#644) * added offner22 primary mass dependent binary fraction * pinning numpy version because of new numpy version released on june 16 (https://stackoverflow.com/questions/78634235/numpy-dtype-size-changed-may-indicate-binary-incompatibility-expected-96-from) * pinned numpy version so 3.7 works --------- Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org> * Update utils.py (#648) * Update utils.py fix trapezoid import * Update utils.py missed one trapz * version bump and dropping below python3.9 (#653) * version bump and dropping below python3.9 * forward to numpy 1.26.0 * trying a different version * fix trapz import * Update build_wheels_and_publish.yml explicitly install gcc * Update build_wheels_and_publish.yml trying to fix gfortran * Update build_wheels_and_publish.yml specifying path with symlink, checking path * Update build_wheels_and_publish.yml (#654) * Update build_wheels_and_publish.yml * Update _version.py * Update meson.build * Update pyproject.toml (#655) * Version bump for pip (#656) * Update meson.build * Update _version.py --------- Co-authored-by: MarkGM02 <90350113+MarkGM02@users.noreply.github.com> * Metisse integrate kb (#674) * offner22 primary mass dependent binary fraction (#644) * added offner22 primary mass dependent binary fraction * pinning numpy version because of new numpy version released on june 16 (https://stackoverflow.com/questions/78634235/numpy-dtype-size-changed-may-indicate-binary-incompatibility-expected-96-from) * pinned numpy version so 3.7 works --------- Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org> * Update utils.py (#648) * Update utils.py fix trapezoid import * Update utils.py missed one trapz * version bump and dropping below python3.9 (#653) * version bump and dropping below python3.9 * forward to numpy 1.26.0 * trying a different version * fix trapz import * Update build_wheels_and_publish.yml explicitly install gcc * Update build_wheels_and_publish.yml trying to fix gfortran * Update build_wheels_and_publish.yml specifying path with symlink, checking path * Update build_wheels_and_publish.yml (#654) * Update build_wheels_and_publish.yml * Update _version.py * Update meson.build * Update pyproject.toml (#655) * Version bump for pip (#656) * Update meson.build * Update _version.py * Add power law sampling options for ``porb`` and ``q`` (#651) * add `q_power_law` parameter to change the power law of the mass ratio distribution * allow custom power laws for orbital periods * add mass ratio sampling test * add test for custom porb power laws * add to changelog * New ``gamma`` option for circumbinary discs (#652) * add new gamma prescription, add some int() statements * add details to docs page * update ini files * * Modifying the init file to include the commit hash. (#659) *Created get_commit_hash file that finds the commit hash. *Modified the meson.build file to run get_commit_hash when cosmic is installed. * Created maximum wall time option (#620) * Added compression options for pandas * Created maximum wall time argument * Add debugging setup, avoid NaNs from timestep issue (#647) * setup debugging environment * ignore a bunch of files * add a testing fortran script * move debugging to its own folder * add a python script for creating the input * add a simple makefile for testing * important change: use `loop` instead of `1000` for timestep condition * add a note about settings * clean up vscode setup * I can't count 🙃 * added new test suite location * fixing numpy pinned version * forcing numpy version I guess --------- Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org> Co-authored-by: Katie Breivik <kbreivik@andrew.cmu.edu> * allow a gamma of -3 in error_check (#661) * fixing wheel build for pypi, hopefully * tiny version bump (#665) * Update _version.py * Update pyproject.toml add @TomWagg as dev * Update meson.build bump version * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml removing gfortran symlink * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml (#666) * Update build_wheels_and_publish.yml * this should be a working build. * add meson to requirements * Fixing linux only wheel (#667) * Update build_wheels_and_publish.yml * adding in python versions * Update build_wheels_and_publish.yml * Update meson.build * Update meson.build * Update pyproject.toml * Pip fix (#669) * add DS_Store to ignore * finalllllly got the platform specific wheels built with a pure: false * tiny bump in version for tag * Update build_wheels_and_publish.yml need to repair linux build with cibuildwheel for PyPI * Update meson.build forgot to bump version here * build wheels and publish fix (#670) * pins cibuildwheel==2.17.0 so that we can build across macOS versions. * allow push to pypi * add x_86 and arch compatibility for wheels (#671) * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml * Update meson.build version * Update _version.py version * Update pyproject.toml version * Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#672) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v3...v4.1.7) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: MarkGM02 <90350113+MarkGM02@users.noreply.github.com> Co-authored-by: Tom Wagg <tomjwagg@gmail.com> Co-authored-by: elenagonzalez870 <52000594+elenagonzalez870@users.noreply.github.com> Co-authored-by: Vera Eris Del Favero <77068792+xevra@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * updated METISSE (#680) Co-authored-by: duncan_m <duncan_m@ajax.wireless-1x.unc.edu> * Fix cosmic-pop executable for METISSE-integrate (#681) * updated METISSE * added 'SSEDict' to cosmic-pop binary --------- Co-authored-by: duncan_m <duncan_m@ajax.wireless-1x.unc.edu> * Fastforward to develop branch (#684) * offner22 primary mass dependent binary fraction (#644) * added offner22 primary mass dependent binary fraction * pinning numpy version because of new numpy version released on june 16 (https://stackoverflow.com/questions/78634235/numpy-dtype-size-changed-may-indicate-binary-incompatibility-expected-96-from) * pinned numpy version so 3.7 works --------- Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org> * Update utils.py (#648) * Update utils.py fix trapezoid import * Update utils.py missed one trapz * version bump and dropping below python3.9 (#653) * version bump and dropping below python3.9 * forward to numpy 1.26.0 * trying a different version * fix trapz import * Update build_wheels_and_publish.yml explicitly install gcc * Update build_wheels_and_publish.yml trying to fix gfortran * Update build_wheels_and_publish.yml specifying path with symlink, checking path * Update build_wheels_and_publish.yml (#654) * Update build_wheels_and_publish.yml * Update _version.py * Update meson.build * Update pyproject.toml (#655) * Version bump for pip (#656) * Update meson.build * Update _version.py * Add power law sampling options for ``porb`` and ``q`` (#651) * add `q_power_law` parameter to change the power law of the mass ratio distribution * allow custom power laws for orbital periods * add mass ratio sampling test * add test for custom porb power laws * add to changelog * New ``gamma`` option for circumbinary discs (#652) * add new gamma prescription, add some int() statements * add details to docs page * update ini files * * Modifying the init file to include the commit hash. (#659) *Created get_commit_hash file that finds the commit hash. *Modified the meson.build file to run get_commit_hash when cosmic is installed. * Created maximum wall time option (#620) * Added compression options for pandas * Created maximum wall time argument * Add debugging setup, avoid NaNs from timestep issue (#647) * setup debugging environment * ignore a bunch of files * add a testing fortran script * move debugging to its own folder * add a python script for creating the input * add a simple makefile for testing * important change: use `loop` instead of `1000` for timestep condition * add a note about settings * clean up vscode setup * I can't count 🙃 * added new test suite location * fixing numpy pinned version * forcing numpy version I guess --------- Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org> Co-authored-by: Katie Breivik <kbreivik@andrew.cmu.edu> * allow a gamma of -3 in error_check (#661) * fixing wheel build for pypi, hopefully * tiny version bump (#665) * Update _version.py * Update pyproject.toml add @TomWagg as dev * Update meson.build bump version * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml removing gfortran symlink * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml (#666) * Update build_wheels_and_publish.yml * this should be a working build. * add meson to requirements * Fixing linux only wheel (#667) * Update build_wheels_and_publish.yml * adding in python versions * Update build_wheels_and_publish.yml * Update meson.build * Update meson.build * Update pyproject.toml * Pip fix (#669) * add DS_Store to ignore * finalllllly got the platform specific wheels built with a pure: false * tiny bump in version for tag * Update build_wheels_and_publish.yml need to repair linux build with cibuildwheel for PyPI * Update meson.build forgot to bump version here * build wheels and publish fix (#670) * pins cibuildwheel==2.17.0 so that we can build across macOS versions. * allow push to pypi * add x_86 and arch compatibility for wheels (#671) * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml * Update meson.build version * Update _version.py version * Update pyproject.toml version * combine the bpp and bcm columns * pass bpp column information * add bpp column variables * pass all columns to bpp_array * only need 49 actually * bin nums separate, only index certain parts of table * all the binaries! * change writebpp function to use any columns * add new bcm variables * switch to a single function for simplicity * change everything to writetab * pass deltam to comenv too * use writetab not writebpp in comenv.f * ip not jp * add bcm stuff and convert integer columns with a loop (add kstars/evol_type) * `rsunau` ended up in the wrong place, this should fix porbs * Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#672) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v3...v4.1.7) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * metisse update * Pypi fix (#676) * trying out pypi tests * add in wheel repair * trying native build * adding in pytest check * adding in pytest install * Update build_wheels_and_publish.yml remove the cibuildwheel environment variables and updating action versions * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml Had wrong download action version * Update build_wheels_and_publish.yml add in auditwheel for manylinux * Update build_wheels_and_publish.yml (#677) * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml split mac and linux builds * Update build_wheels_and_publish.yml trying to get cibuildwheels working again for linux * Update pyproject.toml removed pytest from cibuildwheel args * Update build_wheels_and_publish.yml don't actually publish * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml * Update build_wheels_and_publish.yml * Update _version.py * Update pyproject.toml * Update meson.build * Implement new kick prescription (#678) * start a function for changing bases * add cross product function * fix indents * better variables and copy over initial function part * angles, better variables, natal kick done * fix transformation for pre-disrupted binaries * add vector calculations * everything done except Euler angles * add dot product and angle functions * fix indentation, add kick info logging of disrupt * start adding Euler angles * rename files * fix vector variables * get rid of redundant anomaly stuff * snstar->sn, update jorb, record in kick_info * make kick info bigger * /= is not a thing in fortran who knew * it lives! (compiles!) * move helpers, calculate new sep, use correct mass! * better docstring info * add check for collisions * clean up all of the units * properly update Euler angles * declare all the variables * put the old function back in * change kickflag definition * change default kickflag to 1 not 0 * update kickflag docs * update ini files * missed some kickflags * calculate h_mag earlier, fix jorb units * fix tiny typo * update tests to check on OLD kick prescription for now * add another test for ejection velocities * update changelog and version * more version updates --------- Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org> * fix error check * Fix NaNs coming from supernova kicks (#679) * account for cases with no natal kick and ecc_prev=0.0 * don't forget binstate mergertype bookkeeping * Update cosmic-pop (#683) Fixed parsing of binfrac model. Now string values are properly handled. * get working * fixing tests but as a hack for a couple of them because we updated the kicks and I dont have time to fix it --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: MarkGM02 <90350113+MarkGM02@users.noreply.github.com> Co-authored-by: Tom Wagg <tomjwagg@gmail.com> Co-authored-by: elenagonzalez870 <52000594+elenagonzalez870@users.noreply.github.com> Co-authored-by: Vera Eris Del Favero <77068792+xevra@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * update using_sse and using_metisse to ints for C in CMC (#686) * Kb metisse (#689) * update using_sse and using_metisse to ints for C in CMC * get evolve working * update tests * Cmc integrate (#691) * changes for cmc integration * moved metisse inputs from zcnsts call to a separate subroutine * renamed assign_common_cosmic.90 to _METISSE utils.f90 in compile_benchmark * removed hanging metisse variables from compute_r in comprad.f * Metisse variables (#693) * added all four metisse variables in python files * added all four metisse variables in associated fortran files * Update python-package.yml upgrade versions * Update build_wheels_and_publish.yml upgrade actions version * Allow Independent sampler to return low/high-metallicity binary table for METISSE (#695) * updated METISSE * added 'SSEDict' to cosmic-pop binary * updated METISSE * allowed indepdent sampler to return metallicity outside of SSE range (for METISSE) * :Revert "allowed indepdent sampler to return metallicity outside of SSE range (for METISSE)" This reverts commit 62c102b. * added logic for independent sampler to return binaries with Z outside of SSE space (without debug messages this time) * added a warning when the user passes an invalid metallicity value for SSE * fixed sampler crashing if SSEDict is not passed --------- Co-authored-by: duncan_m <duncan_m@ajax.wireless-1x.unc.edu> * Metisse integrate branch - fix default inifile and independent sampler from cosmic-pop (#699) * updated METISSE * added 'SSEDict' to cosmic-pop binary * updated METISSE * allowed indepdent sampler to return metallicity outside of SSE range (for METISSE) * :Revert "allowed indepdent sampler to return metallicity outside of SSE range (for METISSE)" This reverts commit 62c102b. * added logic for independent sampler to return binaries with Z outside of SSE space (without debug messages this time) * added a warning when the user passes an invalid metallicity value for SSE * fixed sampler crashing if SSEDict is not passed * updated exmaple/Params.ini: changed dtype of 'acc_lim' and 'alpha1' to reflect code changes * documented Params.ini changes * added SSEDict to cosmic-pop's independent sampler calls --------- Co-authored-by: duncan_m <duncan_m@ajax.wireless-1x.unc.edu> * Backport Disberg & Mandel 2025 Kick Prescription to METISSE-integrate (#709) * updated METISSE * added 'SSEDict' to cosmic-pop binary * updated METISSE * allowed indepdent sampler to return metallicity outside of SSE range (for METISSE) * :Revert "allowed indepdent sampler to return metallicity outside of SSE range (for METISSE)" This reverts commit 62c102b. * added logic for independent sampler to return binaries with Z outside of SSE space (without debug messages this time) * added a warning when the user passes an invalid metallicity value for SSE * fixed sampler crashing if SSEDict is not passed * updated exmaple/Params.ini: changed dtype of 'acc_lim' and 'alpha1' to reflect code changes * documented Params.ini changes * added SSEDict to cosmic-pop's independent sampler calls * Implement Disberg & Mandel 2025 model for natal kicks (#704) * add lognormal function * add kickflag option for disberg * only use disberg when it's not an ecsn/ussn * update version/changelog * add docs about new option * apply bhsigmafrac to mean of disberg lognormal * allow larger kickflag values * add two tests that check that Hobbs and Disberg kick routines * improve tests to just evolve a single star, and don't duplicate del's (cherry picked from commit d4dd9b5) * bump version to 3.5.1 * changed BSEDict['acc_lim'] to list to satisfy COSMIC-METISSE * added SSEDict to appease COSMIC-METISSE * added documentation disavowing kickflag=-5 --------- Co-authored-by: duncan_m <duncan_m@ajax.wireless-1x.unc.edu> Co-authored-by: Tom Wagg <tomjwagg@gmail.com> * COSMIC-METISSE interface (#714) * fastforward * add interface for metisse files * ok now we pass in the info in teh metallicity and format files. next up is checking whether we need to pass in the full eep I guess * now we can pass eeps directly but its buggy af * ok this interface compiles and runs but Im getting some buggy bpp output * removing debug prints * fixing fortran arrays sepcifically * fix colname read and make paths path objects instead of str * move c_m_interface to METISSE * update workflow to checkout METISSE submodule * fixing silly vim typo * add kb fork for now to test * add function names to __all__ in utils, add c_m_interface to benchmark compile * fix so that we can rerun with ibt * need track_support to be higher * we now actually read in the eeps as specified by the metallicity files * remove fork checkout * now explicitly checking out develop * now compiling in two stages * had a rogue conda prefix --------- Co-authored-by: Katelyn Breivik <kbreivik@sirius.ib.vera.psc.edu> * Update METISSE submodule to latest develop * now using paths in case the user wants to use them. Also handles strings * now read METISSE eeps based on the path specified in METISSE metallicity files (#715) * Capture & Recycle zpars for METISSE (#716) * now read METISSE eeps based on the path specified in METISSE metallicity files * add mechanism to capture and recycle zpars * Add COSMIC-METISSE interface to the independent sampler (#717) * now read METISSE eeps based on the path specified in METISSE metallicity files * add mechanism to capture and recycle zpars * add c_m_interface initialization to independent sampler -- necessary for METISSE * revised z_accuracy_limit to align with METISSE's method * Warn user when using cosmic-pop with multidim sampler if `Nstep < nproc^2` (#718) * now read METISSE eeps based on the path specified in METISSE metallicity files * added warning when user uses cosmic-pop with multidim sampling and low Nstep --------- Co-authored-by: Katie Breivik <kbreivik@andrew.cmu.edu> * Add `z_accuracy_limit` and `metisse_verbose` to COSMIC & inifile (#719) * added `z_accuracy_limit` and `metisse_verbose` to SSEDict/COSMIC input * added `z_accuracy_limit` and `metisse_verbose` to sse section * made fileio interface more general (#721) * made fileio interface more general * fixed a typo * switch c_m_interface and track_support * fix test to pull from correct function * fix glob patter to ignore metadata files that are created when transferring datafiles between mac and non-mac os * updating metisse --------- Co-authored-by: Katie Breivik <kbreivik@andrew.cmu.edu> * Update COSMIC-METISSE interface functions in utils / independent sampler (#722) * updated cosmic-metisse interface function call in independent sampler * add handling for 1-line eeps; prevents array bounds error * version bump * update to latest metisse * update docs and version * add in the necessary html page and a note for installation from source with a git clone and submodule language * properly set up metisse submodule * update METISSE submodule * this is just cosmetic as far as I can tell * add progress bar possiblity through kwargs * fixed the segfaults -- it was an argument order for assign_remnant calls * update METISSE * fix the comprad call in independent by supplying sse as the SSEDict default * fix segfaults by realizing that we had totally lost hrdiag in the merge -- doh! * remove unnecessary commented text * add the core mass handling for METISSE, including MS core mass growth yay! * supply stellar_engine as metisse wihtout SSEDict and update default bsedict to handle list for alpha and acc_lim --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Poojan <34255053+poojanagrawal@users.noreply.github.com> Co-authored-by: MarkGM02 <90350113+MarkGM02@users.noreply.github.com> Co-authored-by: Tom Wagg <tomjwagg@gmail.com> Co-authored-by: elenagonzalez870 <52000594+elenagonzalez870@users.noreply.github.com> Co-authored-by: Vera Eris Del Favero <77068792+xevra@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Duncan B Maclean <146674933+d-maclean@users.noreply.github.com> Co-authored-by: duncan_m <duncan_m@ajax.wireless-1x.unc.edu> Co-authored-by: Katelyn Breivik <kbreivik@sirius.ib.vera.psc.edu> Co-authored-by: Katelyn Breivik <kbreivik@m005.opa.vera.psc.edu>
This is a simple PR that cherry-picks @TomWagg's implementation of the Disberg & Mandel kick prescription into the METISSE-integrate branch. This pull also proposes bumping the minor version to 3.5.1 and notes the addition in the changes.
Examples of the new kicks in action for a population of neutron stars, featuring SSE & METISSE:

I think it's worth noting somewhere that these new kicks are not usable with
kickflag < 0, as the Kiel & Hurley 2009 subroutine doesn't include these changes. If there is demand to add this to the old kick options, I could see to that as well. :)Addendum: I closed #708 because it targeted the
developbranch by accident. My mistake. 😬