Developer Guidelines

Getting a contribution into CICE/CESM

The Polar Climate Working Group (PCWG) encourages sea model development for the CESM. The current sea ice model in CESM is CICE (http://oceans11.lanl.gov/trac/CICE). CICE developed and maintained by Elizabeth Hunke at Los Alamos National Laboratory (LANL). This document provides a reference for those who are developing CICE with the aim to have improvements included in CESM. The guidelines here comprise a "living document" subject to occasional revisions and updates as procedures evolve or requirements change.

last updated: November 20, 2012

General Recommendations (Suggested best practices)

  1. Informing the relevant CESM personnel of CICE development plans



    If a model development is aimed specifically at CICE within CESM, the developer should inform the principal CICE developer (Elizabeth Hunke, LANL), the PCWG co-chairs and the PCWG liaison (found at http://www.cesm.ucar.edu/working_groups/Polar/) as early as possible in the development process. The developer should discuss plans with NCAR PCWG co-chair and liaison in order to avoid/minimize conflicts with concurrent CICE/CESM development.

     
  2. Code Base and Software Engineering Guidelines

     

    • All CICE development should be compatible with the LANL development guidelines (http://oceans11.lanl.gov/trac/CICE/wiki/CiceCodeModifications).
    • Developments should also satisfy CESM coding guidelines and software engineering requirements.
    • We highly recommend the developer’s code to be checked in a branch on an SVN repository. The branch is maintained by the developer. The developer should starts his/her work with the head of the LANL CICE trunk and during the development process, the developer's code should be updated to the head of the trunk on a regular basis.

Scientific validation

Contributors are responsible for testing their code.

Scientific validation for inclusion in LANL CICE trunk:

  • The contributor should perform all necessary tests required to have their code included in the head of the CICE trunk at LANL.

Scientific validation for inclusion in CESM:

  • Because the CESM version of CICE is based on the LANL version, all CICE development will initially be brought into the CESM framework. When appropriate and possible, major developments brought into CESM CICE code base from the LANL CICE code base will by default be turned off.
  • A 25-year coupled CESM simulation (1850 control) will be performed either by the developer or the PCWG liaison/co-chairs to evaluate the coupled climate impact of major developments. This simulation should be reasonably balanced with the global radiative balance within 0.5 W/m2 at the top of the model. Diagnostics plots with the PCWG diagnostics package (https://svn-ccsm-release.cgd.ucar.edu/model_diagnostics/ice/cice) should be posted for the PCWG scientists to view. If the contribution just adds functionality without changing the simulation, it is only required to demonstrate that the simulation is not adversely affected by the code additions. Computational resources to aid in testing the climate influence of new CICE parameterizations within CESM will be included as a part of National Center for Atmospheric Research (NCAR) Climate Simulation Laboratory (CSL) (http://www2.cisl.ucar.edu/csl) allocation requests.
  • Note that some developments may require further types of simulations (e.g., transient coupled climate) that will be coordinated later on (see: code and results review) with the PCWG co-chairs sand liaison.

Code and results review

  • The developer should present CICE results to the PCWG, most likely at one of the PCWG working group meetings. The presentation should include a summary of the contribution, the tests performed, and scientific results. At this stage, the PCWG will decide which further simulations are needed.

Decision process

  • Based on the review and the input of the PCWG, the PCWG co-chairs will decide if the contribution can be included within CICE/CESM for climate simulations.
  • If the contribution is approved for the trunk, it can be activated either as the default option (out-of- the-box configuration) or as an option. The decision to make the contribution the default or an option will be made by the PCWG co-chairs based on the PCWG input.