HPC-08_Mueller_OSMOSIS_streamlining
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.
- Summary
- Preview
- Implementation and tests
- Review
- Post-review updates (compatibility with nn_hls=2 and ln_tiling=.true. options)
- SETTE testing
Summary
Action | HPC-08_Mueller_OSMOSIS_streamlining |
---|---|
PI(S) | S. Müller |
Digest | Optimisation and standardisation of the OSMOSIS OBL scheme implementation |
Dependencies | source:/NEMO/branches/NERC/dev_r11078_OSMOSIS_IMMERSE_Nurser_4.0 |
Branch | source:/NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/ |
Previewer(s) | M. Bell |
Reviewer(s) | M. Bell |
Ticket | #2353 |
Description
This action is the continuation of action wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining, see wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining#Description.
Implementation
See wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining#Implementation.
Documentation updates
See wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining#Documentationupdates.
Preview
See wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining#Preview.
Implementation and tests
Previous implementation (2020 work plan)
See wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining#Implementationandtests.
Continuation of implementation (2021 work plan)
source:/NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining@14829 has passed the standard SETTE tests.
Review
This change is self contained (to the zdfosm module) and passes SETTE tests. It is ready for merge. Mike Bell (and Andrew Coward)
Post-review updates (compatibility with nn_hls=2 and ln_tiling=.true. options)
Regression testing has been carried out using the standard WED025 SETTE test with the modification
-
cfgs/WED025/EXPREF/namelist_cfg
444 444 !----------------------------------------------------------------------- 445 445 &namtra_mle ! mixed layer eddy parametrisation (Fox-Kemper) (default: OFF) 446 446 !----------------------------------------------------------------------- 447 ln_mle = .true. ! (T) use the Mixed Layer Eddy (MLE) parameterisation 447 448 / 448 449 !----------------------------------------------------------------------- 449 450 &namtra_eiv ! eddy induced velocity param. (default: OFF) … … 532 533 !----------------------------------------------------------------------- 533 534 ! 534 535 ! ! type of vertical closure (required) 535 ln_zdf tke = .true. ! Turbulent Kinetic Energy closure (T => fill namzdf_tke)536 ln_zdfosm = .true. ! OSMOSIS BL closure (T => fill namzdf_osm) 536 537 ! 537 ! ! convection538 ln_zdfevd = .true. ! enhanced vertical diffusion539 nn_evdm = 0 ! apply on tracer (=0) or on tracer and momentum (=1)540 rn_evd = 10.0 ! mixing coefficient [m2/s]541 !542 538 ! ! coefficients 543 539 rn_avm0 = 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if ln_zdfcst=F) 544 540 rn_avt0 = 2e-06 ! vertical eddy diffusivity [m2/s] (background Kz if ln_zdfcst=F)
to enable in the reference WED025 configuration both the OSMOSIS boundary-layer scheme (as included in the SETTE WED025 tests listed in the table above) and the OSMOSIS-specific extension of mixed-layer eddy-induced transport (not included in the SETTE WED025 tests listed in the table above), with respect to reference output generated using source:/NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining@14822 plus changeset [14858] (to enable compilability on the HPC system used for testing) with the addition of ln_mle=.true. in file cfgs/WED025/EXPREF/namelist_cfg (14822+). Time offsets in parentheses (where reported) indicate the runtime deviation of a test run from the corresponding reference '14822+' of 467.248 s.
Changeset | Description | Standard SETTE | Extended halo | Tiling |
---|---|---|---|---|
SETTE WED025+zdfosm+tramle (nn_hls=1, nn_tiling=.false.) | SETTE WED025+zdfosm+tramle (nn_hls=2, nn_tiling=.false.) | SETTE WED025+zdfosm+tramle (nn_hls=2, nn_tiling=.true.) | ||
[14822] (plus [14858]) | Reference (14822+) | restart/repro passed (+0.000 s) | n/a | n/a |
[14856,14858,14859] | Synchronisation with source:/NEMO/trunk@14854, minor adjustments, and bugfixes related to diagnostic output | restart/repro passed, unchanged w.r.t. 14822+ | n/a | n/a |
[14863] | Synchronisation with source:/NEMO/trunk@14857 | restart/repro passed, unchanged w.r.t. 14822+ | n/a | n/a |
[14868] | Removal of redundant halo exchanges | restart/repro passed, unchanged w.r.t. 14822+ | n/a | n/a |
[14889] | Compatibility with extended halo (nn_hls=2) | restart/repro passed, unchanged w.r.t. 14822+ | restart/repro passed, unchanged w.r.t. 14822+ | n/a |
[14900,14901] | Compatibliity with tiling option (ln_tiling=.true.) | restart/repro passed, unchanged w.r.t. 14822+ | restart/repro passed, unchanged w.r.t. 14822+ | restart/repro passed, unchanged w.r.t. 14822+ |
[14909] | Code tidy-up | restart/repro passed, unchanged w.r.t. 14822+ (+0.518 s) | restart/repro passed, unchanged w.r.t. 14822+ (+21.563 s) | restart/repro passed, unchanged w.r.t. 14822+ (+30.659 s) |
The modifications outside of module zdfosm to enable the extended halo and tiling options (modifications in source:/NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/src/OCE/TRA/tramle.F90 and source:/NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/src/OCE/ZDF/zdfphy.F90) have been successfully reviewed by D. Calvert. D. Calvert further suggested an efficiency improvement of subroutine zdf_osm with activated tiling (avoidance of sub-array copy-in and copy-out), which has been implemented with [14911].
Changeset | Description | Standard SETTE | Extended halo | Tiling |
---|---|---|---|---|
[14911] | Computational efficiency improvement | restart/repro passed, unchanged w.r.t. 14822+ (-6.411 s) | restart/repro passed, unchanged w.r.t. 14822+ (+20.121 s) | restart/repro passed, unchanged w.r.t. 14822+ (+22.505 s) |
[14912,14913] | Code tidy-up and synchronisation with source:/NEMO/trunk@14912 | restart/repro passed, unchanged w.r.t. 14822+ (-5.578 s) | restart/repro passed, unchanged w.r.t. 14822+ (+20.344 s) | restart/repro passed, unchanged w.r.t. 14822+ (-17.832 s) |
[14918] | Removal of problematic nested preprocessor macros | restart/repro passed, unchanged w.r.t. 14822+ (-0.484 s) | restart/repro passed, unchanged w.r.t. 14822+ (+27.718 s) | restart/repro passed, unchanged w.r.t. 14822+ (-17.227 s) |
SETTE testing
SETTE (using source:/utils/CI/sette@14844) has been run to test the development branch source:/NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining@14918 (without explicit activation of the OSMOSIS boundary-layer scheme) with tiling and extra halo activated as
$ ./sette.sh -T -t -c
With the exception of the SETTE tests for reference configuration ORCA2_OFF_PISCES, source:/NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining@14918 passes all other SETTE tests, including regression tests with respect to corresponding runs carried out using source:/NEMO/trunk@14903. The ORCA2_OFF_PISCES test failures are XIOS-related and known to occur on the HPC system used; identical failures also occur when testing source:/NEMO/trunk@14903. As a workaround, the modification
-
cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg
24 24 nn_itend = 1460 ! last time step (std 5475) 25 25 nn_date0 = 19600101 ! date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) 26 26 nn_stock = 1460 ! frequency of creation of a restart file (modulo referenced to 1) 27 ln_mskland = . true. ! mask land points in NetCDF outputs (costly: + ~15%)27 ln_mskland = .false. ! mask land points in NetCDF outputs (costly: + ~15%) 28 28 ln_cfmeta = .true. ! output additional data to netCDF files required for compliance with the CF metadata standard 29 29 ln_clobber = .true. ! clobber (overwrite) an existing file 30 30 /
permits to run the ORCA2_OFF_PISCES SETTE tests for both the development branch and source:/NEMO/trunk@14903 with matching results: the restartability tests are successful, the reproducibility tests fail with a difference after 28 time steps (similar behaviour has previously been observed on the HPC system used), and the regression test between the two model versions shows no difference. These test outcomes agree with corresponding testing without tiling and extra-halo activation (./sette.sh -T).
Attachments (1)
- NEMO_WP2021_HPC-08.png (53.6 KB) - added by smueller 4 years ago.
Download all attachments as: .zip