<p><b>duda</b> 2010-10-27 15:11:07 -0600 (Wed, 27 Oct 2010)</p><p>BRANCH COMMIT<br>
<br>
Simplify the content of a "cold start" input files by <br>
computing w in test case setup from rw and rho, <br>
computing rw from w and rho in init_coupled_diagnostics(), <br>
and removing rw from input and output files.<br>
<br>
<br>
M src/core_nhyd_atmos/module_test_cases.F<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-27 14:59:50 UTC (rev 582)
+++ branches/atmos_nonhydrostatic/src/core_nhyd_atmos/Registry        2010-10-27 21:11:07 UTC (rev 583)
@@ -216,7 +216,7 @@
var persistent real ru_save ( nVertLevels nEdges Time ) 1 - ru_save diag - -
-var persistent real rw ( nVertLevelsP1 nCells Time ) 1 iro rw diag - -
+var persistent real rw ( nVertLevelsP1 nCells Time ) 1 r rw diag - -
var persistent real rw_p ( nVertLevelsP1 nCells Time ) 1 r rw_p diag - -
var persistent real rw_save ( nVertLevelsP1 nCells Time ) 1 - rw_save diag - -
Modified: branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_test_cases.F
===================================================================
--- branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_test_cases.F        2010-10-27 14:59:50 UTC (rev 582)
+++ branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_test_cases.F        2010-10-27 21:11:07 UTC (rev 583)
@@ -732,7 +732,15 @@
end do
+ ! Compute w from rho and rw
+ do iCell=1,grid%nCells
+ do k=2,grid%nVertLevels
+ state % w % array(k,iCell) = diag % rw % array(k,iCell) &
+ / (fzp(k) * state % rho % array(k-1,iCell) + fzm(k) * state % rho % array(k,iCell))
+ end do
+ end do
+
!
! Compute mass fluxes tangential to each edge (i.e., through the faces of dual grid cells)
!
@@ -1900,7 +1908,15 @@
end do
+ ! Compute w from rho and rw
+ do iCell=1,grid%nCells
+ do k=2,grid%nVertLevels
+ state % w % array(k,iCell) = diag % rw % array(k,iCell) &
+ / (fzp(k) * state % rho % array(k-1,iCell) + fzm(k) * state % rho % array(k,iCell))
+ end do
+ end do
+
do iEdge=1,grid % nEdges
grid % fEdge % array(iEdge) = 0.
end do
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-27 14:59:50 UTC (rev 582)
+++ branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_time_integration.F        2010-10-27 21:11:07 UTC (rev 583)
@@ -3246,6 +3246,16 @@
end do
end do
+ ! Compute w from rho and rw
+ do iCell=1,grid%nCells
+ diag % rw % array(1,iCell) = 0.
+ diag % rw % array(grid%nVertLevels+1,iCell) = 0.
+ do k=2,grid%nVertLevels
+ diag % rw % array(k,iCell) = state % w % array(k,iCell) &
+ * (grid % fzp % array(k) * state % rho % array(k-1,iCell) + grid % fzm % array(k) * state % rho % array(k,iCell))
+ end do
+ end do
+
do iCell = 1, grid % nCells
do k=1,grid % nVertLevels
diag % rho_p % array(k,iCell) = state % rho % array(k,iCell) - diag % rho_base % array(k,iCell)
</font>
</pre>