If you’re working on a development project that you intend to make publicly available
as part of an official GENIE release, you will need to register a GENIE Incubator project.
This page outlines how to engage with the GENIE development process
and contribute to future releases.
What is the GENIE incubator?
The Incubator is the designated space where all development work exceeding a certain
complexity threshold is carried out. It is structured as a collection of focused incubator projects.
Incubator projects are internal or community-led development efforts,
overseen by the GENIE scientific and technical leadership.
They represent the exclusive pathway for integrating physics or software developments
into official GENIE product releases.
Incubator projects may include, but are not limited to:
the development of new physics models,
improvements to existing models,
systematic studies,
tuning of physics components,
development of new tools or enhancements to existing ones,
framework upgrades,
improvements to numerical procedures, or
documentation enhancements.
Incubator project phases
The process is designed to enable rapid deployment,
while ensuring that all developments undergo peer review
and adhere to GENIE’s high standards for
physics accuracy, software engineering, computational efficiency, and documentation quality.
Phase 0: Launch
The process begins with the identification of a GENIE development need,
either by a member of the GENIE collaboration or a contributor from the wider community.
After consultation with GENIE leadership,
one or more incubator projects may be initiated to address the identified need.
During this phase, we ensure that each project has:
A fully defined, agreed-upon, and documented scope
and set of milestones.
Clearly defined, agreed-upon, and documented requirements,
including those related to physics validation, tuning, software engineering,
computational efficiency, and documentation, as appropriate.
A clear reporting structure and a plan for collaboration reviews
that cover both the physics and technical dimensions of the work.
Note that an incubator project may be launched even if a development team has not
yet been identified. Such projects are announced in the User Forum to solicit
community contributions.
Phase 1: R&D
This is the main research and development phase, carried out within the previously agreed scope.
Regular updates are expected at GENIE core group meetings, along with a series of
intermediate reviews, as agreed.
Based on the experience gained during this phase, the project definition may evolve.
For example, the development scope might be narrowed, or new requirements may be introduced.
Any such changes must be agreed upon by both the development team and the GENIE leadership.
Once a project has successfully met its agreed goals and fulfilled its requirements,
the developers may request its graduation and inclusion in an official GENIE product release.
This marks the beginning of the Graduation phase.
Phase 2: Graduation
Upon receiving a graduation request, GENIE leadership will verify that the project has fulfilled its
agreed goals and, if so, initiate a formal final review.
These reviews are conducted via video conference or in-person meetings.
They are open to all members of the GENIE Collaboration,
as well as selected invited external participants.
All review materials are made available well in advance and typically include, as appropriate:
Clean, well-documented source code.
Validation programs, with documentation sufficient for any GENIE collaborator to run them.
Archive of communications with theorists (including original code, if applicable).
A concise summary document that includes:
(a) Validation results,
(b) A table summarizing code changes,
(c) Notable assumptions implemented in the code,
(d) Suggestions for future tuning or model integration, and
(e) Recommendations for assigning systematic uncertainties.
This list is not exhaustive, but serves as a guide to ensure consistency and transparency.
The reviewers evaluate the project with respect to its agreed scope and requirements,
placing particular emphasis, as appropriate, on:
Correctness and performance, based on the previously agreed validation criteria.
Robustness and adherence to sound software engineering practices.
Availability of sufficient and clear documentation, in all relevant forms.
All concerns raised during the review must be fully addressed before the project can graduate.
If significant issues are identified, one or more follow-up reviews may be scheduled.
Phase 3: Integration
Typically, the integration phase is carried out by members of the core GENIE development team.
During this phase, the new code is merged into the master branch of the relevant GENIE product,
and the full validation procedure is repeated to ensure consistency and quality.
Further development may be undertaken during the integration phase if required:
In some cases, additional work is needed to bridge the gap between the original project scope
and the requirements for inclusion in an official GENIE release.
This may involve building and tuning comprehensive models, improving interfaces,
or enhancing computational efficiency. Given the complexity of such tasks, the core GENIE team’s
expertise is often essential. If the effort is substantial and warrants further R&D and peer review,
new incubator projects are launched.
Once the process is complete and approved by GENIE leadership,
the development is merged into a release candidate branch.
Current incubator projects
Since its launch in 2015, the GENIE incubator has successfully delivered dozens
of projects — many of them with strong community backing.
This process has shaped the content of recent
GENIE releases.
This highlights the effectiveness of the GENIE incubator model,
in which community-driven development is centrally coordinated and supported by the
core GENIE team to produce well-validated, efficient, and fully documented simulations
for the benefit of the global neutrino community.”