<p><b>laura@ucar.edu</b> 2012-03-09 16:14:43 -0700 (Fri, 09 Mar 2012)</p><p>Added the calculation of the tendency of water vapor due to horizontal and vertical advection. This new tendency is needed for the Tiedtke parameterization of convection, and for the Kain-Fritsch parameterization of convection when using the trigger option.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_nhyd_atmos/mpas_atm_time_integration.F
===================================================================
--- branches/atmos_physics/src/core_nhyd_atmos/mpas_atm_time_integration.F        2012-03-09 22:13:29 UTC (rev 1616)
+++ branches/atmos_physics/src/core_nhyd_atmos/mpas_atm_time_integration.F        2012-03-09 23:14:43 UTC (rev 1617)
@@ -395,11 +395,24 @@
block => block % next
end do
-!... call to parameterizations of cloud microphysics:
+!... call to parameterizations of cloud microphysics. calculation of the tendency of water vapor to horizontal and
+!... vertical advection needed for the Tiedtke parameterization of convection.
#ifdef DO_PHYSICS
block => domain % blocklist
do while(associated(block))
+ !NOTE: The calculation of the tendency due to horizontal and vertical advection for the water vapor mixing ratio
+ !requires that the subroutine atm_advance_scalars_mono was called on the third Runge Kutta step, so that a halo
+ !update for the scalars at time_levs(1) is applied. A halo update for the scalars at time_levs(2) is done above.
+ if(config_monotonic) then
+ block % tend_physics % rqvdynten % array(:,:) = &
+ ( block % state % time_levs(2) % state % scalars % array(block % state % time_levs(2) % state % index_qv,:,:) &
+ - block % state % time_levs(1) % state % scalars % array(block % state % time_levs(1) % state % index_qv,:,:) ) &
+ / config_dt
+ else
+ block % tend_physics % rqvdynten % array(:,:) = 0._RKIND
+ endif
+
!simply set to zero negative mixing ratios of different water species (for now):
where ( block % state % time_levs(2) % state % scalars % array(:,:,:) .lt. 0.) &
block % state % time_levs(2) % state % scalars % array(:,:,:) = 0.
</font>
</pre>