Skip to content

Commit 3d224d4

Browse files
committed
Add max_nlev > nlev test to KPP driver
Test #4 in the KPP reg_test driver (computing diffusivities in boundary layer when OBL depth is both above and below cell center) now defaults to nlev=5 and max_nlev = 10.
1 parent 9bd7dec commit 3d224d4

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/drivers/cvmix_kpp_drv.F90

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Subroutine cvmix_kpp_driver()
5555
real(cvmix_r8), dimension(:,:), allocatable, target :: hor_vel
5656
real(cvmix_r8), dimension(2) :: ref_vel
5757
real(cvmix_r8), dimension(4) :: shape_coeffs
58-
integer :: fid, kt, kw, nlev1, nlev3, nlev4, OBL_levid4, nlev5
58+
integer :: fid, kt, kw, nlev1, nlev3, nlev4, max_nlev4, OBL_levid4, nlev5
5959
real(cvmix_r8) :: hmix1, hmix5, ri_crit, layer_thick1, layer_thick4, &
6060
layer_thick5, OBL_depth4, OBL_depth5, N, Nsqr
6161
real(cvmix_r8) :: kOBL_depth, Bslope, Vslope
@@ -275,13 +275,16 @@ Subroutine cvmix_kpp_driver()
275275

276276
call cvmix_init_kpp(MatchTechnique='MatchGradient')
277277
nlev4 = 5
278+
max_nlev4 = 10
278279
if (OBL_levid4.gt.nlev4) &
279280
OBL_levid4 = nlev4
280281
layer_thick4 = real(5,cvmix_r8)
281282

282283
! Set up vertical levels (centers and interfaces) and compute bulk
283284
! Richardson number
284-
allocate(zt(nlev4), zw_iface(nlev4+1))
285+
allocate(zt(max_nlev4), zw_iface(max_nlev4+1))
286+
zt = cvmix_zero
287+
zw_iface = cvmix_zero
285288
do kw=1,nlev4+1
286289
zw_iface(kw) = -layer_thick4*real(kw-1, cvmix_r8)
287290
end do
@@ -292,13 +295,14 @@ Subroutine cvmix_kpp_driver()
292295
CVmix_vars4%zw_iface => zw_iface(:)
293296

294297
! Set up diffusivities
295-
allocate(Mdiff(nlev4+1), Tdiff(nlev4+1), Sdiff(nlev4+1))
298+
allocate(Mdiff(max_nlev4+1), Tdiff(max_nlev4+1), Sdiff(max_nlev4+1))
296299
CVmix_vars4%Mdiff_iface => Mdiff
297300
CVmix_vars4%Tdiff_iface => Tdiff
298301
CVmix_vars4%Sdiff_iface => Sdiff
299302

300303
! Set physical properties of column for test 4
301304
call cvmix_put(CVmix_vars4, 'nlev', nlev4)
305+
call cvmix_put(CVmix_vars4, 'max_nlev', max_nlev4)
302306
call cvmix_put(CVmix_vars4, 'ocn_depth', layer_thick4*real(nlev4,cvmix_r8))
303307
call cvmix_put(CVmix_vars4, 'surf_fric', cvmix_one)
304308
call cvmix_put(CVmix_vars4, 'surf_buoy', real(100,cvmix_r8))

0 commit comments

Comments
 (0)