New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Developers/DevProcess (diff) – NEMO

Changes between Version 77 and Version 78 of Developers/DevProcess


Ignore:
Timestamp:
2018-11-05T18:52:00+01:00 (6 years ago)
Author:
nemo
Comment:

Reverted to version 11.

Legend:

Unmodified
Added
Removed
Modified
  • Developers/DevProcess

    v77 v78  
    1 = Form page for development work = 
     1Last edited [[Timestamp]] 
    22 
     3[[PageOutline]] 
    34 
    4 == Help == 
    5 A wiki page associated with a given action should be created in `wiki/${YEAR}WP/${WORKING_GROUP|INSTITUTE}-${ACTION_NUMBER}_${PI}` using this template. '''Each editor (PI/Previewer/Reviewer) complete its section inside the form fields and save its modifications by clicking on the 'Save' button at the end of the section''' (last modification record will be updated just above it).[[BR]] 
    6  
    7 This is the '''color code''' for the fulfilment of this form: 
    8 {{{#!td style='background:lightgrey' 
    9 '''PI(S)''' 
    10 }}} 
    11 {{{#!td style='background:lightblue' 
    12 '''Previewer(s)''' 
    13 }}} 
    14 {{{#!td style='background:lightgreen' 
    15 '''Reviewer(s)''' 
    16 }}} 
    17  
    18 '''There is absolutely no risk for all form content to make any modification in the wiki page as long as you edit out of `{{{TracForm ... }}}` processor'''. The data of a form field is stored in a different database from the wiki page, so you can delete a version or submit a new one without danger.[[BR]] 
    19  
    20 '''For the Trac links to associated !ticket & development branch, it is mandatory to edit the page in `textarea` view'''. The `wysiwyg` view will alter the interpretation of the Trac processors `{{{#!th ... }}}` or `{{{#!td ... }}}` in the table.[[BR]] 
    21 ''To keep a preview, you can tick the box `edit side-by-side` at top right of the editing frame. It will part your screen with the editing view on the left and the preview on the right so you can control your changes. If you get by default the 'wysiwyg' view, this is due to your last editing work and can be changed in a simple manner.'' 
     5= NEMO Development process: preview and review page = 
     6|| '''Name and number of action as listed in workplan:''' || ''To be completed here'' || 
     7|| '''PI of the development:''' || ''To be completed here'' || 
     8|| '''Number and link to !ticket opened for this development:''' || ''To be completed here'' || 
     9|| '''Previewer(s) name(s):''' || ''To be completed here'' || 
     10|| '''Reviewer(s) name(s):''' || ''To be completed here'' || 
     11|| '''Starting date for preview:''' || ''To be completed here'' || 
     12|| '''Ending date of preview:''' || ''To be completed here'' || 
     13|| '''Starting date of review:''' || ''To be completed here'' || 
     14|| '''Ending date of review:''' || ''To be completed here'' || 
    2215 
    2316---- 
     17== Section 1: Detailed description to be completed by the PI == 
     18This section should be completed by the PI of the development, before starting to develop the code, in order to find agreement on the method and the implementation beforehand. 
    2419 
    25 [[PageOutline(2)]] 
     20=== Part 1: Detailed description === 
     21Describe the goal of development, and the methodology. Add reference documents or publications if relevant. 
    2622 
    27 The PI is responsible to closely follow the progress of the action, and especially to contact NEMO project manager if the delay on preview (or review) are longer than the 2 weeks expected.[[BR]] 
     23=== Part 2: Detailed implementation === 
     24==== 2.1 Describe flow chart of the changes in the code. ==== 
     25==== 2.2 List the F90 files and modules to be changed ==== 
     26==== 2.3 Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules), and description ==== 
     27=== Part 3: Summary of updates to be done in the reference manual === 
     28Using part 1 and 2, define the summary of changes to be done in the NEMO reference manual (tex files): 
    2829 
    29 == Abstract == 
     30'''END of PI's section: once the PI has completed this section, he should send a mail to the previewer(s), asking them to preview the work within two weeks, and add the date in the Starting date of Preview line of table above.''' 
    3031 
    31 This section should be completed before starting to develop the code, in order to find agreement on the method beforehand. 
     32---- 
     33== Section 2: Preview to be completed by the previewer(s) == 
     34Since the preview step must be completed before the PI starts the coding, the previewer(s)  answers are expected to be completed within the two weeks after the PI has sent the request to the previewer(s), see start and end dates of preview above.[[BR]]'''For each question, an iterative process should take place between PI and previewer(s) in order to reach a "YES" answer for each of the following questions.''' 
    3235 
    33 {{{ 
    34 #!TracForm 
    35 #!subcontext abstract 
    36 #!submit_label 'Save Abstract' 
    37 #!keep_history yes 
    38 '''__Details__'''[[BR]] 
    39 {{{#!th align=left 
    40 Action 
    41 }}} 
    42 {{{#!td 
    43 [tf.input:action -id=piform '${WORKING_GROUP|INSTITUTE}-${ACTION_NUMBER} $Title' 100] 
    44 }}} 
    45 |- 
    46 {{{#!th align=left style='background:lightgrey' 
    47 PI(S)  
    48 }}} 
    49 {{{#!td 
    50 [tf.input:pi -id=piform 'Names' 100] 
    51 }}} 
    52 |- 
    53 {{{#!th align=left 
    54 {{{#!html 
    55 <font style='background-color:#fcb; color:#500'>Ticket</font> 
    56 }}} 
    57 }}} 
    58 {{{#!td style='background:lightgrey' 
    59 #XXXX 
    60 }}} 
    61 |- 
    62 {{{#!th align=left 
    63 {{{#!html 
    64 <font style='background-color:#fcb; color:#500'>Branch</font> 
    65 }}} 
    66 }}} 
    67 {{{#!td style='background:lightgrey' 
    68 [source:/branches/$YEAR/dev_r${FORK_REVISION}_${WORKING_GROUP|INSTITUTE}${ACTION_NUMBER}_${PURPOSE}] 
    69 }}} 
    70 |- 
    71 {{{#!th align=left style='background-color:lightblue' 
    72 Previewer(s) 
    73 }}} 
    74 {{{#!td 
    75 [tf.input:previewers -id=piform 'Names' 100] 
    76 }}} 
    77 |- 
    78 {{{#!th align=left style='background-color:lightgreen' 
    79 Reviewer(s) 
    80 }}} 
    81 {{{#!td 
    82 [tf.input:reviewers -id=piform 'Names' 100] 
    83 }}} 
    84 [[span(To enabling the !ticket and the source links related to your action, edit the form like a ordinary wiki page to hardcode them inside the table, style=background-color:#fcb;color:#500)]] 
     36|| Questions || Discussion || Answer [[BR]]("YES" or "NO") || 
     37|| '''Does the previewer agree with the proposed methodology?''' || || || 
     38|| '''Does the previewer agree with the proposed flowchart and list of routines to be changed?''' || || || 
     39|| '''Does the previewer agree with the proposed new list of variables, including agreement with coding rules?''' || || || 
     40|| '''Does the previewer agree with the proposed summary of updates in reference manual?''' || || || 
    8541 
    86 '''__Description__''' 
    87  [tf.textarea:description -id=piform -class=taform 'Describe the goal of development, and the methodology.\n\nAdd reference documents or publications if relevant.' 0 20] 
    88 '''__Implementation__''' 
    89  [tf.textarea:implementation -id=piform -class=taform 'Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition.' 0 20] 
    90 '''__Reference manual and web pages updates__''' 
    91  [tf.textarea:manual -id=piform -class=taform 'Using part 1 and 2, define the summary of changes to be done in the NEMO reference manual (tex files), and in the content of web pages.' 0 20] 
     42[[BR]]Once all "YES" have been reached, Ending date of preview should be added in table above, and the PI can start the development into his development branch. 
    9243 
    93 '''Updated on [tf.form_updated_on:] by [tf.form_updater:]''' 
    94 }}} 
     44---- 
     45== Section 3: Review to be completed by the reviewer(s) == 
     46Once the development is done, the PI should complete the tests section below and ask the reviewers to start their review, and add the date in the table above. A sucessful review is needed to schedule the merge of this development into the future NEMO release during next Merge Party (usually in November). 
    9547 
    96 Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks. 
     48=== Test section (to be completed be PI) === 
     49|| Question || Discussion || Answer || 
     50|| Can this change be shown to produce expected impact? (if option activated)? || || || 
     51|| Can this change be shown to have a null impact? (if option not activated) || || || 
     52|| Detailed results of restartability and reproducibility when the option is activated. Please indicate the configuration used for this test || || || 
     53|| Detailed results of SETTE tests (restartability and reproducibility for each of the reference configuration) || || || 
     54|| Results of the required bit comparability tests been run: Are there no differences when activating the development? || || || 
     55|| If some differences appear, is reason for the change valid/understood? || || || 
     56|| If some differences appear, is the !ticket describing in detail the impact this change will have on model configurations? || || || 
     57|| Is this change expected to preserve all diagnostics? || || || 
     58|| If no, is reason for the change valid/understood? || || || 
     59|| Are there significant changes in run time/memory? || || || 
    9760 
    98 == Preview == 
     61=== Code changes and documentation === 
     62|| Question || Discussion || Answer || 
     63|| Is the proposed methodology now implemented? || || || 
     64|| Are the code changes in agreement with the flowchart defined at Preview step? || || YES/NO || 
     65|| Are the code changes in agrement with list of routines and variables as proposed at Preview step?[[BR]]If, not, are the discrepencies acceptable? || || YES/NO || 
     66|| Is the in-line documentation accurate and sufficient? || || YES/NO || 
     67|| Do the code changes comply with NEMO coding standards? || || YES/NO || 
     68|| Is the !ticket of development documented with sufficient details for others to understand the impact of the change? || || YES/NO || 
     69|| Are the reference manual tex files now updated following the proposed summary in preview section? || || YES/NO || 
     70|| Is there a need for some documentation on the web pages (in addition to in-line and reference manual)?[[BR]]If yes, please describe and ask PI. A yes answer must include all documentation available. || || YES/NO || 
    9971 
    100 Since the preview step must be completed before the PI starts the coding, the previewer(s) answers are expected to be completed within the two weeks after the PI has sent his request.[[BR]]For each question, an iterative process should take place between PI and previewer(s) in order to reach a "YES" answer for each of the following questions. 
     72=== Review Summary === 
     73 * '''Is the review fully sucessful?''' 
     74 * '''If not, please indicate date and what is still missing?''' 
    10175 
    102 {{{ 
    103 #!TracForm 
    104 #!subcontext preview_ 
    105 #!submit_label 'Save Preview' 
    106 || Questions || Answer || Comment || 
    107 || Does the previewer agree with the proposed methodology? || [tf.select:2.1 -id=preform '' Yes No NR] || [tf.textarea:2.1c -id=preform 'Add a comment?' 50 10] || 
    108 || Does the previewer agree with the proposed flowchart and list of routines to be changed? || [tf.select:2.2 -id=preform '' Yes No NR] || [tf.textarea:2.2c -id=preform 'Add a comment?' 50 10] || 
    109 || Does the previewer agree with the proposed new list of variables, including agreement with coding rules? || [tf.select:2.3 -id=preform '' Yes No NR] || [tf.textarea:2.3c -id=preform 'Add a comment?' 50 10] || 
    110 || Does the previewer agree with the proposed summary of updates in reference manual? || [tf.select:2.4 -id=preform '' Yes No NR] || [tf.textarea:2.4c -id=preform 'Add a comment?' 50 10] || 
    111 || ... ... ... || [tf.select:2.X -id=preform '' Yes No NR] || [tf.textarea:2.Xc -id=preform 'Add a comment?' 50 10] || 
    112  
    113 '''Updated on [tf.form_updated_on:] by [tf.form_updater:]''' 
    114 }}} 
    115  
    116 Once all "YES" have been reached, the PI can start the development into his development branch. 
    117  
    118 == Tests == 
    119  
    120 Once the development is done, the PI should complete this section below and ask the reviewers to start their review in the lower section. 
    121  
    122 {{{ 
    123 #!TracForm 
    124 #!subcontext tests 
    125 #!submit_label 'Save Tests' 
    126 || Questions || Answer || Comment || 
    127 || Can this change be shown to produce expected impact? (if option activated)? || [tf.select:3.1 -id=piform '' Yes No NR] || [tf.textarea:3.1c -id=piform 'Add a comment?' 50 10] || 
    128 || Can this change be shown to have a null impact? (if option not activated) || [tf.select:3.2 -id=piform '' Yes No NR] || [tf.textarea:3.2c -id=piform 'Add a comment?' 50 10] || 
    129 || Detailed results of restartability and reproducibility when the option is activated. Please indicate the configuration used for this test || [tf.select:3.3 -id=piform '' Yes No NR] || [tf.textarea:3.3c -id=piform 'Add a comment?' 50 10] || 
    130 || Detailed results of SETTE tests (restartability and reproducibility for each of the reference configuration) || [tf.select:3.4 -id=piform '' Yes No NR] || [tf.textarea:3.4c -id=piform 'Add a comment?' 50 10] || 
    131 || Results of the required bit comparability tests been run: Are there no differences when activating the development? || [tf.select:3.5 -id=piform '' Yes No NR] || [tf.textarea:3.5c -id=piform 'Add a comment?' 50 10] || 
    132 || If some differences appear, is reason for the change valid/understood? || [tf.select:3.6 -id=piform '' Yes No NR] || [tf.textarea:3.6c -id=piform 'Add a comment?' 50 10] || 
    133 || If some differences appear, is the !ticket describing in detail the impact this change will have on model configurations? || [tf.select:3.7 -id=piform '' Yes No NR] || [tf.textarea:3.7c -id=piform 'Add a comment?' 50 10] || 
    134 || Is this change expected to preserve all diagnostics? || [tf.select:3.8 -id=piform '' Yes No NR] || [tf.textarea:3.8c -id=piform 'Add a comment?' 50 10] || 
    135 || If no, is reason for the change valid/understood? || [tf.select:3.9 -id=piform '' Yes No NR] || [tf.textarea:3.9c -id=piform 'Add a comment?' 50 10] || 
    136 || Are there significant changes in run time/memory? || [tf.select:3.10 -id=piform '' Yes No NR] || [tf.textarea:3.10c -id=piform 'Add a comment?' 50 10] || 
    137 || ... ... ... || [tf.select:3.XX -id=piform '' Yes No NR] || [tf.textarea:3.XXc -id=piform 'Add a comment?' 50 10] || 
    138  
    139 '''Updated on [tf.form_updated_on:] by [tf.form_updater:]''' 
    140 }}} 
    141  
    142 == Review == 
    143  
    144 A successful review is needed to schedule the merge of this development into the future NEMO release during next Merge Party (usually in November). 
    145  
    146 {{{ 
    147 #!TracForm 
    148 #!subcontext review 
    149 #!submit_label 'Save Review' 
    150 '''__Code changes and documentation__'''[[BR]] 
    151 || Question || Answer || Comment || 
    152 || Is the proposed methodology now implemented? || [tf.select:3.11 -id=revform '' Yes No NR] || [tf.textarea:3.11c -id=revform 'Add a comment?' 50 10] || 
    153 || Are the code changes in agreement with the flowchart defined at Preview step? || [tf.select:3.12 -id=revform '' Yes No NR] || [tf.textarea:3.12c -id=revform 'Add a comment?' 50 10] || 
    154 || Are the code changes in agreement with list of routines and variables as proposed at Preview step?[[BR]]If not, are the discrepancies acceptable? || [tf.select:3.13 -id=revform '' Yes No NR] || [tf.textarea:3.13c -id=revform 'Add a comment?' 50 10] || 
    155 || Is the in-line documentation accurate and sufficient? || [tf.select:3.14 -id=revform '' Yes No NR] || [tf.textarea:3.14c -id=revform 'Add a comment?' 50 10] || 
    156 || Do the code changes comply with NEMO coding standards? || [tf.select:3.15 -id=revform '' Yes No NR] || [tf.textarea:3.15c -id=revform 'Add a comment?' 50 10] || 
    157 || Is the !ticket of development documented with sufficient details for others to understand the impact of the change? || [tf.select:3.16 -id=revform '' Yes No NR] || [tf.textarea:3.16c -id=revform 'Add a comment?' 50 10] || 
    158 || Are the reference manual tex files now updated following the proposed summary in preview section? || [tf.select:3.17 -id=revform '' Yes No NR] || [tf.textarea:3.17c -id=revform 'Add a comment?' 50 10] || 
    159 || Is there a need for some documentation on the web pages (in addition to in-line and reference manual)?[[BR]]If yes, please describe and ask PI. A yes answer must include all documentation available. || [tf.select:3.18 -id=revform '' Yes No NR] || [tf.textarea:3.18c -id=revform 'Add a comment?' 50 10] || 
    160 || ... ... ... || [tf.select:3.XX -id=revform '' Yes No NR] || [tf.textarea:3.XXc -id=revform 'Add a comment?' 50 10] || 
    161 '''__Review Summary__'''[[BR]] 
    162 Is the review fully successful?[tf.select:status -id=revform '' Yes No][[BR]] 
    163 [tf.textarea:comment -id=revform 'If not, please indicate what is still missing.' 50 10] 
    164  
    165 '''Updated on [tf.form_updated_on:] by [tf.form_updater:]''' 
    166 }}} 
    167  
    168 Once review is successful, the development must be scheduled for merge during next Merge Party Meeting. 
     76Once review is sucessful, the of end of review should be added in table at top of the page, and the development must be scheduled for merge during next Merge Party Meeting.