Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This space is intended a main page to fulfill and capture the extensive Code Review documentation on all answer changing code features that you want to include in ACME E3SM model code base. Before such a feature can be integrated into the code, it needs to go through the Code Review process that is defined in /wiki/spaces/CNCL/pages/25231511 page . The procedures and pages described below in Instructions exactly follow the defined review process.and implemented here. 


 
Tip
titleInstructions

 Follow this steps to integrate complete the Code Review Process for your answer changing code before introducing it into ACME E3SM code base:

Expand
  1. Give your feature a name that includes the component and short description:
  2. It is recommended that you use the same name as the git branch (as specified on this page: Branch, Tag, and Version name conventions) so the correspondence between this documentation and the code is clear.
  3. If you do not have a branch defined yet, you can also use
      1. Use a format [
    A
      1. W,
    O, L
      1. B, C, P,
    W, S
      1. I ]number_Feature-xyz   that starts with a capital letter of your Group followed by a number (unique consecutive number for your group), followed by underscore then any short feature description, for example: 
    O1
      1. C1_MPAS-Ocean-
    in
      1. new-
    ACME Create
      1. feature,  
    A1_CLUBB
      1. W1_UA_Surface_Flux
    1. (star) Create a main Confluence Page to contain all the documentation on your the new feature to be integrated into
    ACME
    1. E3SM code
    , use
    1. . Use template '
    ACME
    1. E3SM Code Review'
    (to create this page, make sure you are on the Code Review Process Implementation page, click on the three dots (...) icon next to Create icon at the top, blue navigation bar, choose appropriate template and click on 'Create'). Title
    1. or click on → 
      Create from Template
      templateName976519950
      templateId976519950
      buttonLabelCreate "E3SM Code Review" page
    2.  Title it with the name of your feature. This page contains two tables, fill them in as described in the template
      1. A feature dependency table – info from this table will feed the New Features Dependencies Overview page, that will help display the dependencies between feature pull requests
      2. A table with the checklist of all stages of the review and to obtain approvals for each of the stage of the Code Review
        As you work on integrating your feature into
    ACME
      1. E3SM code, step along the Checklist table on your main page, obtain the approvals before going to the next step
    Click
    1. (star) Click on your new feature Code Review main page (created in #2), and as you go through the checklist of the code review process (second table #2.b) create and fill the appropriate pages under the main page
      1. Design Document Confluence page
    for your new code feature  - using
      1. - use template '
    ACME
      1. E3SM Design Document'  or click on → 
        Create from Template
        templateName976520002
        templateId976520002
        buttonLabelCreate "E3SM Design Document" page
      2. Verification , Validation and Performance Phase 1 pages with appropriate templates: '
    ACME
      1. E3SM Code
    Validation
      1. Verification Phase 1' , etc
    ..
      1. : →  
        Create from Template
        templateName976552560
        templateId976552560
        buttonLabelCreate "E3SM Code Verification Phase 1" page
         
        Create from Template
        templateName976552566
        templateId976552566
        buttonLabelCreate "ACME Code Performance Phase 1" page
         
        Create from Template
        templateName976552572
        templateId976552572
        buttonLabelCreate "ACME Code Validation Phase 1" page
      2. Phase 2 Plan - use '
    ACME
      1. E3SM Code Review Phase 2 Plan' (TBD)
      2. Coupled Performance and Coupled Validation pages use '
    ACME
      1. E3SM Feature Coupled Performance ' or'
    ACME
      1. E3SM Feature Coupled Validation'templates (TBD)
    1. When the Phase 1 documentation checklist (table #2.b) is satisfied and you have the approval from a Group Lead (the blue section of the table), you are ready to issue a PR and assign it to an integrator. At that point fill in the blue section in the dependencies table (table #2.a) with the name of the PR integrator's name, and after he integrates the code, provide the integration date.
    2. Phase 2 starts with the Plan document (#3.c). The coupled system integration and testing can and should be done with the aggregate of features, and the planned coupled simulations may validate a combination of feature aggregates if feasible.
    See example documentation in O1_Template-1 example feature documentation.

    (star) Instead of creating your own page as in description, you can use template pages already created for you. Use any pages with name template in them in the Proposed New Features - simply change the template pages name to your feature name and fill in the pages.

    (thumbs up)  For a good examaple, check this competed documentation:  A1 Ozone Hole (Linoz-v2)

    New Feature Dependencies, PR Dates, Git Branch Overview 

    To check dependencies between new features, what blocks them and what do they affect, the dates they are ready for Pull Request (PR), their git branch, date PR was issued, who it was assigned to, when it was integrated into ACME E3SM and the associated ACME E3SM git hash/tag (remember the table is sortable):

    Design Document Overview

    For the quick overview of all design documents, which part is already done, if it is ready for GLs approval, please see:

    ...

    Note
    iconfalse

    V2 Code Features Main Pages

    Page Properties Report
    firstcolumnFeature Main Page
    spaces@all
    headings2.Owner, 6.Issued PR, 8.Integrated,9.Hash/Tag
    pageSize100
    labely1q3tr
    cqllabel = "code_rev_process" and ancestor = "36176475"


    Note
    iconfalse

    V2 Features Design Documents

    Page Properties Report
    firstcolumnDesign Document
    spaces@all
    headings2.Owner, 3.Created, 4.Equ, 5.Ver, 6.Perf, 7.Val, 8.Approver, 9.Approved Date, V2.0
    pageSize100
    labely1q3tr
    cqllabel = "design_doc" and ancestor = "36176475"


    ...

    Warning
    iconfalse

    V1 Declined Code Features Main Pages

    Page Properties Report
    firstcolumnFeature Main Page
    spaces@all
    headings2.Owner, 6.Issued PR, 8.Integrated,9.Hash/Tag
    pageSize100
    labely1q3tr
    cqllabel = "code_rev_process" and

    ...

    ancestor = "36176472"

    ...

    Tip
    iconfalse

    V1 Code Features Main Pages

    Page Properties Report
    firstcolumnFeature Main Page
    spaces@all
    headings2.Owner, 6.Issued PR, 8.Integrated
    pageSize100
    labely1q3tr
    cqllabel = "code_rev_process" and ancestor = "36176459"

    ...

    Children Pages Listing

    Page Tree
    rootCode Review Process Implementation