<p><b>duda</b> 2010-10-29 12:52:14 -0600 (Fri, 29 Oct 2010)</p><p>BRANCH COMMIT<br>
<br>
Remove pressure_p and exner from input, and instead compute them<br>
upon a cold-start in init_coupled_diagnostics().<br>
<br>
<br>
M    src/core_nhyd_atmos/Registry<br>
M    src/core_nhyd_atmos/module_time_integration.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_nonhydrostatic/src/core_nhyd_atmos/Registry
===================================================================
--- branches/atmos_nonhydrostatic/src/core_nhyd_atmos/Registry        2010-10-29 17:06:59 UTC (rev 586)
+++ branches/atmos_nonhydrostatic/src/core_nhyd_atmos/Registry        2010-10-29 18:52:14 UTC (rev 587)
@@ -168,7 +168,7 @@
 var persistent real    rt_diabatic_tend ( nVertLevels nCells Time ) 1 - rt_diabatic_tend tend - -
 
 # state variables diagnosed from prognostic state
-var persistent real    pressure_p ( nVertLevels nCells Time ) 1 iro pressure_p diag - -
+var persistent real    pressure_p ( nVertLevels nCells Time ) 1 ro pressure_p diag - -
 
 var persistent real    u_init ( nVertLevels ) 0 iro u_init mesh - -
 var persistent real    t_init ( nVertLevels nCells ) 0 iro t_init mesh - -
@@ -196,7 +196,7 @@
 var persistent real    gradPVn ( nVertLevels nEdges Time ) 1 - gradPVn diag - -
 var persistent real    h_divergence ( nVertLevels nCells Time ) 1 o h_divergence diag - -
 
-var persistent real    exner ( nVertLevels nCells Time ) 1 iro exner diag - -
+var persistent real    exner ( nVertLevels nCells Time ) 1 ro exner diag - -
 var persistent real    exner_base ( nVertLevels nCells Time ) 1 iro exner_base diag - -
 var persistent real    rtheta_base ( nVertLevels nCells Time ) 1 r rtheta_base diag - -
 var persistent real    pressure_base ( nVertLevels nCells Time ) 1 iro pressure_base diag - -

Modified: branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_time_integration.F
===================================================================
--- branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_time_integration.F        2010-10-29 17:06:59 UTC (rev 586)
+++ branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_time_integration.F        2010-10-29 18:52:14 UTC (rev 587)
@@ -3237,7 +3237,11 @@
       type (mesh_type), intent(inout) :: grid
 
       integer :: k,iCell,iEdge,i,iCell1,iCell2
+      real (kind=RKIND) :: p0, rcv
 
+      rcv = rgas / (cp-rgas)
+      p0 = 1.e5  ! this should come from somewhere else...
+
       do iEdge = 1, grid % nEdges
          iCell1 = grid % cellsOnEdge % array(1,iEdge)
          iCell2 = grid % cellsOnEdge % array(2,iEdge)
@@ -3275,6 +3279,21 @@
          end do
       end do
 
+      do iCell=1,grid % nCells
+         do k=1,grid % nVertLevels
+            diag % exner % array(k,iCell) = (grid % zz % array(k,iCell) * (rgas/p0) * (diag % rtheta_p % array(k,iCell) + diag % rtheta_base % array(k,iCell)))**rcv
+         end do
+      end do
+
+      do iCell=1,grid % nCells
+         do k=1,grid % nVertLevels
+            diag % pressure_p % array(k,iCell) = grid % zz % array(k,iCell) * rgas &amp;
+                                               * (  diag % exner % array(k,iCell) * diag % rtheta_p % array(k,iCell) &amp;
+                                                  + diag % rtheta_base % array(k,iCell) * (diag % exner % array(k,iCell) - diag % exner_base % array(k,iCell)) &amp;
+                                                 )
+         end do
+      end do
+
    end subroutine init_coupled_diagnostics
 
 ! ------------------------

</font>
</pre>