Changes between Version 7 and Version 8 of 2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining
- Timestamp:
- 2020-11-09T11:06:50+01:00 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining
v7 v8 11 11 == Summary 12 12 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 || 21 21 22 22 === Description 23 23 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.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 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. 25 25 26 26 === Implementation 27 27 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]].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 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]]. 29 29 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.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` 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. 31 31 32 32 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 [[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`).