<p><b>dwj07@fsu.edu</b> 2012-02-28 08:44:31 -0700 (Tue, 28 Feb 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Changing epsilon for avoidance of NaNs.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/monotonic_advection/src/operators/mpas_tracer_advection_mono.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/operators/mpas_tracer_advection_mono.F        2012-02-28 02:13:43 UTC (rev 1540)
+++ branches/ocean_projects/monotonic_advection/src/operators/mpas_tracer_advection_mono.F        2012-02-28 15:44:31 UTC (rev 1541)
@@ -48,7 +48,7 @@
real (kind=RKIND), dimension(:,:), pointer :: tracer_cur, tracer_new, upwind_tendency, inv_h_new, tracer_max, tracer_min
real (kind=RKIND), dimension(:,:), pointer :: flux_incoming, flux_outgoing, high_order_horiz_flux, high_order_vert_flux
- real (kind=RKIND), parameter :: eps = 1.e-20
+ real (kind=RKIND), parameter :: eps = 1.e-10
coef_3rd_order = config_coef_3rd_order
@@ -224,10 +224,10 @@
tracer_max_new = (tracer_cur(k,iCell)*h(k,iCell) + dt*(upwind_tendency(k,iCell)+flux_incoming(k,iCell))) * inv_h_new(k,iCell)
tracer_upwind_new = (tracer_cur(k,iCell)*h(k,iCell) + dt*upwind_tendency(k,iCell)) * inv_h_new(k,iCell)
- scale_factor = (tracer_max(k,iCell)-tracer_upwind_new)/max(tracer_max_new-tracer_upwind_new,eps)
+ scale_factor = (tracer_max(k,iCell)-tracer_upwind_new)/(tracer_max_new-tracer_upwind_new+eps)
flux_incoming(k,iCell) = min( 1.0, max( 0.0, scale_factor) )
- scale_factor = (tracer_upwind_new-tracer_min(k,iCell))/max(tracer_upwind_new-tracer_min_new,eps)
+ scale_factor = (tracer_upwind_new-tracer_min(k,iCell))/(tracer_upwind_new-tracer_min_new+eps)
flux_outgoing(k,iCell) = min( 1.0, max( 0.0, scale_factor) )
end do ! k loop
end do ! iCell loop
</font>
</pre>