Skip to content

Commit 697bda0

Browse files
committed
WOMBAT: Remove limit on wsink
Sinking distances are limited in the vertdiff solver
1 parent a691629 commit 697bda0

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

generic_tracers/generic_WOMBATlite.F90

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2039,7 +2039,6 @@ subroutine generic_WOMBATlite_update_from_source(tracer_list, Temp, Salt, &
20392039
real, dimension(:,:), allocatable :: ek_bgr, par_bgr_mid, par_bgr_top
20402040
real, dimension(:), allocatable :: wsink, wsinkcal
20412041
real, dimension(4,61) :: zbgr
2042-
real :: max_wsink
20432042
real :: ztemk, fe_keq, fe_par, fe_sfe, fe_tfe, partic
20442043
real :: fesol1, fesol2, fesol3, fesol4, fesol5, hp, fe3sol
20452044
real :: biof, biodoc, zno3, zfermin
@@ -3173,6 +3172,8 @@ subroutine generic_WOMBATlite_update_from_source(tracer_list, Temp, Salt, &
31733172

31743173
! Variable sinking rates of organic detritus (positive for sinking when GOLDtridiag == .true.)
31753174
! (negative for sinking when IOWtridiag ==.true.)
3175+
! Note: sinking distances are limited in the vertdiff solver to prevent characteristics
3176+
! crossing within a timestep
31763177
do j = jsc,jec; do i = isc,iec;
31773178
if (grid_kmt(i,j).gt.0) then
31783179
biophy1 = max(epsi, wombat%f_phy(i,j,1) ) / mmol_m3_to_mol_kg ![mmol/m3]
@@ -3182,9 +3183,6 @@ subroutine generic_WOMBATlite_update_from_source(tracer_list, Temp, Salt, &
31823183
(wombat%f_caco3(i,j,k) / (wombat%f_det(i,j,k) + wombat%f_caco3(i,j,k) + epsi)))
31833184
! Increase sinking rate with depth to achieve power law behaviour
31843185
wsink(k) = wsink(k) + max(0.0, wombat%zw(i,j,k)/5000.0 * (wombat%wdetmax - wsink(k)))
3185-
! Ensure that we don't violate the CFL criterion
3186-
max_wsink = dzt(i,j,k) * 0.5 / (dt * 2) ! [m/s]
3187-
wsink(k) = min(wsink(k), max_wsink)
31883186
! CaCO3 sinks slower than general detritus because it tends to be smaller
31893187
wsinkcal(k) = wsink(k) * wombat%wcaco3/wombat%wdetbio
31903188
enddo

generic_tracers/generic_WOMBATmid.F90

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2472,7 +2472,6 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
24722472
real, dimension(:,:), allocatable :: ek_bgr, par_bgr_mid, par_bgr_top
24732473
real, dimension(:), allocatable :: wsink, wsinkcal
24742474
real, dimension(4,61) :: zbgr
2475-
real :: max_wsink
24762475
real :: ztemk, fe_keq, fe_par, fe_sfe, fe_tfe, partic
24772476
real :: fesol1, fesol2, fesol3, fesol4, fesol5, hp, fe3sol
24782477
real :: biof, biodoc, zno3, zfermin
@@ -3936,6 +3935,8 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
39363935

39373936
! Variable sinking rates of organic detritus (positive for sinking when GOLDtridiag == .true.)
39383937
! (negative for sinking when IOWtridiag ==.true.)
3938+
! Note: sinking distances are limited in the vertdiff solver to prevent characteristics
3939+
! crossing within a timestep
39393940
do j = jsc,jec; do i = isc,iec;
39403941
if (grid_kmt(i,j).gt.0) then
39413942
biophy1 = max(epsi, (wombat%f_phy(i,j,1)+wombat%f_dia(i,j,1)) ) / mmol_m3_to_mol_kg ![mmol/m3]
@@ -3945,9 +3946,6 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
39453946
(wombat%f_caco3(i,j,k) / (wombat%f_det(i,j,k) + wombat%f_caco3(i,j,k) + epsi)))
39463947
! Increase sinking rate with depth to achieve power law behaviour
39473948
wsink(k) = wsink(k) + max(0.0, wombat%zw(i,j,k)/5000.0 * (wombat%wdetmax - wsink(k)))
3948-
! Ensure that we don't violate the CFL criterion
3949-
max_wsink = dzt(i,j,k) * 0.5 / (dt * 2) ! [m/s]
3950-
wsink(k) = min(wsink(k), max_wsink)
39513949
! CaCO3 sinks slower than general detritus because it tends to be smaller
39523950
wsinkcal(k) = wsink(k) * wombat%wcaco3/wombat%wdetbio
39533951
enddo

0 commit comments

Comments
 (0)