<p><b>laura@ucar.edu</b> 2011-05-09 11:28:55 -0600 (Mon, 09 May 2011)</p><p>added physics tendencies in advection of scalars (subroutines advance_scalars and advance_scalars_mono<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_nhyd_atmos/module_time_integration.F
===================================================================
--- branches/atmos_physics/src/core_nhyd_atmos/module_time_integration.F        2011-05-09 17:27:00 UTC (rev 815)
+++ branches/atmos_physics/src/core_nhyd_atmos/module_time_integration.F        2011-05-09 17:28:55 UTC (rev 816)
@@ -1187,11 +1187,6 @@
 
       real (kind=RKIND) :: h_theta_eddy_visc2, v_theta_eddy_visc2, scalar_turb_flux, z1,z2,z3,z4,zm,z0,zp
 
-#ifdef DO_PHYSICS
-      character(len=80):: errmess
-      real(kind=RKIND):: scalar_max,scalar_min
-#endif
-
       real (kind=RKIND) :: flux3, flux4
       real (kind=RKIND) :: q_im2, q_im1, q_i, q_ip1, ua, coef3
 
@@ -1241,19 +1236,9 @@
       qv_init      =&gt; grid % qv_init % array
       zgrid        =&gt; grid % zgrid % array
 
-!#ifndef DO_PHYSICS
-!     scalar_tend = 0.  !  testing purposes - we have no sources or sinks
-!#else
-!testing:
- write(0,*)
- write(0,*) 'subroutine advance_scalars:'
- write(0,*) 'max tend qv=',maxval(scalar_tend(tend%index_qv,:,:))
- write(0,*) 'max tend qc=',maxval(scalar_tend(tend%index_qc,:,:))
- write(0,*) 'max tend qr=',maxval(scalar_tend(tend%index_qr,:,:))
- write(0,*) 'max tend qi=',maxval(scalar_tend(tend%index_qi,:,:))
- write(0,*) 'max tend qs=',maxval(scalar_tend(tend%index_qs,:,:))
- write(0,*)
-!#endif
+#ifndef DO_PHYSICS
+      scalar_tend = 0.  !  testing purposes - we have no sources or sinks
+#endif
 
       !
       ! Runge Kutta integration, so we compute fluxes from scalar_new values, update starts form scalar_old
@@ -1501,17 +1486,6 @@
          end do
       end do
 
-#ifdef DO_PHYSICS
-      101 format(' min, max scalar',i4,2(1x,e17.10))
-      !testing:
-      do iScalar=1,s_old%num_scalars
-         scalar_max = maxval(scalar_new(iScalar,:,:))
-         scalar_min = minval(scalar_new(iScalar,:,:))
-         write(0,101) iScalar,scalar_min,scalar_max
-      enddo   
-#endif
-
-
    end subroutine advance_scalars
 
 
@@ -1560,13 +1534,6 @@
       real (kind=RKIND) :: flux3, flux4
       real (kind=RKIND) :: q_im2, q_im1, q_i, q_ip1, ua, coef3
 
-#ifdef DO_PHYSICS
-      character(len=80):: errmess
-      integer:: imax,imin
-      integer:: kmax,kmin
-      real(kind=RKIND):: scalar_max,scalar_min
-#endif
-
       flux4(q_im2, q_im1, q_i, q_ip1, ua) =                     &amp;
           ua*( 7.*(q_i + q_im1) - (q_ip1 + q_im2) )/12.0
 
@@ -1601,18 +1568,9 @@
 
       nVertLevels = grid % nVertLevels
 
-!#ifndef DO_PHYSICS
-!     scalar_tend = 0.  !  testing purposes - we have no sources or sinks
-!#else
- write(0,*)
- write(0,*) 'subroutine advance_scalars_mono:'
- write(0,*) 'max tend qv=',maxval(scalar_tend(tend%index_qv,:,:))
- write(0,*) 'max tend qc=',maxval(scalar_tend(tend%index_qc,:,:))
- write(0,*) 'max tend qr=',maxval(scalar_tend(tend%index_qr,:,:))
- write(0,*) 'max tend qi=',maxval(scalar_tend(tend%index_qi,:,:))
- write(0,*) 'max tend qs=',maxval(scalar_tend(tend%index_qs,:,:))
- write(0,*)
-!#endif
+#ifndef DO_PHYSICS
+      scalar_tend = 0.  !  testing purposes - we have no sources or sinks
+#endif
 
       !
       ! Runge Kutta integration, so we compute fluxes from scalar_new values, update starts from scalar_old
@@ -1924,19 +1882,12 @@
                                                     / h_new(grid%nVertLevels,iCell)
       enddo
       enddo
-!ldf end.
 
-#ifdef DO_PHYSICS
-      101 format(' min, max scalar ',i4,2(1x,e17.10))
-      102 format(i6,i4,8(1x,e17.10))
-      !testing:
+      !remove negative values:
       do iScalar=1,s_old%num_scalars
-         scalar_max = maxval(scalar_new(iScalar,:,:))
-         scalar_min = minval(scalar_new(iScalar,:,:))
-         write(0,101) iScalar,scalar_min,scalar_max
-         where(scalar_new(iScalar,:,:) .lt. 0.) scalar_new(iScalar,:,:) = 0.
+          where(scalar_new(iScalar,:,:) .lt. 0.) scalar_new(iScalar,:,:) = 0.
       enddo
-#endif
+!ldf end.
 
    end subroutine advance_scalars_mono
 

</font>
</pre>