From 9a3dde68d413415222b7174037f69da0353739f7 Mon Sep 17 00:00:00 2001 From: manishvenu Date: Tue, 7 Oct 2025 10:45:09 -0600 Subject: [PATCH 1/6] Changes requested by Mike --- external/mom6_bathy | 2 +- visualCaseGen/custom_widget_types/case_creator.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/external/mom6_bathy b/external/mom6_bathy index 41cfb50..17968a2 160000 --- a/external/mom6_bathy +++ b/external/mom6_bathy @@ -1 +1 @@ -Subproject commit 41cfb5051a94cd5c1134caef007e77e2ba0fdaef +Subproject commit 17968a20ca035821e1e1eab7f9b11b77e7677f06 diff --git a/visualCaseGen/custom_widget_types/case_creator.py b/visualCaseGen/custom_widget_types/case_creator.py index 8205857..da423b4 100644 --- a/visualCaseGen/custom_widget_types/case_creator.py +++ b/visualCaseGen/custom_widget_types/case_creator.py @@ -517,7 +517,7 @@ def _apply_all_xmlchanges(self, do_exec): xmlchange("NTASKS_OCN",cores, do_exec, self._is_non_local(), self._out) @staticmethod - def _calc_cores_based_on_grid( num_points, min_points_per_core = 32, max_points_per_core = 800, ideal_multiple_of_cores_used = 128): + def _calc_cores_based_on_grid( num_points, min_points_per_core = 32, max_points_per_core = 300, ideal_multiple_of_cores_used = 128): """Calculate the number of cores based on the grid size.""" @@ -586,7 +586,7 @@ def _apply_mom_namelist_changes(self, do_exec): # Determine timesteps based on the grid resolution (assuming coupling frequency of 1800.0 sec): res_x = float(cvars['OCN_LENX'].value) / int(cvars["OCN_NX"].value) res_y = float(cvars['OCN_LENY'].value) / int(cvars["OCN_NY"].value) - dt = 600.0 * min(res_x,res_y) # A 1-deg grid should have ~600 sec tstep (a safe value) + dt = 7200.0 * min(res_x,res_y) # A 1-deg grid should have ~600 sec tstep (a safe value) # Make sure 1800.0 is a multiple of dt and dt is a power of 2 and/or 3: dt = min((1800.0 / n for n in [2**i * 3**j for i in range(10) for j in range(6)] if 1800.0 % n == 0), key=lambda x: abs(dt - x)) # Try setting dt_therm to dt*4, or dt*3, or dt*3, depending on whether 1800.0 becomes a multiple of dt: From c73a0cc7490da0dc4a7cb45799dc77a36db5c708 Mon Sep 17 00:00:00 2001 From: manishvenu Date: Wed, 8 Oct 2025 15:46:19 -0600 Subject: [PATCH 2/6] Bleh --- external/mom6_bathy | 2 +- tests/1_unit/test_cores_case_creator.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/external/mom6_bathy b/external/mom6_bathy index 17968a2..a1bd00b 160000 --- a/external/mom6_bathy +++ b/external/mom6_bathy @@ -1 +1 @@ -Subproject commit 17968a20ca035821e1e1eab7f9b11b77e7677f06 +Subproject commit a1bd00bda3c161279906aa25d0ee44ddd7103bb7 diff --git a/tests/1_unit/test_cores_case_creator.py b/tests/1_unit/test_cores_case_creator.py index df3425e..45f2f6f 100644 --- a/tests/1_unit/test_cores_case_creator.py +++ b/tests/1_unit/test_cores_case_creator.py @@ -17,9 +17,9 @@ def test_calc_cores_based_on_grid_cases(): assert CaseCreator._calc_cores_based_on_grid(33) == 1 # Test ideal cores amount - assert CaseCreator._calc_cores_based_on_grid(800*128) == 128 + assert CaseCreator._calc_cores_based_on_grid(300*128) == 128 - assert CaseCreator._calc_cores_based_on_grid(800*32) == 128 + assert CaseCreator._calc_cores_based_on_grid(300*32) == 128 assert CaseCreator._calc_cores_based_on_grid(740 * 780) == 768 From 17350d5319b22056ec0aca41da36ab4c63df629e Mon Sep 17 00:00:00 2001 From: manishvenu Date: Wed, 8 Oct 2025 15:56:16 -0600 Subject: [PATCH 3/6] Test ' --- tests/1_unit/test_cores_case_creator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/1_unit/test_cores_case_creator.py b/tests/1_unit/test_cores_case_creator.py index 45f2f6f..8bbb71d 100644 --- a/tests/1_unit/test_cores_case_creator.py +++ b/tests/1_unit/test_cores_case_creator.py @@ -21,7 +21,7 @@ def test_calc_cores_based_on_grid_cases(): assert CaseCreator._calc_cores_based_on_grid(300*32) == 128 - assert CaseCreator._calc_cores_based_on_grid(740 * 780) == 768 + assert CaseCreator._calc_cores_based_on_grid(740 * 780) == 2048 \ No newline at end of file From fedd68b717109ff3c1de1d84423faf02bd84ded2 Mon Sep 17 00:00:00 2001 From: manishvenu Date: Fri, 10 Oct 2025 13:35:47 -0600 Subject: [PATCH 4/6] Update m6c commit --- external/mom6_bathy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/mom6_bathy b/external/mom6_bathy index a1bd00b..2174389 160000 --- a/external/mom6_bathy +++ b/external/mom6_bathy @@ -1 +1 @@ -Subproject commit a1bd00bda3c161279906aa25d0ee44ddd7103bb7 +Subproject commit 21743894c5e10f49951e9588ec96ac43b29a9122 From db3030e7c6d6ffed29b3814dcb85d6e0d6e39b8a Mon Sep 17 00:00:00 2001 From: manishvenu Date: Fri, 10 Oct 2025 14:13:41 -0600 Subject: [PATCH 5/6] Add min cores thing --- visualCaseGen/custom_widget_types/case_creator.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/visualCaseGen/custom_widget_types/case_creator.py b/visualCaseGen/custom_widget_types/case_creator.py index da423b4..a9d8780 100644 --- a/visualCaseGen/custom_widget_types/case_creator.py +++ b/visualCaseGen/custom_widget_types/case_creator.py @@ -522,14 +522,16 @@ def _calc_cores_based_on_grid( num_points, min_points_per_core = 32, max_points_ min_cores = math.ceil(num_points/max_points_per_core) - max_cores = math.ceil(num_points/min_points_per_core) + max_cores = math.ceil(num_points/min_points_per_core) + + # If min_cores is less than the first multiple of ideal cores, just return the min_cores + if min_cores < ideal_multiple_of_cores_used: + return min_cores # Request a multiple of the entire core (ideal_multiple_of_cores_used) starting from the min ideal_cores = ((min_cores + ideal_multiple_of_cores_used - 1) // ideal_multiple_of_cores_used) * ideal_multiple_of_cores_used - if ideal_cores <= max_cores: - return ideal_cores - else: - return (max_cores+min_cores)//2 + return ideal_cores + def _apply_user_nl_changes(self, model, var_val_pairs, do_exec, comment=None, log_title=True): """Apply changes to a given user_nl file.""" From a330113ef26ce2d2261259bd0581cbbe9d5422b3 Mon Sep 17 00:00:00 2001 From: manishvenu Date: Fri, 10 Oct 2025 16:01:50 -0600 Subject: [PATCH 6/6] m6b update --- external/mom6_bathy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/mom6_bathy b/external/mom6_bathy index 2174389..0bd5cae 160000 --- a/external/mom6_bathy +++ b/external/mom6_bathy @@ -1 +1 @@ -Subproject commit 21743894c5e10f49951e9588ec96ac43b29a9122 +Subproject commit 0bd5cae2e2a0a680e03292b2e9e028826f59c4a0