From 3dcd065db832fd7952ebb5497560755cf2b1b541 Mon Sep 17 00:00:00 2001 From: Rusty Benson Date: Wed, 17 Mar 2021 15:18:16 -0400 Subject: [PATCH] correctly merge height monotonicity log in nh_utils::update_dz_* --- model/nh_utils.F90 | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/model/nh_utils.F90 b/model/nh_utils.F90 index baa4ec33c..a200c2932 100644 --- a/model/nh_utils.F90 +++ b/model/nh_utils.F90 @@ -196,14 +196,14 @@ subroutine update_dz_c(is, ie, js, je, km, ng, dt, dp0, zs, area, ut, vt, gz, ws ! Enforce monotonicity of height to prevent blowup !$OMP parallel do default(none) shared(is1,ie1,js1,je1,ws,zs,gz,rdt,km,dz_min) do j=js1, je1 - do k=2, km+1 - do i=is1, ie1 - gz(i,j,k) = min( gz(i,j,k), gz(i,j,k-1) - dz_min ) - enddo - enddo do i=is1, ie1 ws(i,j) = ( zs(i,j) - gz(i,j,km+1) ) * rdt enddo + do k=km, 1, -1 + do i=is1, ie1 + gz(i,j,k) = max( gz(i,j,k), gz(i,j,k+1) + dz_min ) + enddo + enddo enddo end subroutine update_dz_c @@ -310,15 +310,15 @@ subroutine update_dz_d(ndif, damp, hord, is, ie, js, je, km, ng, npx, npy, area, !$OMP parallel do default(none) shared(is,ie,js,je,km,ws,zs,zh,rdt,dz_min) do j=js, je - do k=2, km+1 + do i=is,ie + ws(i,j) = ( zs(i,j) - zh(i,j,km+1) ) * rdt + enddo + do k=km, 1, -1 do i=is, ie ! Enforce monotonicity of height to prevent blowup - zh(i,j,k) = min( zh(i,j,k), zh(i,j,k-1) - dz_min ) + zh(i,j,k) = max( zh(i,j,k), zh(i,j,k+1) + dz_min ) enddo enddo - do i=is,ie - ws(i,j) = ( zs(i,j) - zh(i,j,km+1) ) * rdt - enddo enddo end subroutine update_dz_d