<p><b>laura@ucar.edu</b> 2010-07-23 14:59:56 -0600 (Fri, 23 Jul 2010)</p><p>driver for parameterizations of planetary boundary layer processes<br>
</p><hr noshade><pre><font color="gray">Added: branches/atmos_physics/src/core_physics/module_pbl.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_pbl.F                                (rev 0)
+++ branches/atmos_physics/src/core_physics/module_pbl.F        2010-07-23 20:59:56 UTC (rev 404)
@@ -0,0 +1,83 @@
+!=============================================================================================
+ module module_pbl
+ use grid_types
+ use constants
+
+ use module_bl_ysu
+ use module_physics_constants, rovcp =&gt; rcp  ,  rd =&gt;  R_d , rovg =&gt; rdg , &amp;
+                               ep1   =&gt; ep_1 , ep2 =&gt; ep_2 , rv   =&gt; R_v
+ use module_physics_vars
+
+ implicit none
+ private
+ public:: pbl_allocate,   &amp;
+          pbl_deallocate, &amp;
+          pbl_driver
+
+ contains
+
+!=============================================================================================
+ subroutine pbl_allocate
+!=============================================================================================
+
+!tendencies
+ if(.not.allocated(rublten_phy) ) allocate(rublten_phy(ims:ime,kms:kme,jms:jme)  )
+ if(.not.allocated(rvblten_phy) ) allocate(rvblten_phy(ims:ime,kms:kme,jms:jme)  )
+ if(.not.allocated(rthblten_phy)) allocate(rthblten_phy(ims:ime,kms:kme,jms:jme) )
+ if(.not.allocated(rqvblten_phy)) allocate(rqvblten_phy(ims:ime,kms:kme,jms:jme) )
+ if(.not.allocated(rqcblten_phy)) allocate(rqcblten_phy(ims:ime,kms:kme,jms:jme) )
+ if(.not.allocated(rqiblten_phy)) allocate(rqiblten_phy(ims:ime,kms:kme,jms:jme) )
+
+ end subroutine pbl_allocate
+
+!=============================================================================================
+ subroutine pbl_deallocate
+!=============================================================================================
+
+!tendencies
+ if(allocated(rublten_phy) ) deallocate(rublten_phy  )
+ if(allocated(rvblten_phy) ) deallocate(rvblten_phy  )
+ if(allocated(rthblten_phy)) deallocate(rthblten_phy )
+ if(allocated(rqvblten_phy)) deallocate(rqvblten_phy )
+ if(allocated(rqcblten_phy)) deallocate(rqcblten_phy )
+ if(allocated(rqiblten_phy)) deallocate(rqiblten_phy )
+
+ end subroutine pbl_deallocate
+
+!=============================================================================================
+ subroutine pbl_driver(itimestep,grid,vars)
+!=============================================================================================
+
+!input and output arguments:
+!---------------------------
+ integer,intent(in):: itimestep
+ type(grid_meta),intent(in):: grid
+ type(grid_state),intent(out):: vars
+
+!--------------------------------------------------------------------------------------------- 
+ write(6,*) '--- enter pbl driver:'
+
+!pbl_select: select_case(pbl_scheme)
+
+    !call to ysu pbl scheme:
+!    call ysu ( &amp;
+!                     u_phy ,        v_phy ,       th_phy ,        t_phy ,  &amp;      
+!                    qv_phy ,       qc_phy ,       qi_phy ,        p_phy ,  &amp;
+!                    pz_phy ,       pi_phy ,  rublten_phy ,  rvblten_phy ,  &amp;
+!              rthblten_phy , rqvblten_phy , rqcblten_phy , rqiblten_phy ,  &amp;
+!               pbl_flag_qi ,           cp ,            g ,        rovcp ,  &amp;
+!                        rd ,         rovg ,          ep1 ,          ep2 ,  &amp;
+!                    karman ,          xlv ,           rv ,       dz_phy ,  &amp;
+!                  psfc_phy
+!             )
+
+
+!end select pbl_select
+ write(6,*) '--- end pbl_driver:'
+ stop
+
+ end subroutine pbl_driver
+
+!=============================================================================================
+ end module module_pbl
+!=============================================================================================

</font>
</pre>