SCORPIO 1.9.0
Loading...
Searching...
No Matches
Guide for Contributors

Backward Compatibility

We cannot remove or change a function in the public C or Fortran API. Please create a github issue if a new API is required.

Code Formatting

Some legacy code in the library may not follow the code format specified below

  • Use spaces instead of tabs. 2 Spaces for each indentation unit (tab)
  • Braces start on the same line as the conditional statement
  • Do not omit braces for conditionals with a single statement. It is ok to write the block with a single statement in a single line
  • Use consts instead of MACROs for constants. Prefer inline functions to MACROs
  • Namespace names start with a capital letter and use underscore to combine words, each starting with a capital letter (e.g. namespace My_Namespace{} )
  • Class names start with a capital letter and do not contain underscores in the name (e.g. class Myclass; )
  • Class member function names are lower case and use underscore to combine words (e.g. void foo_bar(void); )
  • Private member variable names are lower case and have an underscore (e.g. int foo_) at the end

Code development

We closely follow the E3SM project software development guidelines

  • Bugs and issues are tracked using github issues and changes are reviewed and merged using github pull requests.
  • User branches that include changes are created on a branch named, GITHUB_USER_NAME/NAME_DESCRIBING_CHANGE . A github pull request is created for merging the development branch to the "master" branch
  • The github repository has a "develop" branch where all the changes are merged and after nightly testing the changes are merged to the "master" branch.
  • Nightly testing of the "develop" and "master" branches is done using Jenkins and the results are available on CDash

Last updated: 11-18-2025