From a350b641ebf6ed7fa3b30ac1cc94a43779d7c8d2 Mon Sep 17 00:00:00 2001 From: Mark Petersen Date: Mon, 18 Apr 2022 17:07:46 -0600 Subject: [PATCH 1/5] Add four split explicit changes. See PRs: MPAS#728, MPAS ocean discussion #16 --- components/mpas-ocean/src/Registry.xml | 28 +++++ .../mpas_ocn_time_integration_split.F | 118 ++++++++++++++++-- .../shared/mpas_ocn_diagnostics_variables.F | 31 +++++ 3 files changed, 167 insertions(+), 10 deletions(-) diff --git a/components/mpas-ocean/src/Registry.xml b/components/mpas-ocean/src/Registry.xml index 8eec749bb6ed..d6df61e02de3 100644 --- a/components/mpas-ocean/src/Registry.xml +++ b/components/mpas-ocean/src/Registry.xml @@ -1263,6 +1263,22 @@ description="number of iterations of the velocity corrector step in stage 2" possible_values="any positive integer, but typically 1, 2, or 3" /> + + + + + + + Date: Mon, 19 Sep 2022 10:02:27 -0600 Subject: [PATCH 2/5] turn on gm package (temporary) --- components/mpas-ocean/src/driver/mpas_ocn_core_interface.F | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/mpas-ocean/src/driver/mpas_ocn_core_interface.F b/components/mpas-ocean/src/driver/mpas_ocn_core_interface.F index 9d9fd8b19f89..59340c911f99 100644 --- a/components/mpas-ocean/src/driver/mpas_ocn_core_interface.F +++ b/components/mpas-ocean/src/driver/mpas_ocn_core_interface.F @@ -356,6 +356,8 @@ function ocn_setup_packages(configPool, packagePool, iocontext) result(ierr)!{{{ if (config_use_GM.or.config_use_Redi) then gmActive = .true. end if + ! mrp TEMPORARY, always turn on gm package + gmActive = .true. ! ! test for use of gm From 5fa93e9cba3c8c74508311d76989f6cc86f85aa6 Mon Sep 17 00:00:00 2001 From: Mark Petersen Date: Mon, 19 Sep 2022 10:13:33 -0600 Subject: [PATCH 3/5] add config_btr_new5_NoALE --- components/mpas-ocean/src/Registry.xml | 4 ++++ .../mpas-ocean/src/shared/mpas_ocn_tendency.F | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/components/mpas-ocean/src/Registry.xml b/components/mpas-ocean/src/Registry.xml index d6df61e02de3..17e645d5ec38 100644 --- a/components/mpas-ocean/src/Registry.xml +++ b/components/mpas-ocean/src/Registry.xml @@ -1279,6 +1279,10 @@ description="experimental flag" possible_values=".true. or .false." /> + Date: Tue, 20 Sep 2022 08:07:48 -0600 Subject: [PATCH 4/5] add config_btr_new6_EdgeThickness --- components/mpas-ocean/src/Registry.xml | 4 ++ .../mpas_ocn_time_integration_split.F | 64 +++++++++++++------ 2 files changed, 48 insertions(+), 20 deletions(-) diff --git a/components/mpas-ocean/src/Registry.xml b/components/mpas-ocean/src/Registry.xml index 17e645d5ec38..101a7cfa4c1e 100644 --- a/components/mpas-ocean/src/Registry.xml +++ b/components/mpas-ocean/src/Registry.xml @@ -1283,6 +1283,10 @@ description="experimental flag" possible_values=".true. or .false." /> + Date: Tue, 20 Sep 2022 09:53:58 -0600 Subject: [PATCH 5/5] change edge thickness from refBD to zTop --- .../mpas_ocn_time_integration_split.F | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/components/mpas-ocean/src/mode_forward/mpas_ocn_time_integration_split.F b/components/mpas-ocean/src/mode_forward/mpas_ocn_time_integration_split.F index 92eba83b8912..d7d4b02dce8c 100644 --- a/components/mpas-ocean/src/mode_forward/mpas_ocn_time_integration_split.F +++ b/components/mpas-ocean/src/mode_forward/mpas_ocn_time_integration_split.F @@ -1143,8 +1143,11 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{ ! neighboring cells. k = maxLevelEdgeTop(iEdge) thicknessSum = sshEdge + 0.5* & - ( min(bottomDepth(cell1), refBottomDepth(k)) & - + min(bottomDepth(cell2), refBottomDepth(k)) ) + ( min(bottomDepth(cell1), -zTop(k+1,cell1)) & + + min(bottomDepth(cell2), -zTop(k+1,cell2)) ) + ! first attempt, for z-level only: + !( min(bottomDepth(cell1), refBottomDepth(k)) & + ! + min(bottomDepth(cell2), refBottomDepth(k)) ) endif flux = ((1.0-config_btr_gam1_velWt1)* & @@ -1202,8 +1205,11 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{ ! neighboring cells. k = maxLevelEdgeTop(iEdge) thicknessSum = sshEdge + 0.5* & - ( min(bottomDepth(cell1), refBottomDepth(k)) & - + min(bottomDepth(cell2), refBottomDepth(k)) ) + ( min(bottomDepth(cell1), -zTop(k+1,cell1)) & + + min(bottomDepth(cell2), -zTop(k+1,cell2)) ) + ! first attempt, for z-level only: + !( min(bottomDepth(cell1), refBottomDepth(k)) & + ! + min(bottomDepth(cell2), refBottomDepth(k)) ) endif flux = ((1.0-config_btr_gam1_velWt1)* & @@ -1450,8 +1456,11 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{ ! neighboring cells k = maxLevelEdgeTop(iEdge) thicknessSum = sshEdge + 0.5* & - ( min(bottomDepth(cell1), refBottomDepth(k)) & - + min(bottomDepth(cell2), refBottomDepth(k)) ) + ( min(bottomDepth(cell1), -zTop(k+1,cell1)) & + + min(bottomDepth(cell2), -zTop(k+1,cell2)) ) + ! first attempt, for z-level only: + !( min(bottomDepth(cell1), refBottomDepth(k)) & + ! + min(bottomDepth(cell2), refBottomDepth(k)) ) endif flux = ((1.0-config_btr_gam3_velWt2)* & @@ -1506,8 +1515,11 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{ ! neighboring cells. k = maxLevelEdgeTop(iEdge) thicknessSum = sshEdge + 0.5* & - ( min(bottomDepth(cell1), refBottomDepth(k)) & - + min(bottomDepth(cell2), refBottomDepth(k)) ) + ( min(bottomDepth(cell1), -zTop(k+1,cell1)) & + + min(bottomDepth(cell2), -zTop(k+1,cell2)) ) + ! first attempt, for z-level only: + !( min(bottomDepth(cell1), refBottomDepth(k)) & + ! + min(bottomDepth(cell2), refBottomDepth(k)) ) endif flux = ((1.0-config_btr_gam3_velWt2) * &