Max depth calculation without mpp_global_field#289
Conversation
The `mpp_global_field` call in `horiz_interp_and_extrap_tracer`, used to calculate the maximum depth (`max_depth`), caused a model hang on our system beyond ~4000 CPUs. This patch calculates `max_depth` by calculating the local maximum depth, followed by a `mpp_max` collective. This avoids the `mpp_global_field` requirement.
|
Crikey! Was there really a global array allocation in there? Nice catch Dr Alistair Adcroft (Alistair.Adcroft@noaa.gov) On Mon, May 9, 2016 at 9:00 PM, Marshall Ward notifications@github.com
|
|
Thanks Marshall for catching my mistakes! On Tue, May 10, 2016 at 9:42 AM, Alistair Adcroft notifications@github.com
|
|
I think it says more about our computer and what it can (and can't) handle! BTW, the 7680-core job ran fine as well, and scaling is not terrible either (122 main loop seconds for 10 days on OM4_025) |
Corrected the units in the get_param call for WAVE_HEIGHT_SCALE_FACTOR, as well as 39 other inconsistent units in comments in 26 files scattered throughout the MOM6 code. WAVE_HEIGHT_SCALE_FACTOR was added in December 2022 as a part of PR mom-ocean#289 to dev/gfdl. These inconsistent units were detected because they do not match the patterns of other valid units; most are recent additions. Apart from a single unit in a get_param call, only comments are changed, and all answers are bitwise identical.
Corrected the units in the get_param call for WAVE_HEIGHT_SCALE_FACTOR, and corrected the units descriptions in comments of 22 wind stress related variables in 6 driver routines, from [R L Z T-1 ~> Pa] to [R L Z T-2 ~> Pa], but the actual conversion factors in the code are correct. Also fixed 39 other inconsistent units in comments in 26 files scattered throughout the MOM6 code. WAVE_HEIGHT_SCALE_FACTOR was added in December 2022 as a part of PR mom-ocean#289 to dev/gfdl. These inconsistent units were detected because they do not match the patterns of other valid units; most are recent additions. Apart from a single unit in a get_param call, only comments are changed, and all answers are bitwise identical.
Corrected the units in the get_param call for WAVE_HEIGHT_SCALE_FACTOR, and corrected the units descriptions in comments of 22 wind stress related variables in 6 driver routines, from [R L Z T-1 ~> Pa] to [R L Z T-2 ~> Pa], but the actual conversion factors in the code are correct. Also fixed 42 other inconsistent units in comments in 28 files scattered throughout the MOM6 code. WAVE_HEIGHT_SCALE_FACTOR was added in December 2022 as a part of PR mom-ocean#289 to dev/gfdl. These inconsistent units were detected because they do not match the patterns of other valid units; most are recent additions. Apart from a single unit in a get_param call, only comments are changed, and all answers are bitwise identical.
Corrected the units in the get_param call for WAVE_HEIGHT_SCALE_FACTOR, and corrected the units descriptions in comments of 22 wind stress related variables in 6 driver routines, from [R L Z T-1 ~> Pa] to [R L Z T-2 ~> Pa], but the actual conversion factors in the code are correct. Also fixed 42 other inconsistent units in comments in 28 files scattered throughout the MOM6 code. WAVE_HEIGHT_SCALE_FACTOR was added in December 2022 as a part of PR mom-ocean#289 to dev/gfdl. These inconsistent units were detected because they do not match the patterns of other valid units; most are recent additions. Apart from a single unit in a get_param call, only comments are changed, and all answers are bitwise identical.
* Adding Ohlmann solar pentration scheme to MOM_optics * Fixed some violations of code style guide * Fixing a few more code style violations * Fixing yet another code style guide violation * Cleaned up some coment statements. No changes to code. * Fixed formatting of string in get_param. Cleaned up extraneous FOB footprints in comments * Fix spelling (Ohlman to Ohlmann) --------- Co-authored-by: Gustavo Marques <gmarques@ucar.edu>
The
mpp_global_fieldcall inhoriz_interp_and_extrap_tracer, used tocalculate the maximum depth (
max_depth), caused a model hang on oursystem beyond ~4000 CPUs.
This patch calculates
max_depthby calculating the local maximumdepth, followed by a
mpp_maxcollective. This avoids thempp_global_fieldrequirement.As best I can tell, checksums were unchanged after this patch for a 10-day OM4_025 job using 960 CPUs. (stdout diffs were identical, aside from timings and some out-of-order initialization)