<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 ("noah")
+ 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("noah")
+! write(0,*) '--- enter subroutine lsm:'
+! call lsm( &
+! 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 , &
+! 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 , &
+! ims = ims , ime = ime , jms = jms , jme = jme , kms = kms , kme = kme , &
+! its = its , ite = ite , jts = jts , jte = jte , kts = kts , kte = kte &
+! )
+
+ 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>