<p><b>laura@ucar.edu</b> 2011-06-02 10:50:32 -0600 (Thu, 02 Jun 2011)</p><p>moved all sfc_physics arrays to diag_physics arrays to limit the number of physics classes.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_physics/module_driver_lsm.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_driver_lsm.F        2011-06-02 16:49:02 UTC (rev 868)
+++ branches/atmos_physics/src/core_physics/module_driver_lsm.F        2011-06-02 16:50:32 UTC (rev 869)
@@ -169,13 +169,12 @@
  end subroutine deallocate_lsm
 
 !=============================================================================================
- subroutine lsm_from_MPAS(mesh,diag_physics,sfc_physics,sfc_input)
+ subroutine lsm_from_MPAS(mesh,diag_physics,sfc_input)
 !=============================================================================================
 
 !input arguments:
  type(mesh_type),intent(in):: mesh
  type(diag_physics_type),intent(inout):: diag_physics
- type(sfc_physics_type) ,intent(inout):: sfc_physics
  type(sfc_input_type)   ,intent(inout):: sfc_input
 
 !local variables:
@@ -223,7 +222,9 @@
     qsfc_p(i,j)       = diag_physics % qsfc       % array(i)
     qz0_p(i,j)        = diag_physics % qz0        % array(i)
     rib_p(i,j)        = diag_physics % rib        % array(i)
+    sfc_albbck_p(i,j) = diag_physics % sfc_albbck % array(i)
     sfc_albedo_p(i,j) = diag_physics % sfc_albedo % array(i)
+    sfc_emibck_p(i,j) = diag_physics % sfc_emibck % array(i)
     sfc_emiss_p(i,j)  = diag_physics % sfc_emiss  % array(i)
     sfcrunoff_p(i,j)  = diag_physics % sfcrunoff  % array(i)
     smstav_p(i,j)     = diag_physics % smstav     % array(i)
@@ -233,13 +234,10 @@
     snowh_p(i,j)      = diag_physics % snowh      % array(i)
     sr_p(i,j)         = diag_physics % sr         % array(i)
     udrunoff_p(i,j)   = diag_physics % udrunoff   % array(i)
+    xland_p(i,j)      = diag_physics % xland      % array(i)
     z0_p(i,j)         = diag_physics % z0         % array(i)
     znt_p(i,j)        = diag_physics % znt        % array(i)
 
-    sfc_albbck_p(i,j) = sfc_physics % sfc_albbck % array(i)
-    sfc_emibck_p(i,j) = sfc_physics % sfc_emibck % array(i)
-    xland_p(i,j)      = sfc_physics % xland      % array(i)
-
     isltyp_p(i,j)  = sfc_input % isltyp   % array(i)
     ivgtyp_p(i,j)  = sfc_input % ivgtyp   % array(i)
     shdmin_p(i,j)  = sfc_input % shdmin   % array(i)
@@ -268,13 +266,12 @@
  end subroutine lsm_from_MPAS
  
 !=============================================================================================
- subroutine lsm_to_MPAS(mesh,diag_physics,sfc_physics,sfc_input)
+ subroutine lsm_to_MPAS(mesh,diag_physics,sfc_input)
 !=============================================================================================
 
 !input arguments:
  type(mesh_type),intent(in):: mesh
  type(diag_physics_type),intent(inout):: diag_physics
- type(sfc_physics_type) ,intent(inout):: sfc_physics
  type(sfc_input_type)   ,intent(inout):: sfc_input
 
  integer:: ip,iEdg
@@ -315,7 +312,9 @@
     diag_physics % qsfc       % array(i) = qsfc_p(i,j)
     diag_physics % qz0        % array(i) = qz0_p(i,j)
     diag_physics % rib        % array(i) = rib_p(i,j)
+    diag_physics % sfc_albbck % array(i) = sfc_albbck_p(i,j)
     diag_physics % sfc_albedo % array(i) = sfc_albedo_p(i,j)
+    diag_physics % sfc_emibck % array(i) = sfc_emibck_p(i,j)
     diag_physics % sfc_emiss  % array(i) = sfc_emiss_p(i,j)
     diag_physics % sfcrunoff  % array(i) = sfcrunoff_p(i,j)
     diag_physics % smstav     % array(i) = smstav_p(i,j)
@@ -325,13 +324,10 @@
     diag_physics % snowh      % array(i) = snowh_p(i,j)
     diag_physics % sr         % array(i) = sr_p(i,j)
     diag_physics % udrunoff   % array(i) = udrunoff_p(i,j)
+    diag_physics % xland      % array(i) = xland_p(i,j)
     diag_physics % z0         % array(i) = z0_p(i,j)
     diag_physics % znt        % array(i) = znt_p(i,j)
 
-    sfc_physics % sfc_albbck % array(i) = sfc_albbck_p(i,j)
-    sfc_physics % sfc_emibck % array(i) = sfc_emibck_p(i,j)
-    sfc_physics % xland      % array(i) = xland_p(i,j)
-
     !not needed ?:
     sfc_input % isltyp   % array(i) = isltyp_p(i,j)
     sfc_input % ivgtyp   % array(i) = ivgtyp_p(i,j)
@@ -383,7 +379,7 @@
  end subroutine init_lsm
 
 !=============================================================================================
- subroutine driver_lsm(itimestep,mesh,diag_physics,sfc_physics,sfc_input)
+ subroutine driver_lsm(itimestep,mesh,diag_physics,sfc_input)
 !=============================================================================================
 
 !input arguments:
@@ -392,7 +388,6 @@
 
 !inout arguments:
  type(diag_physics_type),intent(inout):: diag_physics
- type(sfc_physics_type),intent(inout) :: sfc_physics
  type(sfc_input_type),intent(inout)   :: sfc_input
 
 !---------------------------------------------------------------------------------------------
@@ -403,7 +398,7 @@
  102 format(3i6,8(1x,e15.8))
 
 !copy all MPAS arrays to rectangular grid:
- call lsm_from_MPAS(mesh,diag_physics,sfc_physics,sfc_input)
+ call lsm_from_MPAS(mesh,diag_physics,sfc_input)
 
 !call to land-surface scheme:
  lsm_select: select case (trim(lsm_scheme))
@@ -451,7 +446,7 @@
  end select lsm_select
 
 !copy all arrays back to MPAS geodesic grid:
- call lsm_to_MPAS(mesh,diag_physics,sfc_physics,sfc_input)
+ call lsm_to_MPAS(mesh,diag_physics,sfc_input)
  write(0,*) '--- end subroutine lsm_to_MPAS:'
 
  end subroutine driver_lsm

Modified: branches/atmos_physics/src/core_physics/module_driver_pbl.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_driver_pbl.F        2011-06-02 16:49:02 UTC (rev 868)
+++ branches/atmos_physics/src/core_physics/module_driver_pbl.F        2011-06-02 16:50:32 UTC (rev 869)
@@ -81,11 +81,10 @@
  end subroutine deallocate_pbl
 
 !=============================================================================================
- subroutine pbl_from_MPAS(diag_physics,sfc_physics)
+ subroutine pbl_from_MPAS(diag_physics)
 !=============================================================================================
 
 !input arguments:
- type(sfc_physics_type) ,intent(in):: sfc_physics
  type(diag_physics_type),intent(in):: diag_physics
 
 !---------------------------------------------------------------------------------------------
@@ -105,7 +104,7 @@
     v10_p(i,j)    = diag_physics % v10    % array(i)
     wspd_p(i,j)   = diag_physics % wspd   % array(i)
     znt_p(i,j)    = diag_physics % znt    % array(i)
-    xland_p(i,j)  = sfc_physics % xland   % array(i)       
+    xland_p(i,j)  = diag_physics % xland  % array(i)       
 !initialization for YSU PBL scheme:
     kpbl_p(i,j)   = 1
  enddo
@@ -162,12 +161,11 @@
  end subroutine pbl_to_MPAS
  
 !=============================================================================================
- subroutine driver_pbl(diag_physics,sfc_physics,tend_physics)
+ subroutine driver_pbl(diag_physics,tend_physics)
 !=============================================================================================
 
 !input and output arguments:
 !---------------------------
- type(sfc_physics_type) ,intent(in)   :: sfc_physics
  type(diag_physics_type),intent(inout):: diag_physics
  type(tend_physics_type),intent(inout):: tend_physics
 
@@ -176,7 +174,7 @@
  write(0,*) '--- enter pbl driver: dt_pbl=',dt_pbl
 
 !copy all MPAS arrays to rectanguler grid arrays:
- call pbl_from_MPAS(diag_physics,sfc_physics)
+ call pbl_from_MPAS(diag_physics)
 
  pbl_select: select case (trim(pbl_scheme))
 

Modified: branches/atmos_physics/src/core_physics/module_driver_radiation_lw.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_driver_radiation_lw.F        2011-06-02 16:49:02 UTC (rev 868)
+++ branches/atmos_physics/src/core_physics/module_driver_radiation_lw.F        2011-06-02 16:50:32 UTC (rev 869)
@@ -86,12 +86,11 @@
  end subroutine deallocate_radiation_lw
 
 !=============================================================================================
- subroutine radiation_lw_from_MPAS(diag_physics,sfc_physics,sfc_input)
+ subroutine radiation_lw_from_MPAS(diag_physics,sfc_input)
 !=============================================================================================
 
 !input arguments:
  type(sfc_input_type)   ,intent(in):: sfc_input
- type(sfc_physics_type) ,intent(in):: sfc_physics
  type(diag_physics_type),intent(in):: diag_physics
 
 !---------------------------------------------------------------------------------------------
@@ -99,7 +98,7 @@
  do j = jts,jte
  do i = its,ite
     sfc_emiss_p(i,j) = diag_physics % sfc_emiss % array(i)
-    xland_p(i,j)     = sfc_physics  % xland     % array(i)
+    xland_p(i,j)     = diag_physics % xland     % array(i)
     tsk_p(i,j)       = sfc_input % skintemp % array(i)
     snow_p(i,j)      = sfc_input % snow     % array(i)
     xice_p(i,j)      = sfc_input % xice     % array(i)
@@ -215,7 +214,7 @@
  end subroutine init_radiation_lw
 
 !=============================================================================================
- subroutine driver_radiation_lw(itimestep,diag_physics,sfc_physics,sfc_input,tend_physics)
+ subroutine driver_radiation_lw(itimestep,diag_physics,sfc_input,tend_physics)
 !=============================================================================================
 
 !input arguments:
@@ -223,7 +222,6 @@
 
 !inout arguments:
  type(diag_physics_type),intent(inout):: diag_physics
- type(sfc_physics_type) ,intent(inout):: sfc_physics
  type(sfc_input_type)   ,intent(inout):: sfc_input
  type(tend_physics_type),intent(inout):: tend_physics
 
@@ -235,7 +233,7 @@
  101 format(i8,12(1x,e15.8))
 
 !copy all MPAS arrays to rectangular grid:
- call radiation_lw_from_MPAS(diag_physics,sfc_physics,sfc_input)
+ call radiation_lw_from_MPAS(diag_physics,sfc_input)
 
 !call to longwave radiation scheme:
  radiation_lw_select: select case (trim(radt_lw_scheme))

Modified: branches/atmos_physics/src/core_physics/module_driver_radiation_sw.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_driver_radiation_sw.F        2011-06-02 16:49:02 UTC (rev 868)
+++ branches/atmos_physics/src/core_physics/module_driver_radiation_sw.F        2011-06-02 16:50:32 UTC (rev 869)
@@ -92,7 +92,7 @@
  end subroutine deallocate_radiation_sw
 
 !=============================================================================================
- subroutine radiation_sw_from_MPAS(mesh,diag_physics,sfc_physics,sfc_input)
+ subroutine radiation_sw_from_MPAS(mesh,diag_physics,sfc_input)
 !=============================================================================================
 
 !input arguments:
@@ -100,7 +100,6 @@
 
 !inout arguments:
  type(diag_physics_type),intent(inout):: diag_physics
- type(sfc_physics_type) ,intent(inout):: sfc_physics
  type(sfc_input_type)   ,intent(inout):: sfc_input
 
 !---------------------------------------------------------------------------------------------
@@ -111,7 +110,7 @@
     xlon_p(i,j)       = (mesh % lonCell % array(i)) / degrad
 
     sfc_albedo_p(i,j) = diag_physics % sfc_albedo % array(i)
-    xland_p(i,j)      = sfc_physics  % xland      % array(i)
+    xland_p(i,j)      = diag_physics % xland      % array(i)
     snow_p(i,j)       = sfc_input    % snow       % array(i)
     tsk_p(i,j)        = sfc_input    % skintemp   % array(i)
     xice_p(i,j)       = sfc_input    % xice       % array(i)
@@ -231,7 +230,7 @@
  end subroutine init_radiation_sw
 
 !=============================================================================================
- subroutine driver_radiation_sw(itimestep,mesh,state,diag_physics,sfc_physics,sfc_input, &amp;
+ subroutine driver_radiation_sw(itimestep,mesh,state,diag_physics,sfc_input, &amp;
                                 tend_physics)
 !=============================================================================================
 
@@ -242,7 +241,6 @@
 
 !inout arguments:
  type(diag_physics_type),intent(inout):: diag_physics
- type(sfc_physics_type) ,intent(inout):: sfc_physics
  type(sfc_input_type)   ,intent(inout):: sfc_input
  type(tend_physics_type),intent(inout):: tend_physics
 
@@ -263,7 +261,7 @@
  xtime_m = xtime/60.
 
 !copy all MPAS arrays to rectangular grid:
- call radiation_sw_from_MPAS(mesh,diag_physics,sfc_physics,sfc_input)
+ call radiation_sw_from_MPAS(mesh,diag_physics,sfc_input)
 
 !... calculates solar declination:
  call radconst(xtime,declin,solcon,julday,degrad,dpd)

Modified: branches/atmos_physics/src/core_physics/module_driver_sfclayer.F
===================================================================
--- branches/atmos_physics/src/core_physics/module_driver_sfclayer.F        2011-06-02 16:49:02 UTC (rev 868)
+++ branches/atmos_physics/src/core_physics/module_driver_sfclayer.F        2011-06-02 16:50:32 UTC (rev 869)
@@ -110,12 +110,11 @@
  end subroutine deallocate_sfclayer
 
 !=============================================================================================
- subroutine sfclayer_from_MPAS(diag_physics,sfc_input,sfc_physics)
+ subroutine sfclayer_from_MPAS(diag_physics,sfc_input)
 !=============================================================================================
 
 !input arguments:
  type(sfc_input_type)   ,intent(in)   :: sfc_input
- type(sfc_physics_type) ,intent(in)   :: sfc_physics
 
 !inout arguments:
  type(diag_physics_type),intent(inout):: diag_physics
@@ -127,8 +126,8 @@
     !input variables:
     hpbl_p(i,j)   = diag_physics % hpbl   % array(i)
     mavail_p(i,j) = diag_physics % mavail % array(i)
+    xland_p(i,j)  = diag_physics % xland  % array(i)       
     tsk_p(i,j)    = sfc_input    % skintemp % array(i)
-    xland_p(i,j)  = sfc_physics  % xland    % array(i)       
     !inout variables:
     hfx_p(i,j)    = diag_physics % hfx    % array(i)
     qfx_p(i,j)    = diag_physics % qfx    % array(i)
@@ -240,14 +239,13 @@
  end subroutine init_sfclayer
 
 !=============================================================================================
- subroutine driver_sfclayer(mesh,diag_physics,sfc_input,sfc_physics)
+ subroutine driver_sfclayer(mesh,diag_physics,sfc_input)
 !=============================================================================================
 
 !input and inout arguments:
 !--------------------------
  type(mesh_type)        ,intent(in):: mesh
  type(sfc_input_type)   ,intent(in):: sfc_input
- type(sfc_physics_type) ,intent(in):: sfc_physics
  type(diag_physics_type),intent(inout):: diag_physics
 
 !local variables:
@@ -259,7 +257,7 @@
  write(0,*) '--- enter sfclayer_driver:'
 
 !copy all MPAS arrays to rectanguler grid:
- call sfclayer_from_MPAS(diag_physics,sfc_input,sfc_physics)
+ call sfclayer_from_MPAS(diag_physics,sfc_input)
 
  sfclayer_select: select case (trim(sfclayer_scheme))
 

</font>
</pre>