New URL for NEMO forge!

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.
2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining – NEMO

Version 5 (modified by smueller, 4 years ago) (diff)



Last edition: Wikinfo(changed_ts)? by Wikinfo(changed_by)?

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


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


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.


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.


Error: Failed to load processor box
No macro or processor named 'box' found



Error: Failed to load processor box
No macro or processor named 'box' found



Error: Failed to load processor box
No macro or processor named 'box' found


Attachments (1)

Download all attachments as: .zip