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

adopt features from snewpy #28

Open
JostMigenda opened this issue Jun 14, 2021 · 4 comments
Open

adopt features from snewpy #28

JostMigenda opened this issue Jun 14, 2021 · 4 comments

Comments

@JostMigenda
Copy link
Member

snewpy is a SNOwGLoBES frontend developed by members of the SNEWS 2.0 collaboration. Like SNOwGLoBES, it’s not a replacement for sntools; but it does have features that would be useful in sntools, too:

  • support for more flavour transformations
  • support for more supernova models

Time- and energy-independent flavour transformations should be straightforward to add to sntools, analogous to the current implementation of MSW effect in normal/inverted mass ordering. (However, it will be necessary to change the command line interface to e.g. --transformation=AdiabaticMSW_NMO (instead of --ordering=normal), once additional transformations are available.)

Time- or energy-dependent flavour transformations will require further changes to sntools.

For additional supernova models, I need to check if it’s possible to write an adapter that maps snewpy’s interface to the one expected of an input format in sntools.

@JostMigenda
Copy link
Member Author

First steps are now on the JostMigenda/SNEWPyIntegration branch.

@JostMigenda
Copy link
Member Author

JostMigenda commented Jul 23, 2021

I’ve added the majority of the models and transformations in a PR earlier today.

The following flavor transformations from SNEWPY are not yet supported:

  • NoTransformation and AdiabaticMSW: identical to the transformations already natively supported by sntools (in fact, the native implementations were renamed for consistency)
  • NeutrinoDecay: has energy-dependent transformation propabilities, which requires additional changes to sntools
  • AdiabaticMSWes and NonAdiabaticMSWes: requires additional input parameters (sterile mixing angles)

The following supernova models from SNEWPY are not yet supported:

  • Fornax_2019 and FornaxModel: alternative implementations of the same model; will wait until SNEWPY has decided how to move forward.
  • Janka: inconsistent return type of get_time(), see issue 45 on SNEWPY repo. [deleted in Jankacleanup snewpy#48]
  • Warren_2020: identical to the native warren2020 input format already supported by sntools.

Additional open issues:

  • SNEWPY currently needs to be installed separately by the user. Once it is available on PyPI, it should be added as a regular dependency in requirements.txt and setup.py.
  • Using a supernova model from SNEWPY is currently much slower than a model that’s natively supported by sntools. E.g. using --format SNEWPY-Warren_2020 is about 3× slower than using the native --format warren2020 on the same input file. See the issue on the SNEWPY repo linked above for details.
  • Should the format names in sntools be renamed for consistency with SNEWPY SupernovaModels?

@JostMigenda
Copy link
Member Author

5b11008 improves performance for SNEWPY supernova models, reducing the difference in the Warren_2020 example to under 2×. Still not ideal, but this was probably the lowest-hanging fruit.

@JostMigenda
Copy link
Member Author

JostMigenda commented Dec 10, 2021

Several new models were added to SNEWPY over the last few months:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant