Skip to content
Michael Levy edited this page Jun 8, 2014 · 12 revisions

The primary purpose of this wiki is to house the CVMix Developer's Guide document.

Table of contents

  1. Purpose of This Developers Guide
    1. How to contribute to CVMix, a 5 step process
  2. Structure of a CVmix module / how to call CVMix from an OGCM
  • Sequence of calls (init, calc, finalize)
  • Passing/setting parameters
  • Encapsulation of variables in a column
  • Low level calls vs CVMix data structures
  1. Policies for github/git
  • Size/nature of commits
  • Branch names
  • Quality control
    • Regression tests
    • Using existing tests
    • Creating new tests
    • Code documentation
  • Procedures for read-only users (general public)
    • Forking for your own development (needed for new members)
  • Procedures for committing code (read-only users and write-access developers)
    • Using branches
    • Pushing bug fixes (rapid-response pull requests)
    • Pushing a feature request
    • Pushing candidate modules (more strictly reviewed pull requests)
    • Pull requests
  • Becoming a write-access developer
  1. Development Guidelines
  • Consistent naming for modules, procedures, variables, etc
  • Chapter for CVMix scientific description
  1. How to compile CVmix
  2. How to develop a new physics module
  • Structure
  • Documentation
  • Tests
  • Submission process