<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 => rcp , rd => R_d , rovg => rdg , &
+ ep1 => ep_1 , ep2 => ep_2 , rv => R_v
+ use module_physics_vars
+
+ implicit none
+ private
+ public:: pbl_allocate, &
+ pbl_deallocate, &
+ 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 ( &
+! u_phy , v_phy , th_phy , t_phy , &
+! qv_phy , qc_phy , qi_phy , p_phy , &
+! pz_phy , pi_phy , rublten_phy , rvblten_phy , &
+! rthblten_phy , rqvblten_phy , rqcblten_phy , rqiblten_phy , &
+! pbl_flag_qi , cp , g , rovcp , &
+! rd , rovg , ep1 , ep2 , &
+! karman , xlv , rv , dz_phy , &
+! psfc_phy
+! )
+
+
+!end select pbl_select
+ write(6,*) '--- end pbl_driver:'
+ stop
+
+ end subroutine pbl_driver
+
+!=============================================================================================
+ end module module_pbl
+!=============================================================================================
</font>
</pre>