The POSYDON v2 code release and corresponds to the version associated with POSYDON Data Release 2 and the code paper (Andrews et al. 2025).
Known bugs
- Within the initial-final interpolation, we guarantee that correlated output parameters are consistent (mass, radius, luminosity). However, we do not ensure that the final mass of a star is smaller than its ZAMS mass (See #288 for more details).
- Classification. Different classifiers are independent and do not guarantee consistency between types. This means the
mt_history
can give a "stable mass transfer", butinterp_class_HMS_HMS
can give "unstable mass transfer". These are independently categorised. Within the grids these are correct though and consistent, only in the initial-final interpolation this can happen. This also happens for the SN interpolation:CO_type
andSN_type
. Consistency is not guaranteed.
What's Changed
- Cleaning obsolete variables by @ssbvr in #1
- Solved minor bug affecting initial_RLOF post CE systems by @ssbvr in #3
- Fix occasional duplicate saving in pop synth by @ssbvr in #2
- Reading initial mass from headers in singlestar grids by @kkovlakas in #4
- migrate inlist submodule to new repository by @ssbvr in #6
- Update docs by @ssbvr in #7
- Fix default semplers to match population defaults by @ssbvr in #8
- Fix import data_download in step_SN by @ssbvr in #9
- Rename GitHub repositories by @ssbvr in #14
- Update submodule inlists by @ssbvr in #15
- Repair submodules by @ssbvr in #22
- fix "x" and "+" marker size in 2D plots for matplotlib==3.5.0 by @ssbvr in #19
- add missing flags for plot2D by @ssbvr in #27
- fix submission script for POSYDON v2 by @ssbvr in #24
- fix initial_RLO_fix by @mkruckow in #28
- Further fixes on iniRLO by @mkruckow in #32
- Small update to BinaryPop by @ka-rocha in #34
- Propagate documentation change from main by @ssbvr in #31
- Prevent grid post processing from breaking by @ssbvr in #33
- Compress mesa by @philipp-rajah in #29
- Allowing for missing profiles in single grids if requested. by @kkovlakas in #36
- Support multi metallicity for v2 datasets by @ssbvr in #37
- Fix typo in posydon-run-grid by @mkruckow in #44
- Fixes in psy grid by @mkruckow in #46
- v2 grids post-processing pipeline by @ssbvr in #42
- Three new magnetic braking prescriptions in step_detached.py by @sgossage in #43
- Zepei reverse logic by @ZepeiX in #51
- Plot add PISN by @mkruckow in #50
- add PISN inlist commit for the opacity_max fix of v2 grids in the processing pipeline by @ssbvr in #59
- Fixed more dict syntax for kwargs in docs by @celiotine in #53
- Fixed dict syntax for kwargs1, kwargs2 definitions by @celiotine in #52
- some grid fixes by @mkruckow in #60
- Add slurm dependency by @mkruckow in #64
- Small changes in common function and matching post-MS to He in detached step by @ZepeiX in #45
- GZIP support for files in MESA grids by @kkovlakas in #23
- Bug fix: dependency by @mkruckow in #66
- isolated evolution step by @ezapartas in #35
- small changes to solve issues in accepted PR35 by @ezapartas in #74
- Updating modules to newest versions for python 3.11 by @kasdaglie in #57
- Detection probability calculation by @michaelzevin in #82
- [insane PR 🤯] POSYDON v2 DCO population synthesis workflow by @ssbvr in #63
- Catch corrupted mesa files for creating a psygrid by @mkruckow in #72
- making some if statements clear by @kasdaglie in #83
- adding profile interpolation by @elizabethteng in #58
- Post processing pipeline prepare master ini by @mkruckow in #91
- Allow grid end at He depletion (for massive stars) by @mkruckow in #89
- Support arbitrary MODEL for double compact object rates by @ssbvr in #95
- Add support for post processing an arbitrary number of core-collapse models + introduce H envelope option to step_SN + v2 data pop synth debugged by @ssbvr in #70
- Initially single stars and merged isolated evolution by @kasdaglie in #92
- Fixes to orbital_kick in step_SN by @chase-kimball in #39
- updates to profile interpolation by @elizabethteng in #101
- Seth TPAGBwind pipeline by @sgossage in #102
- Update step_SN.py by @devimisra in #108
- Update setup.py by @devimisra in #107
- Fix problems with missing histories by @mkruckow in #109
- Introducing GRB properties and rate calculations by @ssbvr in #103
- profile interpolation update by @elizabethteng in #111
- Allowing for relative paths in the pipeline by @mkruckow in #113
- Update step_detached.py, corrected order of magnitude on RVJ83 [small fix] by @sgossage in #114
- Fix coefficinent SFRH Neijssel+19 by @ssbvr in #112
- Plot popsyn values over grid slices by @ssbvr in #115
- Add multi panel plots to plot2D by @mkruckow in #118
- fix grid post processing of WD and BH above PISN by @ssbvr in #119
- Fix missing Z values in case of missing history files by @mkruckow in #120
- Hdf5 refactor - data types for population output by @ka-rocha in #88
- remove wrong code for kick in eccentric orbit by @ssbvr in #121
- Fix Typo in scrubbing.py by @mkruckow in #123
- Update binarypopulation.py by @mkruckow in #128
- Merge 124 and 125 by @ssbvr in #126
- Konst removing init imports by @kkovlakas in #132
- introducing step_CO_HeMS_RLO by @ssbvr in #122
- add rerun type: thermohaline_mixing by @mkruckow in #136
- Vhd multiple by @WeneKouarfate in #139
- Create deploy-github-pages-unstable.yml by @kkovlakas in #145
- Correcting the boolean logic in deciding single/binary evolution in the detached step by @kkovlakas in #140
- Update deploy-github-pages-unstable.yml by @kkovlakas in #146
- redirect keeps info from before by @ezapartas in #141
- changed the Thorne-Zytkow objects correctly to non_existent_companion… by @ezapartas in #142
- Update deploy-github-pages-unstable.yml by @kkovlakas in #147
- TF2 remake and support reverse MT flag in TF12 by @ssbvr in #137
- Single stars updates by @kasdaglie in #110
- Introducing POSYDON v2 documentation by @ssbvr in #144
- Update deploy-github-pages.yml to point to development by @kkovlakas in #172
- Using a child process to copy data from work to storage directory by @mkruckow in #157
- Concatenate fix for casting current scalar_names by @maxbriel in #167
- Add requested tutorials by @ssbvr in #169
- rewrite PSyGrid.rerun by @mkruckow in #176
- Minor edits on documentation by @kkovlakas in #182
- Not printing metallicity value if verbose is False by @kkovlakas in #180
- Removing duplicated code and simplifying if statements in CEE step by @kkovlakas in #181
- Update README.md - dev by @tassos25 in #189
- Matthias documentation additions by @mkruckow in #166
- Upgrades on documentation makefile by @mkruckow in #186
- pipeline updates for reruns by @mkruckow in #177
- Synthetic Population: MPI removal + DataFrame fix by @maxbriel in #175
- Option for losing mass during cee that leads to merging by @ezapartas in #193
- Copy instead of move the work directory in case you need it later by @mkruckow in #207
- add casting to float64 to
orbital_separation_from_period
by @maxbriel in #212 - Change loc call to list to always return a pandas.DataFrame by @maxbriel in #216
- Numerical precision fix failed by @mkruckow in #210
- rerun for He stars starting past ZAMS by @mkruckow in #227
- fixing issues for mismatched CC/RLO/S1/S2 output and S2 initially more massive by @celiotine in #219
- Add error for returning to step_detached after leaving it. by @maxbriel in #222
- Fixing minor bugs that were coming up in population runs. by @kasdaglie in #231
- HDF5 read fix by @maxbriel in #229
- Deepcopy
SimulationProperties
by @maxbriel in #233 - Hotfix for multi-metallicity runs by @maxbriel in #234
- Allow non-burning stars in MT by @astroJeff in #206
- minor bug fixes to profile interpolation by @elizabethteng in #223
- Copy column list for MESA by @mkruckow in #228
- Add loop checks for other CO grids by @maxbriel in #239
- correct np.max function usage by @maxbriel in #250
- We can't use different criteria in MESA and POSYDON to detect the beginning of RLO by @mkruckow in #249
- CO and SN_type consistency checks by @maxbriel in #240
- Inhomogeneous binary array by @ezapartas in #251
- change itemsizes for event_f and mass_transfer_case_f by @celiotine in #253
- Tilt tracking by @chase-kimball in #129
- add 'stable_reverse_MT' and interpolation_class for CO by @ZepeiX in #170
- String len in [step_names] columns by @dimsour94 in #257
- CO-H(e)MS period outside grid being failed fix by @maxbriel in #255
- Refinements in the
compress-mesa
tool by @kkovlakas in #241 - Keeping the WD abundances for the step_merged by @kasdaglie in #261
- Revert "add 'stable_reverse_MT' and interpolation_class for CO (#170)" by @maxbriel in #269
- Fix get_combined_tilt calculation by @maxbriel in #274
- Remove legacy code realte to integration to BSE by @tassos25 in #277
- Fixes in postprocessing by @mkruckow in #237
- Updates on running MESA grids by @mkruckow in #263
- Allows non-Roche lobe overflowing systems in the RLO grids by @kkovlakas in #217
- Posydon error checking by @celiotine in #287
- Update synthetic_population.py by @ZepeiX in #293
- change name of slurm files by @mkruckow in #294
- Kicks on massless remnants by @mkruckow in #297
- Remove old and not used code: downsampling_report by @mkruckow in #301
- Add functions to read initial values from file by @mkruckow in #299
- Add extra hooks columns to binary.restore() by @celiotine in #306
- Fixing unstable webdeployment by @kkovlakas in #305
- More fixes in post-processing pipeline by @mkruckow in #281
- Added new rerun type: dedt_energy_eqn by @sgossage in #275
- Generalize and improve on compress MESA by @mkruckow in #289
- Population Analysis Framework Refactor by @maxbriel in #267
- Update absolute import support for ini files. by @ka-rocha in #310
- Further change to make MESA's and POSYDON's RLO detection the same by @mkruckow in #317
- Fixes to error checking by @celiotine in #320
- Rerun for He stars and rapid mass transfer (CO-HeMS and moderate mass ratio HMS-HMS) by @sgossage in #313
- fix filenamaes in generated
slurm_submit.sh
for popsynth by @maxbriel in #330 - Stretch the pipeline to avoid too busy filesystem by @mkruckow in #329
- Zepei fix interpolator by @ZepeiX in #325
- Add correction for eccentric pre SN orbits for SNflag2 by @mkruckow in #316
- step_SN mass check; force manual calculation if not matching by @maxbriel in #324
- Update termination_flags.py by @ZepeiX in #332
- Update common_functions.py by @ZepeiX in #335
- put MESA condition back by @mkruckow in #334
- Update setup.py by @tassos25 in #336
- missing lambda in final values for CO-HeMS grids by @ZepeiX in #338
- Podsiadlowski spelling + docstring by @mkruckow in #349
- Replace scipy.integrate.simps call with scipy.integrate.simpson call by @maxbriel in #344
- Add user modules by @mkruckow in #296
- Dynamical creation of export dirs by @mkruckow in #339
- Another place where we need to adjust the RLO condition by @mkruckow in #348
- Use correct PISN mass range by @mkruckow in #352
- IF interpolator
out_nan_keys
as an input by @maxbriel in #342 - Keep abundaces in envelope at collapse & M4,mu4 values by @ezapartas in #340
- replace np.NaN and np.NAN by np.nan by @mkruckow in #357
- Fixing a small typo in grids IO module. by @kkovlakas in #358
- matplotlib changes by @ezapartas in #322
- Add POSYDON Warnings by @mkruckow in #300
- new rerun types LBV_wind and LBV_wind+* by @mkruckow in #363
- Suport ZAMS binaries with initial eccentricity by @ka-rocha in #337
- Fix RLO warnings in detached step by @celiotine in #371
- Reruns with no age limit for low mass stars by @mkruckow in #372
- TransientPopulation overplot crash fix by @maxbriel in #374
- fix get_redshift_from_cosmic_time() function by @celiotine in #381
- Replace job_start for running grids by @mkruckow in #380
- Add an escape option if value cannot be found in the single star grids by @maxbriel in #385
- Population() fix for large memory usage when reading files by @maxbriel in #386
- Initial RLO boundary limit by @mkruckow in #389
- Small Population fixes by @maxbriel in #390
- add catch to suppress python warning in detached step by @celiotine in #392
- Add LBV_wind+dedt+hepulse rerun by @sgossage in #393
- Add default value for orbital_scheme by @mkruckow in #394
- Fix hepulse rerun -- point mass variable storage seg. faults by @sgossage in #396
- remove failed binary states from flow chart by @celiotine in #391
- Relax number formating for mesa inputs by @mkruckow in #401
- Update IF_interpolation.py by @philipp-rajah in #399
- Limit numpy version by @maxbriel in #410
- Add "last" to TF12 for stable MT by @mkruckow in #405
- update profile interpolation for consistency with paper by @elizabethteng in #397
- rename "stripped_He_Core_H_burning" state and add to flow chart by @celiotine in #404
- allow double He-rich star binaries in RLO to merge by @celiotine in #414
- update star states in step_SN by @celiotine in #416
- Automatic testing of installation by @elizabethteng in #425
- always initialize values for separation and orbital period in BinaryStar by @celiotine in #426
- error catch for He-rich stars in RLO onto H-rich stars by @celiotine in #423
- New normalized_pop_mass.py file by @dimsour94 in #376
- Update README.md to include v2 paper by @mkruckow in #434
- update installation test to include M1 and intel chips for macos by @elizabethteng in #428
- Add default legend titles based on the termination flag by @mkruckow in #432
- Change to release on publish by @maxbriel in #452
- Update publish-to-anaconda.yml by @maxbriel in #455
- small fix to BBH selection function by @maxbriel in #403
- Tutorial updates with recent PRs + feedback from collaboration meeting by @maxbriel in #406
- Failed merging by @mkruckow in #457
- Fix log vs log10 typo by @maxbriel in #460
- remove "redirect" steps from history dataframe by @celiotine in #421
- Start to get unit tests back: utils by @mkruckow in #382
- typo correction: period_change_stabe_MT -> period_change_stable_MT by @mkruckow in #467
- PSygrid force int input by @maxbriel in #440
- Backpropagate changes on main/max_requirements into development by @maxbriel in #456
- update zenodo url and md5 by @astroJeff in #470
- error check for undefined states in BinaryStar by @celiotine in #468
- Add missing import of ModelError by @mkruckow in #480
- No check for WD formation in double CE case by @mkruckow in #484
- handle H-rich RLO binaries and clarify verbosity of detached step by @celiotine in #430
- Grid slice plotting system selection fix by @maxbriel in #475
- add missing binaries to UNDEFINED_STATES in flow chart by @celiotine in #489
- Update issue templates by @astroJeff in #491
- Update installation-guide.rst to include note about adding conda-forge by @astroJeff in #495
- Protect run_psycris_sequence, from misc imports by @ka-rocha in #436
- add more dump_rate info to docs by @celiotine in #500
- replace scipy interp1d with alternatives by @celiotine in #433
- Add check + flip for decreasing arrays in new interpolators by @maxbriel in #502
- chi_eff NaN replace by 0 by @maxbriel in #501
- updating the data_download routines slightly by @astroJeff in #496
- Use of
PATH_*
variables by @mkruckow in #505 - Fixes to Troubleshooting & FAQ Docs by @celiotine in #517
- Add files to installation by @mkruckow in #526
- Fix logic flow in matching by @celiotine in #521
- Add accreted_He_Shell_H_burning stars to flow by @celiotine in #522
- Issues with undefined values of SN_MODELS by @mkruckow in #482
- replace isnan by @mkruckow in #527
- Fix logic for single star fraction population normalisation by @maxbriel in #509
- Pulsational Pair-Instability top-down mass loss approach by @maxbriel in #417
- Blandford-Znajek jet energy calculation by @maxbriel in #429
- Split popsyn plotting into separate components for future modularity by @maxbriel in #476
- Use information about dominating star in infer_mass_transfer_case by @mkruckow in #532
- Request higher sphinx version by @mkruckow in #536
- GitHub action fix by @maxbriel in #537
- Update MESA-grid tutorials by @mkruckow in #535
- Modular data download by @mkruckow in #507
- Decouple ECSN treatment from SN_MODELS by @mkruckow in #504
- Add WDs to infer_star_state by @mkruckow in #512
- Ensure python version 3.11 by @mkruckow in #541
- Upgrade setuptools by @mkruckow in #542
- Avoid massless remnants in detached binaries by @mkruckow in #548
- clarify population_params_default.ini by @maxbriel in #544
- Add check for valid MODELS in posydon-setup-popsyn by @maxbriel in #545
- Add total_mass_h1 and total_mass_he4 by @mkruckow in #529
- Add unit tests: grids by @mkruckow in #435
- Add unit test for get_MODEL_NAME by @mkruckow in #553
- Mesa api doc by @kasdaglie in #520
- Rename step9 to stepF by @mkruckow in #558
- Update test to install posydon extras by @mkruckow in #556
- FAQ about slow
conda
by @maxbriel in #551 - Unifying the code for finding grid boundaries and checking validity in case of ignored data. by @kkovlakas in #271
- Add check that profile is well defined in SN by @mkruckow in #559
- Popsyn check & rescue script by @maxbriel in #550
- Allow any grid to start at RLO by @mkruckow in #569
- update docs: installation, processing pipeline, ML components by @elizabethteng in #513
- Move bin code to utils: compress-mesa by @mkruckow in #564
- Update install_extras.yml by @elizabethteng in #576
- fix install_extras github actions workflow by @elizabethteng in #578
- POSYDON docs build multiple version + link them by @maxbriel in #554
- Hotfixes new documentation build by @maxbriel in #585
- posydon-popsyn multi-jobID fix by @maxbriel in #581
- Hotfix documentation-build again by @maxbriel in #588
- Fix fetching all tags of the repository by @maxbriel in #593
- Bump miniconda version to v3 and add proper bash shell initiation by @maxbriel in #594
- Change ECSN default to Tauris+15 by @mkruckow in #571
- Add supernova engine by @mkruckow in #597
- Add eccentricity as option for parsing grids by @ka-rocha in #575
- Change output folder +
keep_history
proper phrasing by @maxbriel in #595 - F2 f population docs by @ZepeiX in #525
- Change supernova models by @mkruckow in #598
- SFH bug fix, rewrite, and basic tests by @maxbriel in #543
- Update README.md by @mkruckow in #599
- Changes in the MESA documentation by @ezapartas in #524
- Re-writing step-CE for improved flow and logic by @astroJeff in #574
- Check for array-like data in
BinaryStar.to_df()
in case of failed binaries by @sgossage in #580 - Cancel signal alarm in case binary failed by @maxbriel in #608
- Documentation fixes by @maxbriel in #605
- Fix rescue resubmit merge job + exit gracefully if no resubmit necessary by @maxbriel in #609
- No test of max_number_of_runs by @mkruckow in #617
- Add tutorial dataset name + placeholder information in dataset by @maxbriel in #612
- Update dataset definitions for v2 data release by @mkruckow in #604
- Change m2 minimum to 0.5, our DR2 HMS-HMS minimum mass by @maxbriel in #606
- change path of tutorial dataset by @maxbriel in #620
- Final Documentation PR by @maxbriel in #618
- version v2.0.0 by @maxbriel in #622
- Documentation fix by @maxbriel in #623
New Contributors
- @ka-rocha made their first contribution in #34
- @philipp-rajah made their first contribution in #29
- @celiotine made their first contribution in #53
- @ezapartas made their first contribution in #35
- @kasdaglie made their first contribution in #57
- @michaelzevin made their first contribution in #82
- @chase-kimball made their first contribution in #39
- @devimisra made their first contribution in #108
- @WeneKouarfate made their first contribution in #139
- @dimsour94 made their first contribution in #257
Full Changelog: v1.0.5...v2.0.0