<p><b>duda</b> 2010-08-05 13:13:11 -0600 (Thu, 05 Aug 2010)</p><p>BRANCH COMMIT<br>
<br>
Fix computation of full pressure and inverse dry density in CAM_INIDAT_TO_MPAS().<br>
<br>
M    src/driver_cam_interface/module_mpas_cam_interface.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/mpas_cam_coupling/src/driver_cam_interface/module_mpas_cam_interface.F
===================================================================
--- branches/mpas_cam_coupling/src/driver_cam_interface/module_mpas_cam_interface.F        2010-08-03 18:45:57 UTC (rev 460)
+++ branches/mpas_cam_coupling/src/driver_cam_interface/module_mpas_cam_interface.F        2010-08-05 19:13:11 UTC (rev 461)
@@ -130,6 +130,7 @@
       real (kind=RKIND), dimension(Numcols,Plev,Pcnst), intent(in) :: Tracer
 
       integer :: iCell, iEdge, iScalar, k, i
+      real (kind=RKIND) :: qtot
       real (kind=RKIND), dimension(Plev+1) :: znu, znw, znwc, znwv
       real (kind=RKIND), dimension(Plev+1) :: znuc, znuv, bn, divh, dpn
       type (block_type), pointer :: block
@@ -283,12 +284,14 @@
 
          pressure(Plev+1,iCell) = Ptop
          do k=Plev,1,-1
-            pressure(k,iCell) = pressure(k+1,iCell)-dnw(k)*h(k,iCell)
+            qtot = sum(Tracer(iCell,k,1:Pcnst))
+            pressure(k,iCell) = pressure(k+1,iCell)-dnw(k)*h(k,iCell)*(1.0 + qtot)
          end do
 
          do k=1,Plev
             t_pot(k,iCell) = Theta(iCell,k)
-            alpha(k,iCell) = (rgas/p0) * Theta(iCell,k) * (0.5*(pressure(k,iCell)+pressure(k+1,iCell))/p0)**cvpm
+            alpha(k,iCell) = (rgas/p0) * Theta(iCell,k) * (1.0 + 1.61*Tracer(iCell,k,1))      &amp;    ! NB: Assume that first Tracer is qv
+                                       * (0.5*(pressure(k,iCell)+pressure(k+1,iCell))/p0)**cvpm
          end do
 
          geopotential(1,iCell) = Phis(iCell)

</font>
</pre>