<p><b>laura@ucar.edu</b> 2011-01-13 16:32:28 -0700 (Thu, 13 Jan 2011)</p><p>Initial driver for land-surface model parameterizations<br>
</p><hr noshade><pre><font color="gray">Added: branches/atmos_physics/src/core_physics/module_driver_lsm.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_driver_lsm.F                                (rev 0)
+++ branches/atmos_physics/src/core_physics/module_driver_lsm.F        2011-01-13 23:32:28 UTC (rev 687)
@@ -0,0 +1,142 @@
+!=============================================================================================
+ module module_driver_lsm
+ use grid_types
+ use configure
+
+ use module_physics_lsm_noahinit
+ use module_physics_vars

+ implicit none
+ private
+ public:: init_lsm

+ logical,parameter:: rdxmaxalb = .true.  !use snow albedo from geogrid;false use table values
+ logical,parameter:: usemonalb = .false. !use climatological albedo instead of table values
+
+ integer,parameter:: isice            = 0
+ integer,parameter:: isurban          = 0
+ integer,parameter:: sf_urban_physics = 0 !activate urban canopy model (=0: no urban canopy) 
+
+ contains
+
+!=============================================================================================
+ subroutine allocate_lsm
+!=============================================================================================
+
+
+
+
+ end subroutine allocate_lsm
+
+!=============================================================================================
+ subroutine deallocate_lsm
+!=============================================================================================
+
+
+
+
+ end subroutine deallocate_lsm
+
+!=============================================================================================
+ subroutine lsm_from_MPAS
+!=============================================================================================
+
+
+
+
+ end subroutine lsm_from_MPAS

+!=============================================================================================
+ subroutine lsm_to_MPAS
+!=============================================================================================
+
+
+
+
+ end subroutine lsm_to_MPAS

+!=============================================================================================
+ subroutine init_lsm(dminfo,mesh,diag_physics,sfc_input)
+!=============================================================================================
+
+!input arguments:
+ type(dm_info),intent(in):: dminfo
+ type(mesh_type):: mesh
+
+!inout arguments:
+ type(diag_physics_type),intent(inout):: diag_physics
+ type(sfc_input_type),intent(inout):: sfc_input
+
+!---------------------------------------------------------------------------------------------
+
+ write(0,*) '--- begin land surface model initialization:'
+
+ lsm_select: select case (trim(lsm_scheme))
+
+    case (&quot;noah&quot;)
+       write(0,*) '       enter subroutine noah_init_forMPAS:'
+       call noah_init_forMPAS(dminfo,mesh,diag_physics,sfc_input)
+       write(0,*) '       end subroutine noah_init_forMPAS'
+    
+    case default

+ end select lsm_select
+
+ write(0,*) '--- end land surface model initialization'
+
+ end subroutine init_lsm
+
+!=============================================================================================
+ subroutine driver_lsm
+!=============================================================================================
+
+!---------------------------------------------------------------------------------------------
+ write(0,*) '--- enter subroutine driver_lsm:'
+
+!copy all MPAS arrays to rectangular grid:
+ call lsm_from_MPAS
+
+!call to land-surface scheme:
+ lsm_select: select case (trim(lsm_scheme))
+
+!   case(&quot;noah&quot;)
+!      write(0,*) '--- enter subroutine lsm:'
+!      call lsm( &amp;
+!               dz8w      = dz_p        , qv3d     = qv_p       , p8w3d  = pres2_p  , 
+!               t3d       = t_phy       , tsk      = tsk_p      , hfx    = hfx_p    ,
+!               qfx       = qfx_p       , lh       = lh_p       , grdflx = grdflx_p ,
+!               qgh       = qgh_p       , gsw      = gsw_p      , swdown = swdown_p ,     &amp;
+!               glw       = glw_p       , smstav   = smstav_p   , smstot = smstot_p ,
+!               sfcrunoff = sfcrunoff_p , udrunoff = udrunoff_p , ivgtyp = ivgtyp_p ,
+!               isltyp    = isltyp_p    , isurban  = isurban    , isice  = isice    ,
+!               veg_fra   = vegfra_p    , albedo   = albedo_p   , albbck = albbck_p ,
+!               znt       = znt_p       , z0       = z0_p       , tmn    = tmn_p    ,
+!               xland     = xlan_p      , xice     = xice_p     , snowc  = snowc_p  ,
+!               qsfc      = qsfc_p      , rainbl   = rainbl_p   , mminlu = mminlu   ,
+!               num_soil_layers = num_soil_layers , dt = dt , dzs = dzs_p ,
+!               itimestep = itimestep
+!               rib     = rib_p     ,
+!               noahres = noahres_p ,
+!               sf_urban_physics = sf_urban_physics ,
+!               ids = ids , ide = ide , jds = jds , jde = jde , kds = kds , kde = kde ,      &amp;
+!               ims = ims , ime = ime , jms = jms , jme = jme , kms = kms , kme = kme ,      &amp;
+!               its = its , ite = ite , jts = jts , jte = jte , kts = kts , kte = kte        &amp;
+!              )
+
+       write(0,*) '--- exit subroutine lsm'
+
+    case default
+
+ end select lsm_select
+
+!copy all arrays back to MPAS geodesic grid:
+ call lsm_to_MPAS
+
+ write(0,*) '--- end subroutine driver_lsm'
+ write(0,*)
+
+ end subroutine driver_lsm
+
+!=============================================================================================
+ end module module_driver_lsm
+!=============================================================================================

</font>
</pre>