<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, &
+ subroutine driver_radiation_sw(itimestep,mesh,state,diag_physics,sfc_input, &
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>