<p><b>laura@ucar.edu</b> 2013-03-01 10:48:20 -0700 (Fri, 01 Mar 2013)</p><p>modified driver so that we can use the variable dx_p instead of area_p in the calculation of the subgrid mountain scale (cleff) in ./physics_wrf/module_bl_gwdo.F.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_gwdo.F
===================================================================
--- branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_gwdo.F        2013-03-01 17:44:06 UTC (rev 2533)
+++ branches/atmos_physics/src/core_atmos_physics/mpas_atmphys_driver_gwdo.F        2013-03-01 17:48:20 UTC (rev 2534)
@@ -23,7 +23,7 @@
  subroutine allocate_gwdo
 !=============================================================================================
 
- if(.not.allocated(area_p)  ) allocate(area_p(ims:ime,jms:jme)  )
+ if(.not.allocated(dx_p)    ) allocate(dx_p(ims:ime,jms:jme)    )
  if(.not.allocated(var2d_p) ) allocate(var2d_p(ims:ime,jms:jme) )
  if(.not.allocated(con_p)   ) allocate(con_p(ims:ime,jms:jme)   )
  if(.not.allocated(oa1_p)   ) allocate(oa1_p(ims:ime,jms:jme)   )
@@ -49,7 +49,7 @@
  subroutine deallocate_gwdo
 !=============================================================================================
 
- if(allocated(area_p)  ) deallocate(area_p  )
+ if(allocated(dx_p)    ) deallocate(dx_p    )
  if(allocated(var2d_p) ) deallocate(var2d_p )
  if(allocated(con_p)   ) deallocate(con_p   )
  if(allocated(oa1_p)   ) deallocate(oa1_p   )
@@ -81,11 +81,20 @@
  type(diag_physics_type),intent(in):: diag_physics
  type(tend_physics_type),intent(in):: tend_physics
 
+!local variables:
+ integer:: iEdge
+
 !---------------------------------------------------------------------------------------------
 
  do j = jts,jte
  do i = its,ite
-    area_p(i,j)  = mesh % areaCell % array(i)
+    iEdge = mesh%nEdgesOnCell%array(i)
+    dx_p(i,j) = maxval(mesh%dcEdge%array(mesh%edgesOnCell%array(1:iEdge,i)))
+ enddo
+ enddo
+
+ do j = jts,jte
+ do i = its,ite
     var2d_p(i,j) = sfc_input % var2d % array(i)
     con_p(i,j)   = sfc_input % con   % array(i)
     oa1_p(i,j)   = sfc_input % oa1   % array(i)
@@ -142,12 +151,22 @@
  do i = its,ite
     diag_physics % dtaux3d % array(k,i) = dtaux3d_p(i,k,j)
     diag_physics % dtauy3d % array(k,i) = dtauy3d_p(i,k,j)
+    diag_physics % rubldiff % array(k,i) = rublten_p(i,k,j)-tend_physics%rublten%array(k,i)
+    diag_physics % rvbldiff % array(k,i) = rvblten_p(i,k,j)-tend_physics%rvblten%array(k,i) 
+
     tend_physics % rublten % array(k,i) = rublten_p(i,k,j)
     tend_physics % rvblten % array(k,i) = rvblten_p(i,k,j)
  enddo
  enddo
  enddo
 
+!write(0,*)
+!write(0,*) '--- end subroutine gwdo_to_MPAS:'
+!do i = its,ite
+!   write(0,101) i,diag_physics%dusfcg%array(i),diag_physics%dvsfcg%array(i)
+!enddo
+!101 format(i8,2(1x,e15.8))
+
  end subroutine gwdo_to_MPAS
  
 !=============================================================================================
@@ -163,6 +182,10 @@
  type(diag_physics_type),intent(inout):: diag_physics
  type(tend_physics_type),intent(inout):: tend_physics
 
+!local variables:
+ integer:: i,iCell,iEdge
+ real(kind=RKIND),dimension(:),allocatable:: dx_max
+
 !--------------------------------------------------------------------------------------------- 
  write(0,*)
  write(0,*) '--- enter subroutine driver_gwdo: dt_pbl=',dt_pbl
@@ -176,21 +199,21 @@
 #if defined(do_hydrostatic_pressure)
 !... REARRANGED CALL USING HYDROSTATIC PRESSURE:
        call gwdo ( &amp;
-                  p3d      = pres_hydd_p , p3di      = pres2_hydd_p , pi3d    = pi_p      , &amp;
-                  u3d      = u_p         , v3d       = v_p          , t3d     = t_p       , &amp; 
-                  qv3d     = qv_p        , z         = z_p          , rublten = rublten_p , &amp;
-                  rvblten  = rvblten_p   , dtaux3d   = dtaux3d_p    , dtauy3d = dtauy3d_p , &amp;
-                  dusfcg   = dusfcg_p    , dvsfcg    = dvsfcg_p     , kpbl2d  = kpbl_p    , &amp;
-                  areaCell = area_p      , itimestep = itimestep    , dt      = dt_pbl    , &amp;       
-                  dx       = len_disp    , cp        = cp           , g       = g         , &amp; 
-                  rd       = R_d         , rv        = R_v          , ep1     = ep_1      , &amp;       
-                  pi       = pii         , var2d     = var2d_p      , oc12d   = con_p     , &amp;        
-                  oa2d1    = oa1_p       , oa2d2     = oa2_p        , oa2d3   = oa3_p     , &amp;
-                  oa2d4    = oa4_p       , ol2d1     = ol1_p        , ol2d2   = ol2_p     , &amp;
-                  ol2d3    = ol3_p       , ol2d4     = ol4_p        ,                       &amp;
-                  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;
+                  p3d       = pres_hydd_p , p3di      = pres2_hydd_p , pi3d    = pi_p      , &amp;
+                  u3d       = u_p         , v3d       = v_p          , t3d     = t_p       , &amp; 
+                  qv3d      = qv_p        , z         = z_p          , rublten = rublten_p , &amp;
+                  rvblten   = rvblten_p   , dtaux3d   = dtaux3d_p    , dtauy3d = dtauy3d_p , &amp;
+                  dusfcg    = dusfcg_p    , dvsfcg    = dvsfcg_p     , kpbl2d  = kpbl_p    , &amp;
+                  itimestep = itimestep   , dt        = dt_pbl       , dx      = dx_p      , &amp; 
+                  cp        = cp          , g         = g            , rd      = R_d       , &amp; 
+                  rv        = R_v         , ep1       = ep_1         , pi      = pii       , &amp; 
+                  var2d     = var2d_p     , oc12d     = con_p        , oa2d1   = oa1_p     , &amp; 
+                  oa2d2     = oa2_p       , oa2d3     = oa3_p        , oa2d4   = oa4_p     , &amp;
+                  ol2d1     = ol1_p       , ol2d2     = ol2_p        , ol2d3   = ol3_p     , &amp; 
+                  ol2d4     = ol4_p       ,                                                  &amp;
+                  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;
                  )
 #else
 !... REARRANGED CALL:

</font>
</pre>