Last edited '''[[LastModified()]]''' [[PageOutline]] = NEMO Development process: preview and review page = {{{ #!TracForm #!submit_label 'Complete header' || '''Action (number & name):''' || ''[tf.input:action '' 100 1]'' || || '''PI:''' || ''[tf.input:pi]'' || || '''Linked !ticket:''' || ''[tf.input:ticket # 10 1]'' || || '''Previewer(s):''' || ''[tf.input:previewers '' 50 1]'' || || '''Reviewer(s):''' || ''[tf.input:reviewers '' 50 1]'' || }}} {{{ #!TracForm || '''Starting date for preview:''' || ''on [tf.when:2.1] by [tf.who:2.1]'' || || '''Ending date of preview:''' || ''on [tf.form_updated_on:] by [tf.form_updater:]'' || || '''Starting date of review:''' || ''on [tf.when:3.1] by [tf.who:3.1]'' || || '''Ending date of review:''' || ''on [tf.form_updated_on:] by [tf.form_updater:]'' || }}} ---- == Section 1: Detailed description to be completed by the PI == This 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. === Part 1: Detailed description === Describe the goal of development, and the methodology. Add reference documents or publications if relevant. === Part 2: Detailed implementation === ==== 2.1 Describe flow chart of the changes in the code. ==== ==== 2.2 List the F90 files and modules to be changed ==== ==== 2.3 Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules), and description ==== === Part 3: Summary of updates to be done in the reference manual === Using part 1 and 2, define the summary of changes to be done in the NEMO reference manual (tex files): '''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.''' ---- == Section 2: Preview to be completed by the previewer(s) == 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 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.''' {{{ #!TracForm #!subcontext preview || Questions || Answer || Comment || || '''Does the previewer agree with the proposed methodology?''' || [tf.radio:2.1 true] Yes [tf.radio:2.1 false] No [tf.radio:2.1 nonapplicable] NR || [tf.textarea:2.1 'Write here' 20 5] || || '''Does the previewer agree with the proposed flowchart and list of routines to be changed?''' || [tf.radio:2.2 true] Yes [tf.radio:2.2 false] No [tf.radio:2.2 nonapplicable] NR || [tf.textarea:2.2 'Write here' 20 5] || || '''Does the previewer agree with the proposed new list of variables, including agreement with coding rules?''' || [tf.radio:2.3 true] Yes [tf.radio:2.3 false] No [tf.radio:2.3 nonapplicable] NR || [tf.textarea:2.3 'Write here' 20 5] || || '''Does the previewer agree with the proposed summary of updates in reference manual?''' || [tf.radio:2.4 true] Yes [tf.radio:2.4 false] No [tf.radio:2.4 nonapplicable] NR || [tf.textarea:2.4 'Write here' 20 5] || || '''... ... ...''' || [tf.radio:2.X true] Yes [tf.radio:2.X false] No [tf.radio:2.X nonapplicable] NR || [tf.textarea:2.X 'Write here' 20 5] || }}} [[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. ---- == Section 3: Review to be completed by the reviewer(s) == Once 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 successful review is needed to schedule the merge of this development into the future NEMO release during next Merge Party (usually in November). === Test section (to be completed be PI) === {{{ #!TracForm #!subcontext preview || Questions || Answer || Comment || || Can this change be shown to produce expected impact? (if option activated)? || [tf.radio:3.1 true] Yes [tf.radio:3.1 false] No [tf.radio:3.1 nonapplicable] NR || [tf.textarea:3.1 'Write here' 20 5] || || Can this change be shown to have a null impact? (if option not activated) || [tf.radio:3.2 true] Yes [tf.radio:3.2 false] No [tf.radio:3.2 nonapplicable] NR || [tf.textarea:3.2 'Write here' 20 5] || || Detailed results of restartability and reproducibility when the option is activated. Please indicate the configuration used for this test || [tf.radio:3.3 true] Yes [tf.radio:3.3 false] No [tf.radio:3.3 nonapplicable] NR || [tf.textarea:3.3 'Write here' 20 5] || || Detailed results of SETTE tests (restartability and reproducibility for each of the reference configuration) || [tf.radio:3.4 true] Yes [tf.radio:3.4 false] No [tf.radio:3.4 nonapplicable] NR || [tf.textarea:3.4 'Write here' 20 5] || || Results of the required bit comparability tests been run: Are there no differences when activating the development? || [tf.radio:3.5 true] Yes [tf.radio:3.5 false] No [tf.radio:3.5 nonapplicable] NR || [tf.textarea:3.5 'Write here' 20 5] || || If some differences appear, is reason for the change valid/understood? || [tf.radio:3.6 true] Yes [tf.radio:3.6 false] No [tf.radio:3.6 nonapplicable] NR || [tf.textarea:3.6 'Write here' 20 5] || || If some differences appear, is the !ticket describing in detail the impact this change will have on model configurations? || [tf.radio:3.7 true] Yes [tf.radio:3.7 false] No [tf.radio:3.8 nonapplicable] NR || [tf.textarea:3.7 'Write here' 20 5] || || Is this change expected to preserve all diagnostics? || [tf.radio:3.8 true] Yes [tf.radio:3.8 false] No [tf.radio:3.8 nonapplicable] NR || [tf.textarea:3.8 'Write here' 20 5] || || If no, is reason for the change valid/understood? || [tf.radio:3.9 true] Yes [tf.radio:3.9 false] No [tf.radio:3.9 nonapplicable] NR || [tf.textarea:3.9 'Write here' 20 5] || || Are there significant changes in run time/memory? || [tf.radio:3.10 true] Yes [tf.radio:3.10 false] No [tf.radio:3.10 nonapplicable] NR || [tf.textarea:3.10 'Write here' 20 5] || || ... ... ... || [tf.radio:3.XX true] Yes [tf.radio:3.XX false] No [tf.radio:3.XX nonapplicable] NR || [tf.textarea:3.XX 'Write here' 20 5] || }}} === Code changes and documentation === {{{ #!TracForm #!subcontext preview || Question || Answer || Comment || || Is the proposed methodology now implemented? || [tf.radio:3.11 true] Yes [tf.radio:3.11 false] No [tf.radio:3.11 nonapplicable] NR || [tf.textarea:3.11 'Write here' 20 5] || || Are the code changes in agreement with the flowchart defined at Preview step? || [tf.radio:3.12 true] Yes [tf.radio:3.12 false] No [tf.radio:3.12 nonapplicable] NR || [tf.textarea:3.12 'Write here' 20 5] || || 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.radio:3.13 true] Yes [tf.radio:3.13 false] No [tf.radio:3.13 nonapplicable] NR || [tf.textarea:3.13 'Write here' 20 5] || || Is the in-line documentation accurate and sufficient? || [tf.radio:3.14 true] Yes [tf.radio:3.14 false] No [tf.radio:3.14 nonapplicable] NR || [tf.textarea:3.14 'Write here' 20 5] || || Do the code changes comply with NEMO coding standards? || [tf.radio:3.15 true] Yes [tf.radio:3.15 false] No [tf.radio:3.15 nonapplicable] NR || [tf.textarea:3.15 'Write here' 20 5] || || Is the !ticket of development documented with sufficient details for others to understand the impact of the change? || [tf.radio:3.16 true] Yes [tf.radio:3.16 false] No [tf.radio:3.16 nonapplicable] NR || [tf.textarea:3.16 'Write here' 20 5] || || Are the reference manual tex files now updated following the proposed summary in preview section? || [tf.radio:3.17 true] Yes [tf.radio:3.17 false] No [tf.radio:3.17 nonapplicable] NR || [tf.textarea:3.17 'Write here' 20 5] || || 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.radio:3.18 true] Yes [tf.radio:3.18 false] No [tf.radio:3.18 nonapplicable] NR || [tf.textarea:3.18 'Write here' 20 5] || || ... ... ... || [tf.radio:3.XXX true] Yes [tf.radio:3.XXX false] No [tf.radio:3.XXX nonapplicable] NR || [tf.textarea:3.XXX 'Write here' 20 5] || }}} === Review Summary === {{{ #!TracForm #!subcontext preview * '''Is the review fully successful?''' * '''If not, please indicate date and what is still missing?''' }}} Once review is successful, 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.