Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add flexible makemodel to EXP (or pyEXP) #70

Open
CarrieFilion opened this issue Apr 2, 2024 · 2 comments
Open

Add flexible makemodel to EXP (or pyEXP) #70

CarrieFilion opened this issue Apr 2, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@CarrieFilion
Copy link
Contributor

There are working makemodel and makemodel_empirical Python functions that exist in the pyEXP-examples/How-To/Recipes/Basis example, but I think that there should be a analogous flexible makemodel and makemodel_empirical functions formally included in either EXP or pyEXP. This would make EXP/pyEXP contain everything that one needs to run simulations. This could just be expanding the MakeModel code that exists within EXP or moving makemodel and makemodel_empirical from the examples into the pyEXP code.

Of course, I can always just link to the relevant pyEXP example, but I really do think that it would be nice to have everything self-contained

@michael-petersen
Copy link
Member

I agree that some sort of functionality to create input models is important to include with EXP. It would make sense to have it be a function inside pyEXP I think; this looks to require a bit of code gymnastics.

makemodel is simply a flexible wrapper that will take an input density profile function, probably this is all that we need? makemodel_empirical is a bit dangerous and would benefit from some additional checking that we may not want to support.

@The9Cat
Copy link
Contributor

The9Cat commented Apr 2, 2024

Yes, it would be nice to have that within pyEXP. There are two ways of doing that:

  1. Write it in C++ and bind it to the module with pybind11
  2. Write it as a function in a primary pyexp module and import the C++ bindings into that

Since there is not currently any direct Python code, I'd prefer (1), basically because I don't want to change everything at this point to support (2). Although that might be the most flexible solution in the end.

@The9Cat The9Cat added the enhancement New feature or request label Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants