Mission statement
GENIE collaboration
Policy documents
GENIE products
Copyright notices
Citing GENIE

Public releases
Global fits & physics tunes
Naming conventions
Associated data releases

User forum
Project incubator

Physics & user manual
Document database

Slack workspace

User mailing list
Developer mailing list

GitHub organization page

Get started
GENIE course

GENIE Incubator

If you work on a development project with the intention of making it publicly available through an official GENIE release, you need a GENIE incubator project. This page explains how to engage with the GENIE development process.

What is the GENIE incubator?

The Incubator is where all actual work above a complexity threshold takes place. It consists of a series of incubator projects.

Incubator projects are in-house development activities or community development efforts overseen by the GENIE scientific and technical leadership. An incubator project is the unique route for inclusion of physics or software developments into GENIE product releases.

Incubator projects may include, but not limited to: the development of a new physics model, the improvement of an existing model, a systematic study, the tuning of a physics component, the development of a new tool or the addition of a new feature to an existing tool, an upgrade of the framework, an improvement of numerical procedure, or a documentation improvement.

Incubator project phases

The process is geared towards fast deployment, while ensuring that all developments are peer reviewed and the usual high GENIE standards on physics correctness, software engineering, computational efficiency and documentation are maintained.

Phase 0: Launch

The process starts with the identification of a GENIE development need, either by member of the GENIE collaboration or a contributor / member of the community. Following a consultation with GENIE leaders, one or more incubator projects may be launched to address the identified GENIE need.

During this phase we make sure that each project has:
Note that an incubator project may be launched even if a team of developers is not yet identified. Such projects, are advertised in the User Forum to solicit community contributions.

Phase 1: R&D

This is the main research and development phase, within the previously agreed scope. Regular updates in GENIE core group meetings are expected, as well as a series of intermediate reviews as agreed.

As a result of the experience gained during this phase, the project definition may be altered. For example, the scope of a development can be reduced, or new requirements can be added. This needs to be agreed both by the developer team and the GENIE leadership.

The developers of a project that achieved its agreed goal meeting its agreed requirements may request the graduation of that project and its inclusion within a GENIE product release. This initiates the Graduation phase.

Phase 2: Graduation

Upon receiving a request for a project graduation, GENIE leaders confirm that the project meets its agreed goals and, on this condition, launch a formal final review.

Reviews take place during video or face-to-face meetings. They are open to all members of the GENIE Collaboration and selected, invited external participants. The reviewed material which is made available well in advance include, as appropriate given the nature of each project:
The reviewers take into account the agreed scope and requirements and give special emphasis, as appropriate, on: All concerns raised during the review, need to be addressed before the project is allowed to graduate. If major concerns are raised, one or more follow up reviews are scheduled.

Phase 3: Integration

Typically, the integration phase is handled by members of the core GENIE development team. The new code is merged into the master version of the corresponding GENIE product and the validation procedure is repeated.

Additional development may commence during the integration phase.

In some instances, work may commence to bridge the gap between the requirements agreed with the project developers and the actual requirements for inclusion in an official GENIE product release. This may include the construction and tuning of a broader comprehensive physics model using a new development, re-factorisations and improvement of interfaces that simplify integration of a new development, or improvements of the computational efficiency. Event generator development requires a unique blend of physics, programming and numerical computing skills, and the expertise of the core GENIE team is in high demand for pushing some of the more complex projects to completion. If the necessary work is judged to be of a considerable complexity, requiring more research & development and necessitating peer reviews, new incubator projects are launched.

Upon completion of the above process, and with the agreement of GENIE leadership, the improved work is merged into release candidate branch.

Current incubator projects

Many dozens of incubator projects, several of which with strong community support, were successfully delivered since the GENIE incubator was launched in 2015, shaping the content of recent GENIE releases.

This demonstrates the power of the GENIE incubator development paradigm whereby community resources are centrally coordinated and supported by the core GENIE group to deliver well-validated, efficient and fully documented simulations for the benefit of the entire neutrino community.

Following the release of GENIE v3.2.0 in February 2022, the status and tasks of new GENIE incubator projects is recorded in the projects page of the GENIE github organisation.