diff --git a/source/model/momentum_mod.f90 b/source/model/momentum_mod.f90 index 254f0808d6451567b11416dff380237ed58c1510..297946502383fb4240a99941456cbd1a90f33159 100644 --- a/source/model/momentum_mod.f90 +++ b/source/model/momentum_mod.f90 @@ -171,6 +171,7 @@ real(kind=4), allocatable :: Amatrix(:,:), rhs(:) !to be passed to lapack routin real(kind=ireals) :: tau_ix, tau_iy real(kind=ireals) :: Lxi, Lxj, Lyi, Lyj real(kind=ireals) :: tau_grx, tau_gry +real(kind=ireals) :: velx_log, vely_log real(kind=ireals) :: time1, time2, totime real(kind=ireals) :: scross, hydr_radius, disch, speedav real(kind=ireals), allocatable :: row0_(:) @@ -330,8 +331,10 @@ endif !coef2 = g*Cz_gr**(-2)*sqrt(u1(M+1)**2+v1(M+1)**2) !*0.005 !*row0 !Bottom momentum exchange coefficient from logarithmic profile - coef2 = sqrt(u1(M+1)**2+v1(M+1)**2)*kappa**2/log(h1*0.25*ddz(M)/z0_bot)**2 - velfrict_bot = sqrt(u1(M+1)**2+v1(M+1)**2)*kappa/log(h1*0.25*ddz(M)/z0_bot) + velx_log = 0.5*(u1(M+1)+u1(M)) + vely_log = 0.5*(v1(M+1)+v1(M)) + coef2 = sqrt(velx_log**2+vely_log**2)*kappa**2/log(h1*0.5*ddz(M)/z0_bot)**2 + velfrict_bot = sqrt(velx_log**2+vely_log**2)*kappa/log(h1*0.5*ddz(M)/z0_bot) tau_gr = row0*velfrict_bot**2 ! Friction at the water - upper ice interface @@ -1227,9 +1230,9 @@ bcbot : if (cuette%par == 0 .or. cuette%par == 11) then do i = 1, 2 xx3(i) = horvisc_ON*0.5*pi*pi*horvisc%par*dt/LxLyCDL(M+1,i)**2 !horizontal viscosity for 1-st harmonic mode - cm_(M+1,i,i) = (xx + yy*(1 + xx3(i)) + coef2*ddz(M)*h1/k2(M) + & + cm_(M+1,i,i) = (xx + yy*(1 + xx3(i)) + 0.5*coef2*ddz(M)*h1/k2(M) + & & 0.5*yy*dt*a_veg*c_veg*sqrt(um(M+1)**2 + vm(M+1)**2)*veg_sw(M+1)) - am_(M+1,i,i) = xx !- coef2*ddz(M)*h1/k2(M) + am_(M+1,i,i) = xx - 0.5*coef2*ddz(M)*h1/k2(M) enddo am_(M+1,1,2) = 0.