= ROBUST-10 Evolution of Collaborative Development Environment = This is the color code for the fulfilment of this form: {{{#!comment Be careful switching between 'textarea' & 'wysiwyg' view with the following table }}} {{{#!td style='background:lightgrey' PI(S) }}} {{{#!td style='background:lightblue' Previewer(s) }}} {{{#!td style='background:lightgreen' Reviewer(s) }}} ---- [[PageOutline(2)]] 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]] == Abstract == This section should be completed before starting to develop the code, in order to find agreement on the method beforehand. {{{ #!TracForm #!subcontext abstract #!submit_label 'Submit Abstract' #!keep_history yes '''__Details__'''[[BR]] {{{#!th align=left Action }}} {{{#!td [tf.input:action -id=piform '${WORKING_GROUP|INSTITUTE}-${ACTION_NUMBER} $Title' 100] }}} |- {{{#!th align=left style='background:lightgrey' PI(S) }}} {{{#!td [tf.input:pi -id=piform 'Names' 100] }}} |- {{{#!th align=left {{{#!html Ticket }}} }}} {{{#!td style='background:lightgrey' #1679 }}} |- {{{#!th align=left {{{#!html Branch }}} }}} {{{#!td style=background:lightgrey [source:/branches/2016/dev_r${FORK_REVISION}_ROBUSTNESS-10_CDE] }}} |- {{{#!th align=left style='background-color:lightblue' Previewer(s) }}} {{{#!td [tf.input:previewers -id=piform 'Names' 100] }}} |- {{{#!th align=left style='background-color:lightgreen' Reviewer(s) }}} {{{#!td [tf.input:reviewers -id=piform 'Names' 100] }}} [[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)]] '''__Description__''' [tf.textarea:description -id=piform -class=taform 'Describe the goal of development, and the methodology.\n\nAdd reference documents or publications if relevant.' 0 60] '''__Implementation__''' [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 80] '''__Reference manual updates__''' [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).' 0 5] '''Updated on [tf.form_updated_on:] by [tf.form_updater:]''' }}} 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. == Preview == === Preview discussions === {{{#!td Comments from Previewer 1: Andrew Coward: The task description and background context is well explained and the implementation plan appears to be well formulated. However, this is a difficult plan for system team officers to preview since we are, at best, 'knowledgable users' of the Source Code Management and TRAC systems and we have little experience of installing and configuring them. I am happy to rely on Nicolas' expertise for that but it is clear that we must all contribute to content and design decisions at some stages. The plan, as written, lacks clarity as to when critical points will be reached that require collective effort. I suggest adding a Gantt chart with the best estimates of when tasks will be completed and showing when greater involvement from the system team may be necessary. This will help NEMO officers to schedule their commitments accordingly. Is there an opportunity here to ensure that the new system is more compatible with FCM so that we can avoid all the 'property change' commits that plague the current system? Does anyone have ideas how to do that? Also, it would be good to remove the reference manual PDF from any commits but have it rebuilt automatically if anything in DOC is changed. Can we add hook scripts to do that? Comments from Previewer 2: Simona Flavoni: I agree with the idea of removing moderation (less of work), but I've just a question. Nemo mailing list will disappear, so we will loose aid of users that sometimes answer to questions? or not? Or probably users will use intensively discussions to exchange informations by each other? If all questions will be done with the creation of a ticket, and these tickets are visible only by nemo_st... that implies that only nemo_st members will answer to tickets? Comments from Previewer 3: Clement Bricaud I agree with the idea to simplify the web site and to gather all the others functionalities linked to the nemo developers and ST in the wiki. I am ok to remove the nemo@... and to transfer it in tickets and forum. all the tickets will be visible by all users ? }}} 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. {{{ #!TracForm #!subcontext preview_ #!submit_label 'Submit Preview' || Questions || Answer || Comment || || 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] || || 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] || || 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] || || 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] || || ... ... ... || [tf.select:2.X -id=preform '' Yes No NR] || [tf.textarea:2.Xc -id=preform 'Add a comment?' 50 10] || '''Updated on [tf.form_updated_on:] by [tf.form_updater:]''' }}} Once all "YES" have been reached, the PI can start the development into his development branch. == Tests == Once the development is done, the PI should complete this section below and ask the reviewers to start their review in the lower section. {{{ #!TracForm #!subcontext tests #!submit_label 'Submit Tests' || Questions || Answer || Comment || || 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] || || 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] || || 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] || || 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] || || 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] || || 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] || || 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] || || 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] || || 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] || || 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] || || ... ... ... || [tf.select:3.XX -id=piform '' Yes No NR] || [tf.textarea:3.XXc -id=piform 'Add a comment?' 50 10] || '''Updated on [tf.form_updated_on:] by [tf.form_updater:]''' }}} == Review == A successful review is needed to schedule the merge of this development into the future NEMO release during next Merge Party (usually in November). {{{ #!TracForm #!subcontext review #!submit_label 'Submit Review' '''__Code changes and documentation__'''[[BR]] || Question || Answer || Comment || || 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] || || 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] || || 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] || || 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] || || 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] || || 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] || || 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] || || 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] || || ... ... ... || [tf.select:3.XX -id=revform '' Yes No NR] || [tf.textarea:3.XXc -id=revform 'Add a comment?' 50 10] || '''__Review Summary__'''[[BR]] Is the review fully successful?[tf.select:status -id=revform '' Yes No][[BR]] [tf.textarea:comment -id=revform 'If not, please indicate what is still missing.' 50 10] '''Updated on [tf.form_updated_on:] by [tf.form_updater:]''' }}} Once review is successful, the development must be scheduled for merge during next Merge Party Meeting.