/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/slope_limiter.F
ViewVC logotype

Diff of /MITgcm_contrib/dgoldberg/streamice/slope_limiter.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

--- MITgcm_contrib/dgoldberg/streamice/slope_limiter.F	2013/05/23 22:12:33	1.2
+++ MITgcm_contrib/dgoldberg/streamice/slope_limiter.F	2013/06/11 20:19:45	1.3
@@ -1,22 +1,29 @@
 #include "CPP_OPTIONS.h"
 
-      _RL FUNCTION SLOPE_LIMITER (num, denom)
- 
-       _RL num, denom
+!      _RL FUNCTION SLOPE_LIMITER (num, denom)
+
+       _RL FUNCTION SLOPE_LIMITER (Cr)
+
+!       _RL num, denom
 !       _RL SLOPE_LIMITER
-       _RL r
+!       _RL r
+       _RL Cr
 
 ! used for flux limiting in advective subroutines
 ! Van Leer limiter (source: Wikipedia!)
 
-       if (denom .eq. 0.0) then
-        SLOPE_LIMITER = 0.0
-       elseif (num*denom .le. 0.0) then
-        SLOPE_LIMITER = 0.0
-       else
-        r = num/denom
-        SLOPE_LIMITER = (r+abs(r))/(1+abs(r))
-       endif
+!       if (denom .eq. 0.0) then
+!        SLOPE_LIMITER = 0.0
+!       elseif (num*denom .le. 0.0) then
+!        SLOPE_LIMITER = 0.0
+!       else
+!        r = num/denom
+!        SLOPE_LIMITER = (r+abs(r))/(1+abs(r))
+!       endif
+
+       SLOPE_LIMITER = max(0.D0,max(min(1.D0,2.D0*Cr),
+     &                 min(2.D0,Cr)))
+
 
        RETURN
        END 

 

  ViewVC Help
Powered by ViewVC 1.1.22