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

SNEWPY integration #32

Merged
merged 12 commits into from
Jul 23, 2021
Merged

SNEWPY integration #32

merged 12 commits into from
Jul 23, 2021

Conversation

JostMigenda
Copy link
Member

This partially covers #28 and adds support for

  • the CompleteExchange, NonAdiabaticMSWH, TwoFlavorDecoherence (NMO and IMO) and ThreeFlavorDecoherence flavor transformations and
  • the Bollig_2016, Kuroda_2020, Nakazato_2013, OConnor_2015, Sukhbold_2015 and Zha_2021 supernova models

if SNEWPY is installed.

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.
  • Warren_2020: identical to the native warren2020 input format already supported by sntools.

* add Transformation class (this commit mainly moves existing code to a
separate class; more in a followup commit)
* add CompositeFlux class to manage different flavor components
move all argument handling to separate function; delete old code
* rename noosc/normal/inverted options to be consistent with SNEWPy
* add DeprecationAction to handle this smoothly
* add Adapter class to use other transformations from SNEWPy
(basic implementation only, not yet available from the command line)
* currently require "SNEWPY-" prefix, are not yet displayed in help text
* add SNEWPY dependency with extra syntax: 'pip install sntools[snewpy]'
* currently only Nakazato_2013 model, for demonstration
* currently requires "SNEWPY-" prefix, not yet displayed in help text
* performance optimization still TBD
* performance improvements for SNEWPY-inherited models
* remove duplicate code in several input formats
* display SNEWPY formats/transformations only if SNEWPY is installed
* handle SNEWPY/native input formats outside of main function
* fix exception if no --transformation argument was specified
* change default --format to nakazato to match the included sample files
* edit some help messages
use new --transformation argument
@JostMigenda JostMigenda merged commit bfe888f into main Jul 23, 2021
@JostMigenda JostMigenda deleted the JostMigenda/SNEWPyIntegration branch July 23, 2021 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant