lwang-astro / PeTar

PeTar is a high-performance N-body code for modelling the evolution of star clusters and tidal streams, including the effect of galactic potential, dynamics of binary and hierarchical system, single and binary stellar evolution.
MIT License
71 stars 19 forks source link

MOBSE from it repo #13

Closed GiacobboNicola closed 3 years ago

GiacobboNicola commented 3 years ago

I added the possibility to download MOBSE from its own repo. This will help me to maintain the MOBSE in PeTar. I checked my fork and it seems to work properly.

lwang-astro commented 3 years ago

What is the purpose of your download script? Do you want to download MOBSE instead of using the version on PeTar GitHub for users, or use this routine for development only by yourself?

I don't recommend the former one because it breaks the principle of Git. Everytime when user use this routine, the MOBSE directory will change. The users will have a risk that cannot pull update anymore because of file changes (merge request instead). This will bring chaos and confusion of version control. If you want users to always use your MOBSE Git version. I would recommend to do similar to what I did for the Galpy package interface. The Galpy source code is not in PeTar. Users always need to install Galpy separately, like SDAR and FDPS. Users need to update Galpy themselves when any update is available. In this case, it is necessary to delete all MOBSE Fortran source codes in PeTar (mobse directory in bse-interface) and only provide configure option to check the source path of MOBSE. However, there are some routines that were not in original BSE and MOBSE. I will not be possible to maintain those routines in MOBSE in the future. One possibility to solve this issue is to move those routines out of bse and mobse directory and put in a common place that all BSE based codes share the routines. Even so, I think your MOBSE version is still not the same as the standalone version because the argument of e.g. evolv2 has changed to match the interface of PeTar.

If your purpose is only for development yourself, i.e., everytime when you use the download script, you will pull all changes of MOBSE in PeTar to the original repo, there is no need to add this download script to the original repo, unless you would like me to use it to update MOBSE in the future.

GiacobboNicola commented 3 years ago

What is the purpose of your download script? Do you want to download MOBSE instead of using the version on PeTar GitHub for users, or use this routine for development only by yourself?

MOBSE is a stand-alone code and it is still evolving. My idea was to update each change in my repo instead that directly in PeTar and give the user the possibility to download it. After reading your comment, I understood that's not so easy as I thought and maybe even counterproductive. I wonder whether a possibility could be to use a submodule (what do you think?).

To conclude, I agree to keep working as we did until now and I will use this script only for development.

lwang-astro commented 3 years ago

I think you can develop your own version separately and only update the PeTar version when you think it is well tested. The submodule is bit complicated, I would suggest to keep the current way.

Windows 10 版のメ`ルhttps://go.microsoft.com/fwlink/?LinkId=550986から送信

差出人: GNicolamailto:notifications@github.com 送信日•r: 2021年3月1日 20:08 宛先: lwang-astro/PeTarmailto:PeTar@noreply.github.com CC: lwang-astromailto:longwang.astro@live.com; Commentmailto:comment@noreply.github.com 件名: Re: [lwang-astro/PeTar] MOBSE from it repo (#13)

What is the purpose of your download script? Do you want to download MOBSE instead of using the version on PeTar GitHub for users, or use this routine for development only by yourself?

MOBSE is a stand-alone code and it is still evolving. My idea was to update each change in my repo instead that directly in PeTar and give the user the possibility to download it. After reading your comment, I understood that's not so easy as I thought and maybe even counterproductive. I wonder whether a possibility could be to use a submodule (what do you think?).

To conclude, I agree to keep working as we did until now and I will use this script only for development.

― You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flwang-astro%2FPeTar%2Fpull%2F13%23issuecomment-787864656&data=04%7C01%7C%7C4ad20a0864bb4622598208d8dca25a90%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637501937144290742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=jzPNMp4sgf0KJdqBWKdlqH9%2FGIyed91JBcSf4SLOebg%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACB2PKR2HUVNIR4RRCFHIWDTBNYTDANCNFSM4YIKR42Q&data=04%7C01%7C%7C4ad20a0864bb4622598208d8dca25a90%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637501937144300739%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2BaXrPjxhsRMBKetAI9TRdnKwMAb7Z4NnXiFf8cNWVU4%3D&reserved=0.