From 6298bd328bcd5928520b1078a5bfae823433746b Mon Sep 17 00:00:00 2001 From: Dylan Schlichting Date: Tue, 3 Jun 2025 10:10:27 -0700 Subject: [PATCH 1/2] fixes a conditional related to TS_VAR --- ROMS/Nonlinear/set_avg.F | 1 + 1 file changed, 1 insertion(+) diff --git a/ROMS/Nonlinear/set_avg.F b/ROMS/Nonlinear/set_avg.F index 7886b4fef..3a1c23b99 100755 --- a/ROMS/Nonlinear/set_avg.F +++ b/ROMS/Nonlinear/set_avg.F @@ -3865,6 +3865,7 @@ SUBROUTINE set_avg_tile (ng, tile, & & EWperiodic(ng), NSperiodic(ng), & & AVERAGE(ng)%avgAKr) # endif + END IF # endif # endif From a5ed567bba88aef5034b9d25d3613c446ccdb07c Mon Sep 17 00:00:00 2001 From: Dylan Schlichting Date: Tue, 3 Jun 2025 10:11:53 -0700 Subject: [PATCH 2/2] fixed TS_VAR conditionals in step3d_t.F and updated docs --- ROMS/Nonlinear/step3d_t.F | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ROMS/Nonlinear/step3d_t.F b/ROMS/Nonlinear/step3d_t.F index e4ed00027..b5c992137 100755 --- a/ROMS/Nonlinear/step3d_t.F +++ b/ROMS/Nonlinear/step3d_t.F @@ -1973,23 +1973,34 @@ SUBROUTINE step3d_t_tile (ng, tile, & END DO # ifdef TS_VAR ! -! Compute tracer variance. +! Compute numerical and physical destruction of tracer variance. ! itrc=inert(1) DO j=JstrR,JendR DO i=IstrR,IendR DO k=1,N(ng) -# if !defined SPLINES_VDIFF || defined TS_MPDATA +# if !defined SPLINES_VDIFF + ! Multiply by oHz to convert to Tunits. t(i,j,k,nnew,itrc)=t(i,j,k,nnew,itrc)*oHz(i,j,k) t(i,j,k,nnew,itrc+1)=t(i,j,k,nnew,itrc+1)*oHz(i,j,k) -# endif +# else + ! Multiply by oHz to convert to Tunits. Only necessary for MPDATA. + if ((Hadvection(itrc,ng)%MPDATA)) then + t(i,j,k,nnew,itrc)=t(i,j,k,nnew,itrc)*oHz(i,j,k) + t(i,j,k,nnew,itrc+1)=t(i,j,k,nnew,itrc+1)*oHz(i,j,k) + end if +# endif + ! Compute numerical mixing: mnum = ( A{c^2} - (A{c})^2 ) / dt t(i,j,k,nnew,itrc+2)=(t(i,j,k,nnew,itrc+1)- & & t(i,j,k,nnew,itrc)*t(i,j,k,nnew,itrc))/& & dt(ng) END DO DO k=1,N(ng)-1 + ! Compute vertical salinity gradient cff=(t(i,j,k+1,nnew,isalt)-t(i,j,k,nnew,isalt))/ & & (z_r(i,j,k+1)-z_r(i,j,k)) + ! Compute destruction of vertical salinity variance, + ! mphy = 2*kappa_v*(ds/dz)^2 AKr(i,j,k)=2.0_r8*cff*cff*(Akt(i,j,k,itemp)- & & Akt_bak(itemp,ng)) END DO