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
    1. Sequence of calls (init, calc, finalize)
    • Passing/setting parameters
    • Encapsulation of variables in a column
    • Low level calls vs CVMix data structures
  3. Policies for github/git
    1. 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
  4. Development Guidelines
    1. Consistent naming for modules, procedures, variables, etc
    • Chapter for CVMix scientific description
  5. How to compile CVmix
  6. How to develop a new physics module
    1. Structure
    • Documentation
    • Tests
    • Submission process