<p><b>laura@ucar.edu</b> 2010-07-23 15:14:44 -0600 (Fri, 23 Jul 2010)</p><p>interface between physics and hydrostatic dynamical core<br>
</p><hr noshade><pre><font color="gray">Added: branches/atmos_physics/src/core_physics/module_physics_interface_hyd.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_physics_interface_hyd.F                                (rev 0)
+++ branches/atmos_physics/src/core_physics/module_physics_interface_hyd.F        2010-07-23 21:14:44 UTC (rev 411)
@@ -0,0 +1,96 @@
+!=============================================================================================
+ module module_physics_interface_hyd
+ use configure
+ use grid_types
+
+ use module_physics_vars
+
+ implicit none
+ private
+ public:: microphysics_hyd_to_phys, &amp;
+          microphysics_phys_to_hyd
+
+ contains
+
+!=============================================================================================
+ subroutine microphysics_hyd_to_phys(vars)
+!=============================================================================================
+
+!input variables:
+ type(grid_state),intent(in):: vars
+
+!local variables:
+ integer:: i,k,j
+
+!---------------------------------------------------------------------------------------------
+
+!initialization:
+
+!do j = jts, jtf
+!do k = kts, ktf
+!do i = its, itf
+!   dz_phy(i,k,j) = (vars % geopotential % array(k+1,i)    &amp;
+!                 -  vars % geopotential % array(k,i)) / g
+!   p_phy(i,k,j)  = (vars % pressure % array(k+1,i)        &amp;
+!                 +  vars % pressure % array(k,i)) / 2
+!   th_phy(i,k,j) = vars % theta % array(k,i)
+
+!   pi_phy(i,k,j) = (p_phy(i,k,j)/p0)**(rgas/cp)
+
+!   qv_phy(i,k,j) = vars % scalars % array(index_qv,k,i)
+!   qc_phy(i,k,j) = vars % scalars % array(index_qc,k,i)
+!   qr_phy(i,k,j) = vars % scalars % array(index_qr,k,i)
+!   qi_phy(i,k,j) = vars % scalars % array(index_qi,k,i)
+!   qs_phy(i,k,j) = vars % scalars % array(index_qs,k,i)
+!   qg_phy(i,k,j) = vars % scalars % array(index_qg,k,i)
+
+!   qnr_phy(i,k,j) = vars % scalars % array(index_qnr,k,i)
+!   qni_phy(i,k,j) = vars % scalars % array(index_qni,k,i)
+!enddo
+!enddo
+!enddo
+
+ end subroutine microphysics_hyd_to_phys
+
+!=============================================================================================
+ subroutine microphysics_phys_to_hyd(vars, grid)
+!=============================================================================================
+
+!input variables:
+ type(grid_meta) ,intent(in):: grid
+
+!output variables:
+ type(grid_state),intent(out):: vars
+
+!local variables:
+ integer:: i,k,j
+ integer:: itf,ktf,jtf
+
+!---------------------------------------------------------------------------------------------
+
+!initialization:
+ itf = ite ; jtf = jte ; ktf = kte-1
+
+ do j = jts, jtf
+ do k = kts, ktf
+ do i = its, itf
+    vars%theta%array(k,i) = th_p(i,k,j)
+    vars%scalars%array(index_qv,k,i)  = qv_p(i,k,j)
+    vars%scalars%array(index_qc,k,i)  = qc_p(i,k,j)
+    vars%scalars%array(index_qr,k,i)  = qr_p(i,k,j)
+    vars%scalars%array(index_qi,k,i)  = qi_p(i,k,j)
+    vars%scalars%array(index_qs,k,i)  = qs_p(i,k,j)
+    vars%scalars%array(index_qg,k,i)  = qg_p(i,k,j)
+    vars%scalars%array(index_qnr,k,i) = qnr_p(i,k,j)
+    vars%scalars%array(index_qni,k,i) = qni_p(i,k,j)
+ enddo
+ enddo
+ enddo
+
+ end subroutine microphysics_phys_to_hyd
+
+!=============================================================================================
+ end module module_physics_interface_hyd
+!=============================================================================================
+
+

</font>
</pre>