Skip to content
Open
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3a097dc
MOM is updated with gradient model for lateral mixing
May 28, 2025
dfafb3f
Use gradient model for lateral mixing
May 28, 2025
2903a0a
Use gradient model for lateral mixing
May 28, 2025
1763400
Use gradient model for lateral mixing
Jun 6, 2025
9eeee44
Use gradient model for lateral mixing
Jun 6, 2025
0e766d8
Use gradient model for lateral mixing
Jun 6, 2025
50c5718
Use gradient model for lateral mixing
Jun 6, 2025
a19eb6b
Use gradient model for lateral mixing
Jun 6, 2025
50ca104
Use gradient model for lateral mixing
Jun 6, 2025
e68af61
Use gradient model for lateral mixing
Jun 6, 2025
3c7b4b6
Use gradient model for lateral mixing
Jun 6, 2025
9f696ab
Use gradient model for lateral mixing
Jun 13, 2025
4185bdf
Use gradient model for lateral mixing
Jun 13, 2025
c3929db
Use gradient model for lateral mixing
Jun 13, 2025
fa2f673
Use gradient model for lateral mixing
Jun 13, 2025
b5e70bd
Use gradient model for lateral mixing
Jul 9, 2025
ddefb60
Use gradient model for lateral mixing
Jul 9, 2025
720a0c0
Center indices in h(i,j,k)
Jul 14, 2025
59e59b0
A subroutine for the gradient model caculations
Jul 30, 2025
4f5378e
Cleaning up code blocks related to the gradient model
Aug 27, 2025
0ece3d7
Cleaning up code blocks related to the gradient model
Aug 27, 2025
bd2815a
Correcting the units of h, uh and vh
Aug 27, 2025
b36afef
Cleaning up code blocks related to the gradient model
Aug 27, 2025
d1daf47
Correction on 3-d diag registration plus cleaning up the gradient mod…
Dec 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions src/core/MOM.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1190,7 +1190,9 @@ subroutine step_MOM_dynamics(forces, p_surf_begin, p_surf_end, dt, dt_tr_adv, &
real, dimension(:,:,:), pointer :: &
u => NULL(), & ! u : zonal velocity component [L T-1 ~> m s-1]
v => NULL(), & ! v : meridional velocity component [L T-1 ~> m s-1]
h => NULL() ! h : layer thickness [H ~> m or kg m-2]
h => NULL(), & ! h : layer thickness [H ~> m or kg m-2]
uh => NULL(), & ! uh : layer thickness times u [UH ~> m2 s-1 or kg m-1 s-1]
vh => NULL() ! vh : layer thickness times v [VH ~> m2 s-1 or kg m-1 s-1]

logical :: calc_dtbt ! Indicates whether the dynamically adjusted
! barotropic time step needs to be updated.
Expand All @@ -1204,7 +1206,7 @@ subroutine step_MOM_dynamics(forces, p_surf_begin, p_surf_end, dt, dt_tr_adv, &
Isq = G%IscB ; Ieq = G%IecB ; Jsq = G%JscB ; Jeq = G%JecB
isd = G%isd ; ied = G%ied ; jsd = G%jsd ; jed = G%jed
IsdB = G%IsdB ; IedB = G%IedB ; JsdB = G%JsdB ; JedB = G%JedB
u => CS%u ; v => CS%v ; h => CS%h
u => CS%u ; v => CS%v ; h => CS%h ; uh => CS%uh ; vh => CS%vh
showCallTree = callTree_showQuery()

call cpu_clock_begin(id_clock_dynamics)
Expand All @@ -1225,7 +1227,7 @@ subroutine step_MOM_dynamics(forces, p_surf_begin, p_surf_end, dt, dt_tr_adv, &
if (CS%thickness_diffuse) then
call cpu_clock_begin(id_clock_thick_diff)
if (CS%VarMix%use_variable_mixing) &
call calc_slope_functions(h, CS%tv, dt, G, GV, US, CS%VarMix, OBC=CS%OBC)
call calc_slope_functions(h, uh, vh, CS%tv, dt, G, GV, US, CS%VarMix, OBC=CS%OBC)
call thickness_diffuse(h, CS%uhtr, CS%vhtr, CS%tv, dt_tr_adv, G, GV, US, &
CS%MEKE, CS%VarMix, CS%CDp, CS%thickness_diffuse_CSp, &
CS%stoch_CS)
Expand Down Expand Up @@ -1378,7 +1380,7 @@ subroutine step_MOM_dynamics(forces, p_surf_begin, p_surf_end, dt, dt_tr_adv, &
if (CS%thickness_diffuse) then
call cpu_clock_begin(id_clock_thick_diff)
if (CS%VarMix%use_variable_mixing) &
call calc_slope_functions(h, CS%tv, dt, G, GV, US, CS%VarMix, OBC=CS%OBC)
call calc_slope_functions(h, uh, vh, CS%tv, dt, G, GV, US, CS%VarMix, OBC=CS%OBC)
call thickness_diffuse(h, CS%uhtr, CS%vhtr, CS%tv, dt, G, GV, US, &
CS%MEKE, CS%VarMix, CS%CDp, CS%thickness_diffuse_CSp, CS%stoch_CS)

Expand Down Expand Up @@ -2067,7 +2069,7 @@ subroutine step_offline(forces, fluxes, sfc_state, Time_start, time_interval, CS
call pass_var(CS%h, G%Domain)
call calc_resoln_function(CS%h, CS%tv, G, GV, US, CS%VarMix, CS%MEKE, dt_offline)
call calc_depth_function(G, CS%VarMix)
call calc_slope_functions(CS%h, CS%tv, dt_offline, G, GV, US, CS%VarMix, OBC=CS%OBC)
call calc_slope_functions(CS%h, CS%uh, CS%vh, CS%tv, dt_offline, G, GV, US, CS%VarMix, OBC=CS%OBC)
endif
call tracer_hordiff(CS%h, dt_offline, CS%MEKE, CS%VarMix, CS%visc, G, GV, US, &
CS%tracer_diff_CSp, CS%tracer_Reg, CS%tv)
Expand All @@ -2094,7 +2096,7 @@ subroutine step_offline(forces, fluxes, sfc_state, Time_start, time_interval, CS
call pass_var(CS%h, G%Domain)
call calc_resoln_function(CS%h, CS%tv, G, GV, US, CS%VarMix, CS%MEKE, dt_offline)
call calc_depth_function(G, CS%VarMix)
call calc_slope_functions(CS%h, CS%tv, dt_offline, G, GV, US, CS%VarMix, OBC=CS%OBC)
call calc_slope_functions(CS%h, CS%uh, CS%vh, CS%tv, dt_offline, G, GV, US, CS%VarMix, OBC=CS%OBC)
endif
call tracer_hordiff(CS%h, dt_offline, CS%MEKE, CS%VarMix, CS%visc, G, GV, US, &
CS%tracer_diff_CSp, CS%tracer_Reg, CS%tv)
Expand Down
Loading