New URL for NEMO forge!   http://forge.nemo-ocean.eu

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 (diff) – NEMO

Changes between Version 7 and Version 8 of 2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining


Ignore:
Timestamp:
2020-11-09T11:06:50+01:00 (3 years ago)
Author:
smueller
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining

    v7 v8  
    1111== Summary 
    1212 
    13 ||=Action       || ENHANCE-14_smueller_OSMOSIS_streamlining                                   || 
    14 ||=PIs          || S. Müller, G. Nurser                                                       || 
    15 ||=Digest       || Standardisation and optimisation of the OSMOSIS OBL scheme implementation  || 
    16 ||=Dependencies ||                                                                           || 
    17 ||=Branch       || source:/NEMO/branches/{YEAR}/dev_r{REV}_{ACTION_NAME}                      || 
    18 ||=Previewer    || M. Bell                                                                    || 
    19 ||=Reviewer     || M. Bell                                                                    || 
    20 ||=Ticket       || #2353                                                                      || 
     13||=Action       || ENHANCE-14_smueller_OSMOSIS_streamlining                                    || 
     14||=PIs          || S. Müller, G. Nurser                                                        || 
     15||=Digest       || Standardisation and optimisation of the OSMOSIS OBL scheme implementation   || 
     16||=Dependencies || [[wiki:2020WP/PHYPRO-01_agn_OSMOSIS_science|PHYPRO-01_agn_OSMOSIS_science]] || 
     17||=Branch       || source:/NEMO/branches/{YEAR}/dev_r{REV}_{ACTION_NAME}                       || 
     18||=Previewer    || M. Bell                                                                     || 
     19||=Reviewer     || M. Bell                                                                     || 
     20||=Ticket       || #2353                                                                       || 
    2121 
    2222=== Description 
    2323 
    24 Action [[wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining|ENHANCE-14_smueller_OSMOSIS_streamlining]] forms one of two strands of work (action [[wiki:2020WP/PHYPRO-01_agn_OSMOSIS_science|PHYPRO-01_agn_OSMOSIS_science]] being the other) that follow up the 2019-WP action [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|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 [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|VALID-02_GeorgeN-evalOSMOSIS]] (as implemented in [source:/NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/ZDF/zdfosm.F90]) by improving its computational efficiency, by making it compilable in configurations that make use of [[http://agrif.imag.fr|AGRIF]], by improving its compliance with NEMO coding standards and readability, and by including it in the `SETTE` test suite. 
     24Action [[wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining|ENHANCE-14_smueller_OSMOSIS_streamlining]] forms one of two strands of work (action [[wiki:2020WP/PHYPRO-01_agn_OSMOSIS_science|PHYPRO-01_agn_OSMOSIS_science]] being the other) that follow up the 2019-WP action [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|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 actions [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|VALID-02_GeorgeN-evalOSMOSIS]] (as implemented in [source:/NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/ZDF/zdfosm.F90]) and [[wiki:2020WP/PHYPRO-01_agn_OSMOSIS_science||PHYPRO-01_agn_OSMOSIS_science]] by improving its computational efficiency, by making it compilable in configurations that make use of [[http://agrif.imag.fr|AGRIF]], by improving its compliance with NEMO coding standards and readability, and by including it in the `SETTE` test suite. 
    2525 
    2626=== Implementation 
    2727 
    28 The development branch for 2019-WP action [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|VALID-02_GeorgeN-evalOSMOSIS]], source:/NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/, has been synchronized with source:/NEMO/trunk@12925 (changesets [12928] and [12934]), and it should be readily possible to cleanly transfer the code developments made in action [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|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 [[wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining]]. 
     28The development branch for 2019-WP action [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|VALID-02_GeorgeN-evalOSMOSIS]], source:/NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/, has been synchronized with source:/NEMO/trunk@12925 (changesets [12928] and [12934]), and it should be readily possible to cleanly transfer the code developments made in actions [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|VALID-02_GeorgeN-evalOSMOSIS]] and [[wiki:2020WP/PHYPRO-01_agn_OSMOSIS_science|PHYPRO-01_agn_OSMOSIS_science]] 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 [[wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining]]. 
    2929 
    30 The main purpose of action [[wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining|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 [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|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 [[wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining|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. 
     30The main purpose of action [[wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining|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 [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|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 [[wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining|ENHANCE-14_smueller_OSMOSIS_streamlining]], using a suitable model configuration, a detailed timing analysis of subroutine `zdf_osm` resulting from action [[wiki:2020WP/PHYPRO-01_agn_OSMOSIS_science|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. 
    3131 
    3232Fruther "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 [[http://agrif.imag.fr|AGRIF]]-enabled configurations (the current version from the 2019-WP action [[wiki:2019WP/VALID-02_GeorgeN-evalOSMOSIS|VALID-02_GeorgeN-evalOSMOSIS]] fails to compile in the `SETTE` test configurations `AGRIF`, `ICE_AGRIF`, and `VORTEX`).