Version 5 (modified by smueller, 7 days ago) (diff)

ENHANCE-14_smueller_OSMOSIS_streamlining

Last edition: 05/18/20 21:42:22 by smueller

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.

  1. Summary
  2. Preview
  3. Tests
  4. Review

Summary

Action ENHANCE-14_smueller_OSMOSIS_streamlining
PIs S. Müller, G. Nurser
Digest Standardisation and optimisation of the OSMOSIS OBL scheme implementation
Dependencies
Branch source:/NEMO/branches/{YEAR}/dev_r{REV}_{ACTION_NAME}
Previewer M. Bell
Reviewer M. Bell
Ticket #2353

Description

Action ENHANCE-14_smueller_OSMOSIS_streamlining forms one of two strands of work (action PHYPRO-01_agn_OSMOSIS_science being the other) that follow up the 2019-WP action VALID-02-GeorgeN-evalOSMOSIS, whose code developments have not yet been merged back into the trunk. This new action aims to update the implementation of the OSMOSIS surface-boundary-layer scheme resulting from action VALID-02_GeorgeN-evalOSMOSIS (as implemented in NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/ZDF/zdfosm.F90) by improving its computational efficiency, by making it compilable in AGRIF-enabled configurations, by improving its compliance with NEMO coding standards and readability, and by including it in the SETTE test suite.

Implementation

The development branch for 2019-WP action VALID-02_GeorgeN-evalOSMOSIS has recently been synchronized with source:/NEMO/trunk@12925 (changesets [12928] and [12934]). Thus, it should be readily possible to cleanly transfer the code developments made in action VALID-02_GeorgeN-evalOSMOSIS into a new development branch that branches off from an up-to-date version of source:/NEMO/trunk in order to form the basis for the source-code "streamlining" activities of action 2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining.

The main purpose of action ENHANCE-14_smueller_OSMOSIS_streamlining is the computational-efficiency enhancement of subroutine zdf_osm of module zdfosm. A preliminary analysis in the context of action VALID-02_GeorgeN-evalOSMOSIS suggested a substantial computational cost resulting from the replacement of the established vertical-mixing scheme by the version of the OSMOSIS surface-boundary-layer scheme developed in this 2019-WP action. In ENHANCE-14_smueller_OSMOSIS_streamlining, using a suitable model configuration, a detailed timing analysis of subroutine zdf_osm is planned to be carried out, followed by a thorough review of the source code of module zdfosm. Based on this analysis and the source-code review, an exploration of modifications with apparent potential to reduce computational cost of subroutine zdf_osm, followed by the implementation of suitable computational-efficiency improvements, is proposed.

Fruther "streamlining" of the source code of subroutine zdf_osm is proposed. This includes enhancements of the conformance with NEMO coding conventions and of code readability, as well as the enabling of the compilation of the zdfosm module in AGRIF-enabled configurations (the current version from the 2019-WP action VALID-02_GeorgeN-evalOSMOSIS fails to compile in the SETTE test configurations AGRIF, `ICE_AGRIF', and 'VORTEX').

Finally, activation of the OSMOSIS surface-boundary-layer scheme in at least one configuration of the SETTE test suite is proposed.

Documentation updates

No or only minor documentation updates are expected to result from this action. The "streamlining" activities are expected to transform the source code of module zdfosm without changing its function, and thus should not prompt any modification of the NEMO manual or user guide. However, inclusion of the OSMOSIS scheme in SETTE, for example through its activation in a reference configuration, may require minor updates of the respective documentation.

Preview

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).
Then an iterative process should take place between PI and previewer(s) in order to find a consensus

Possible bottlenecks:

  • the methodology
  • the flowchart and list of routines to be changed
  • the new list of variables wrt coding rules
  • the summary of updates in literature

Once an agreement has been reached, preview is ended and the PI can start the development into his branch.

Tests

Once the development is done, the PI should complete the tests section below and after ask the reviewers to start their review.

This part should contain the detailed results of SETTE tests (restartability and reproducibility for each of the reference configuration) and detailed results of restartability and reproducibility when the option is activated on specified configurations used for this test

Regular checks:

  • Can this change be shown to produce expected impact (option activated)?
  • Can this change be shown to have a null impact (option not activated)?
  • Results of the required bit comparability tests been run: are there no differences when activating the development?
  • If some differences appear, is reason for the change valid/understood?
  • If some differences appear, is the impact as expected on model configurations?
  • Is this change expected to preserve all diagnostics?
  • If no, is reason for the change valid/understood?
  • Are there significant changes in run time/memory?

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).

Assessments:

  • Is the proposed methodology now implemented?
  • Are the code changes in agreement with the flowchart defined at preview step?
  • Are the code changes in agreement with list of routines and variables as proposed at preview step?
    If, not, are the discrepancies acceptable?
  • Is the in-line documentation accurate and sufficient?
  • Do the code changes comply with NEMO coding standards?
  • Is the development documented with sufficient details for others to understand the impact of the change?
  • Is the project literature (manual, guide, web, …) now updated or completed following the proposed summary in preview section?

Finding:

Is the review fully successful? If not, please indicate what is still missing


Once review is successful, the development must be scheduled for merge during next Merge Party Meeting.