Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

All E3SM developers should be familiar with the basics of development with git including cloning the E3SM repo, making a branch, committing changes and submitting a Pull Request on Github.  Also writing good commit messages and pull request descriptions.   For more info see, the Git TutorialDevelopment Getting Started GuideDevelopment Reference and Commit and PR message template.

Group Leads and Epic leads coordinate and schedule development relevant to their group and/or epic.   They should have developers assigned to work on features in the order necessary to meet deliverables in the Roadmaps (the leads might also be the developers).  Epic leads should make sure developers are finishing their work and getting it merged to the E3SM "master" branch.

Mailing Lists:  Note that getting a confluence account does not automatically add you to the relevant mailing lists.   All users should periodically review the list of mailing lists and join any that may be relevant:  Email Lists

Integrators:  every group has 2 or 3 Integrators who take completed feature branches and, if they meet the requirements, merge them to master.  See Integrator Guide OLD for more info.

The Coupled Model Group established the timeline for major new features (especially from two or more groups) that are needed for the model, relevant testing criteria, and when the master should be tagged (using the Branch, Tag, and Version name conventions) all timed to meet E3SM deliverables as defined in the Roadmaps.  Integrators should be aware of the Roadmap for their component.

...

Developing with externals:  some code in E3SM has its primary development in another repo.  See Externals in the E3SM code

"master" is always stable:  Our code development workflow ensure that master is always stable and can be used to start new development.

...

Coding with performance in mind: Fortran Performance Best Practices