-
Notifications
You must be signed in to change notification settings - Fork 31
Development Guidelines
###Consistent naming for modules, procedures, variables, etc
Notes:
- “this directory” is
$CVMix/templates
- only
cvmix_MODULE.F90
exists at this time
Format of the files needed to include a new mixing method in CVMix
- See
cvmix_MODULE.F90
in this directory for a template for what goes in thesrc/shared/
directory- Public routines:
cvmix_init_MODULE
,cvmix_coeffs_MODULE
,cvmix_put_MODULE
- Public routines:
- See
cvmix_MODULE_drv.F90
in this directory for a template for what goes in thesrc/drivers/
directory- subroutine
cvmix_MODULE_driver()
- also need to edit
cvmix_driver.F90
to add option to call routine - need
reg_tests/
subdirectory with namelist, shell script
- subroutine
- See
cvmix_MODULE.tex
in the directory/manual
for a template for what goes in the CVMix manual.
Requirements
- Use CVMix kind number for real variables (
cvmix_r8
is double precision)
- Two-space [soft] tabs
- No more than 79 characters per line
- Include developer contact information in all Fortran files
- Include protex documentation
- Include author contact info in Fortran module and chapter for description
- Variable names in CVMix data types should be descriptive, with words separated by capital letters rather than underscores (
OceanDepth
rather thanocean_depth
)
###Chapter for CVMix scientific description
For each module or method included in CVMix, there is a scientific documentation included as part of the CVMix manual. This documentation chapter can be brief, amounting to the citation of a few key papers, or more thorough and pedagogical (e.g., see the KPP chapter). The author of any new scheme should recognize that many users first go to the documentation. It is therefore important to provide a readable pedagogical overview of the scheme to ensure intelligent use of the CVMix module. Complexity of the documentation is directly related to complexity of the parameterization.