POSYDON is a next-generation single and binary-star population synthesis code incorporating full stellar structure and evolution modeling with the use of MESA.
I do have a new master student working with POSYDON. Here in Geneva the students often use Windows instead of a Unix system. Currently, it looks like the only (bad) working solution is to get a linux environment on WIndows and run all in there.
I'd like to give here a record of issues coming up on Windows, please feel free to add stuff, if you have people using POSYDON on Windows:
Always use os.path.join to gets paths and use it in the way it is meant to work on all platforms.
e.g. os.path.join(PATH_TO_POSYDON, "posydon/popsyn/population_params_default.ini") from the tutorial won't work and should read os.path.join(PATH_TO_POSYDON, "posydon", "popsyn", "population_params_default.ini") There might more of those issues in the tutorials and/or the code itself.
The signal handlers won't work on Windows. Hence we'd need an alternative there or at least an option to switch it off. The following commands from posydon/binary_evol/binarystar.pysignal.signal(signal.SIGALRM, signal_handler), signal.alarm(MAXIMUM_STEP_TIME), signal.alarm(0) only work on Unix.
There is a bigger issue with the pkls which can't easily be loaded on Windows because the module we use has missing, but needed functions in the Windows version.
I do have a new master student working with POSYDON. Here in Geneva the students often use Windows instead of a Unix system. Currently, it looks like the only (bad) working solution is to get a linux environment on WIndows and run all in there.
I'd like to give here a record of issues coming up on Windows, please feel free to add stuff, if you have people using POSYDON on Windows:
os.path.join
to gets paths and use it in the way it is meant to work on all platforms.os.path.join(PATH_TO_POSYDON, "posydon/popsyn/population_params_default.ini")
from the tutorial won't work and should reados.path.join(PATH_TO_POSYDON, "posydon", "popsyn", "population_params_default.ini")
There might more of those issues in the tutorials and/or the code itself.signal.signal(signal.SIGALRM, signal_handler)
,signal.alarm(MAXIMUM_STEP_TIME)
,signal.alarm(0)
only work on Unix.