ENHANCE-14_smueller_OSMOSIS_streamlining

Last edition: 02/22/21 18:21:09 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. Implementation and 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 PHYPRO-01_agn_OSMOSIS_science
Branches source:/NEMO/branches/2020/dev_r13787_OSMOSIS_IMMERSE/, source:/NEMO/branches/2020/dev_r14122_ENHANCE-14_smueller_OSMOSIS_streamlining/
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 further developed in actions VALID-02_GeorgeN-evalOSMOSIS (as originally implemented in NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser) and |PHYPRO-01_agn_OSMOSIS_science (as implemented in source:/NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser_4.0@13858]) by improving its computational efficiency, by making it compilable in configurations that make use of AGRIF, 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, source:/NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/, has been superseded by source:/NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser_4.0/, which also contains updates made in the context of ongoing OSMOSIS development PHYPRO-01_agn_OSMOSIS_science. It should be readily possible to cleanly transfer the code developments made in this NEMO v4.0-based development branch into a new development branch based on 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 resulting from action PHYPRO-01_agn_OSMOSIS_science 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 ensuring of the compilation of the zdfosm module in AGRIF-enabled configurations (the version from the 2019-WP action VALID-02_GeorgeN-evalOSMOSIS failed 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.

Implementation and tests

The developments of the OSMOSIS boundary-layer scheme implementation associated with actions VALID-02_GeorgeN-evalOSMOSIS and PHYPRO-01_agn_OSMOSIS_science from source:/NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser_4.0@13858 have been ported ro r13747 of the NEMO trunk ([13867,13872]) and patched to ensure successful SETTE tests with ln_zdf_osm = .true. in branch source:/NEMO/branches/2020/dev_r13787_OSMOSIS_IMMERSE ([13885,13894,13900]); the resulting source:/NEMO/branches/2020/dev_r13787_OSMOSIS_IMMERSE@14043 has been merged into the trunk with changeset [14045]. This appears to have resolved previous compilation issues of the OSMOSIS development in AGRIF-enabled configurations.

"Streamlining" of the OSMOSIS boundary-layer scheme implementation (source:/NEMO/branches/2020/dev_r14122_ENHANCE-14_smueller_OSMOSIS_streamlining):

Changeset Description WED025 SETTE WED025
[14126] Baseline TKE/EVD
[14136,14149,14265] Temporary adjustments OSMOSIS
[14260,14264] Bugfix OSMOSIS
[14144,14270] Update of default settings/parameters OSMOSIS Reference (r14270)
[14280] Computational efficiency (zdf_osm_vertical_average) OSMOSIS Unchanged
[14305] Computational efficiency (memory-usage reduction) OSMOSIS Unchanged
[14316] Computational efficiency (zdf_osm_fgr_terms) OSMOSIS Unchanged

This action is continued as action wiki:2021WP/HPC-08_Mueller_OSMOSIS_streamlining, see wiki:2021WP/HPC-08_Mueller_OSMOSIS_streamlining#Implementationandtests.

Review

See wiki:2021WP/HPC-08_Mueller_OSMOSIS_streamlining#Review.

Last modified 9 months ago Last modified on 2021-02-22T18:21:09+01:00

Attachments (1)

Download all attachments as: .zip