@@ -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