<p><b>laura@ucar.edu</b> 2011-04-05 12:24:18 -0600 (Tue, 05 Apr 2011)</p><p>updated Registry and modules<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_nhyd_atmos/Registry
===================================================================
--- branches/atmos_physics/src/core_nhyd_atmos/Registry        2011-04-05 18:20:15 UTC (rev 780)
+++ branches/atmos_physics/src/core_nhyd_atmos/Registry        2011-04-05 18:24:18 UTC (rev 781)
@@ -56,6 +56,7 @@
dim R3 3
dim nVertLevels namelist:config_nvertlevels
dim nVertLevelsP1 nVertLevels+1
+dim nMonths 12
#
# var type name_in_file ( dims ) iro- name_in_code super-array array_class
@@ -255,8 +256,8 @@
var persistent real coeffs_reconstruct ( R3 maxEdges nCells ) 0 iro coeffs_reconstruct mesh - -
# ADDED DECLARATIONS MADE BY LDF:
-var persistent real surface_pressure ( nCells Time ) 1 o surface_pressure diag - -
-var persistent real surface_temperature ( nCells Time ) 1 o surface_temperature diag - -
+var persistent real surface_pressure ( nCells Time ) 1 iro surface_pressure diag - -
+var persistent real surface_temperature ( nCells Time ) 1 o surface_temperature diag - -
#==================================================================================================
# DECLARATIONS OF ALL PHYSICS VARIABLES (will need to be moved to a Physics Registry shared by the
@@ -267,7 +268,7 @@
namelist logical physics input_sfc_albedo false
namelist character physics input_landuse_data USGS
namelist character physics input_soil_data STAS
-namelist integer physics num_soil_layers 5
+namelist integer physics num_soil_layers 4
#... DIMENSION NEEDED FOR LONGWAVE AND SHORTWAVE RADIATION FLUXES TO INCLUDE AN ADDITIONAL LAYER
#... BETWEEN THE TOP OF THE MODEL AND THE TOP OF THE ATMOSPHERE
@@ -304,6 +305,9 @@
# qi_col : vertically-integrated cloud ice mixing ratio (kg/m2)
# qs_col " vertically-integrated snow mixing ratio (kg/m2)
+var persistent real east ( R3 nCells ) 0 r east mesh - -
+var persistent real north ( R3 nCells ) 0 r north mesh - -
+
var persistent real qv_col ( nCells Time ) 1 o qv_col diag_physics - -
var persistent real qc_col ( nCells Time ) 1 o qc_col diag_physics - -
var persistent real qr_col ( nCells Time ) 1 o qr_col diag_physics - -
@@ -512,7 +516,12 @@
#... PARAMETERIZATION OF LONGWAVE RADIATION:
#--------------------------------------------------------------------------------------------------
-# glw :net longwave flux at surface (or just downward??) [W m-2]
+# note: glw is the same diagnostic as lwdnb and is used in the land-surface scheme for the calcula-
+# tion of the surface budget. glw is always an output argument to the subroutine rrtmg_lwrad.
+# in contrast,lwdnb is an optional ouput argument to the subroutine rrtmg_lwrad depending on
+# the presence of lwupt (or not).
+
+# glw :all-sky downwelling longwave flux at bottom-of-atmosphere [W m-2]
# lwcf :longwave cloud forcing at top-of-atmosphere [W m-2]
# lwdnb :all-sky downwelling longwave flux at bottom-of-atmosphere [W m-2]
# lwdnbc :clear-sky downwelling longwave flux at bottom-of-atmosphere [W m-2]
@@ -565,6 +574,7 @@
# canwat :canopy water [kg m-2]
# chklowq :surface saturation flag [-]
# grdflx :ground heat flux [W m-2]
+# lai :leaf area index [-]
# noahres :residual of the noah land-surface scheme energy budget [W m-2]
# potevp :potential evaporation [W m-2]
# qz0 :specific humidity at znt [kg kg-1]
@@ -574,10 +584,8 @@
# smstot :total moisture [m3 m-3]
# snopcx :snow phase change heat flux [W m-2]
# snotime :??
-# snow :snow water equivalent [kg m-2]
# snowh :physical snow depth [m]
# thc :thermal inertia [Cal cm-1 K-1 s-0.5]
-# tmn :soil temperature at lower boundary [K]
# udrunoff :sub-surface runoff [m s-1]
# z0 :background roughness length [m]
# zs :depth of centers of soil layers [m]
@@ -587,6 +595,7 @@
var persistent real canwat ( nCells Time ) 1 ro canwat diag_physics - -
var persistent real chklowq ( nCells Time ) 1 ro chklowq diag_physics - -
var persistent real grdflx ( nCells Time ) 1 ro grdflx diag_physics - -
+var persistent real lai ( nCells Time ) 1 ro lai diag_physics - -
var persistent real noahres ( nCells Time ) 1 ro noahres diag_physics - -
var persistent real potevp ( nCells Time ) 1 ro potevp diag_physics - -
var persistent real qz0 ( nCells Time ) 1 ro qz0 diag_physics - -
@@ -596,52 +605,62 @@
var persistent real smstot ( nCells Time ) 1 ro smstot diag_physics - -
var persistent real snopcx ( nCells Time ) 1 ro snopcx diag_physics - -
var persistent real snotime ( nCells Time ) 1 ro snotime diag_physics - -
-var persistent real snow ( nCells Time ) 1 ro snow diag_physics - -
var persistent real snowh ( nCells Time ) 1 ro snowh diag_physics - -
var persistent real thc ( nCells Time ) 1 ro thc diag_physics - -
-var persistent real tmn ( nCells Time ) 1 ro tmn diag_physics - -
var persistent real udrunoff ( nCells Time ) 1 ro udrunoff diag_physics - -
var persistent real z0 ( nCells Time ) 1 ro z0 diag_physics - -
var persistent real zs ( nCells Time ) 1 ro zs diag_physics - -
-# dzs :thickness of soil layers [m]
-# smcrel :soil moisture threshold below which transpiration begins to stress [-]
-# sh2o :soil liquid water [m3 m-3]
-# smois :soil moisture [m3 m-3]
-# tslb :soil temperature [K]
-
-var persistent real dzs ( nSoilLevels nCells Time ) 1 ro dzs diag_physics - -
-var persistent real smcrel ( nSoilLevels nCells Time ) 1 ro smcrel diag_physics - -
-var persistent real sh2o ( nSoilLevels nCells Time ) 1 ro sh2o diag_physics - -
-var persistent real smois ( nSoilLevels nCells Time ) 1 ro smois diag_physics - -
-var persistent real tslb ( nSoilLevels nCells Time ) 1 ro tslb diag_physics - -
-
#--------------------------------------------------------------------------------------------------
#... SURFACE CHARACTERISTICS THAT NEED TO BE READ FROM GRID.NC:
#--------------------------------------------------------------------------------------------------
-# lai :leaf area index [-]
+# albedo12m :monthly climatological albedo [-]
+# greenfrac :monthly climatological greeness fraction [-]
# isltyp :dominant soil category [-]
# ivgtyp :dominant vegetation category [-]
-# lu_index :land mask field [-]
+# landmask :=0 for ocean;=1 for land [-]
# shdmin :minimum areal fractional coverage of annual green vegetation [-]
# shdmax :maximum areal fractional coverage of annual green vegetation [-]
+# skintemp :skin temperature [K]
# snoalb :annual max snow albedo [-]
+# snow :snow water equivalent [kg m-2]
+# sst :sea-surface temperature [K]
# snowc :flag indicating snow coverage (1 for snow cover) [-]
+# tmn :soil temperature at lower boundary [K]
# vegfra :vegetation fraction [-]
# xice :sea-ice mask [-]
-var persistent integer isltyp ( nCells Time ) 1 iro isltyp sfc_input - -
-var persistent integer ivgtyp ( nCells Time ) 1 iro ivgtyp sfc_input - -
-var persistent real lai ( nCells Time ) 1 iro lai sfc_input - -
-var persistent real lu_index ( nCells Time ) 1 iro lu_index sfc_input - -
-var persistent real shdmin ( nCells Time ) 1 iro shdmin sfc_input - -
-var persistent real shdmax ( nCells Time ) 1 iro shdmax sfc_input - -
-var persistent real snoalb ( nCells Time ) 1 iro snoalb sfc_input - -
-var persistent real snowc ( nCells Time ) 1 iro snowc sfc_input - -
-var persistent real vegfra ( nCells Time ) 1 Iro vegfra sfc_input - -
-var persistent real xice ( nCells Time ) 1 iro xice sfc_input - -
+# dzs :thickness of soil layers [m]
+# smcrel :soil moisture threshold below which transpiration begins to stress [-]
+# sh2o :soil liquid water [m3 m-3]
+# smois :soil moisture [m3 m-3]
+# tslb :soil temperature [K]
+var persistent integer isltyp ( nCells ) 0 iro isltyp sfc_input - -
+var persistent integer ivgtyp ( nCells ) 0 iro ivgtyp sfc_input - -
+var persistent integer landmask ( nCells ) 0 iro landmask sfc_input - -
+var persistent real shdmin ( nCells ) 0 iro shdmin sfc_input - -
+var persistent real shdmax ( nCells ) 0 iro shdmax sfc_input - -
+var persistent real snoalb ( nCells ) 0 iro snoalb sfc_input - -
+
+var persistent real albedo12m ( nMonths nCells ) 0 io albedo12m sfc_input - -
+var persistent real greenfrac ( nMonths nCells ) 0 io greenfrac sfc_input - -
+
+var persistent real skintemp ( nCells Time ) 1 iro skintemp sfc_input - -
+var persistent real snow ( nCells Time ) 1 iro snow sfc_input - -
+var persistent real snowc ( nCells Time ) 1 iro snowc sfc_input - -
+var persistent real sst ( nCells Time ) 1 iro sst sfc_input - -
+var persistent real tmn ( nCells Time ) 1 iro tmn sfc_input - -
+var persistent real vegfra ( nCells Time ) 1 iro vegfra sfc_input - -
+var persistent real xice ( nCells Time ) 1 iro xice sfc_input - -
+
+var persistent real dzs ( nSoilLevels nCells Time ) 1 iro dzs sfc_input - -
+var persistent real smcrel ( nSoilLevels nCells Time ) 1 ro smcrel sfc_input - -
+var persistent real sh2o ( nSoilLevels nCells Time ) 1 iro sh2o sfc_input - -
+var persistent real smois ( nSoilLevels nCells Time ) 1 iro smois sfc_input - -
+var persistent real tslb ( nSoilLevels nCells Time ) 1 iro tslb sfc_input - -
+
#--------------------------------------------------------------------------------------------------
#... OTHER SURFACE CHARACTERISTICS INITIALIZED USING SFC FIELDS FROM GRID.NC:
#--------------------------------------------------------------------------------------------------
@@ -656,7 +675,7 @@
# xicem :ice mask from previous time-step [-]
var persistent real sfc_albbck ( nCells Time ) 1 ro sfc_albbck sfc_physics - -
-var persistent real sfc_emibck ( nCells Time ) 1 ro sfc_emibck sfc_physics - -
+var persistent real sfc_emibck ( nCells Time ) 1 ro sfc_emibck sfc_physics - -
var persistent real xicem ( nCells Time ) 1 ro xicem sfc_physics - -
var persistent real xland ( nCells Time ) 1 ro xland sfc_physics - -
Modified: branches/atmos_physics/src/core_nhyd_atmos/module_mpas_core.F
===================================================================
--- branches/atmos_physics/src/core_nhyd_atmos/module_mpas_core.F        2011-04-05 18:20:15 UTC (rev 780)
+++ branches/atmos_physics/src/core_nhyd_atmos/module_mpas_core.F        2011-04-05 18:24:18 UTC (rev 781)
@@ -49,7 +49,7 @@
use RBF_interpolation
use vector_reconstruction
#ifdef DO_PHYSICS
- use module_physics_aquaplanet
+! use module_physics_aquaplanet
use module_physics_control
use module_physics_init
use module_physics_manager
@@ -86,11 +86,12 @@
!proceed with initialization of physics parameterization if moist_physics is set to true:
if(moist_physics) then
!initialization of all physics variables in registry:
- call physics_registry_init(config_do_restart, mesh, block % diag_physics, block % tend_physics)
+ call physics_registry_init(config_do_restart, mesh, block % state % time_levs(1) % state, &
+ block % diag, block % diag_physics, block % sfc_input )
call physics_wrf_interface(mesh)
!initialization of some surface variables (temporary):
- call physics_aquaplanet_init(mesh, block % diag_physics, block % sfc_input)
+ !call physics_aquaplanet_init(mesh, block % diag_physics, block % sfc_input)
!initialization of all physics:
call physics_init(dminfo, mesh, block % state % time_levs(1) % state, block % diag_physics, &
@@ -225,7 +226,7 @@
#ifdef DO_PHYSICS
!proceed with physics if moist_physics is set to true:
if(moist_physics) then
- call physics_timetracker(domain,itimestep)
+ call physics_timetracker(domain,dt,itimestep)
if(l_physics) call physics_driver(domain,itimestep)
endif
#endif
Modified: branches/atmos_physics/src/core_nhyd_atmos/module_time_integration.F
===================================================================
--- branches/atmos_physics/src/core_nhyd_atmos/module_time_integration.F        2011-04-05 18:20:15 UTC (rev 780)
+++ branches/atmos_physics/src/core_nhyd_atmos/module_time_integration.F        2011-04-05 18:24:18 UTC (rev 781)
@@ -206,7 +206,8 @@
if (debug) write(0,*) ' add physics tendencies '
block => domain % blocklist
do while (associated(block))
- call physics_addtend( block % mesh , block % tend, block % tend_physics , &
+ call physics_addtend( domain % dminfo , block % parinfo % cellsToSend, block % parinfo % cellsToRecv , &
+ block % mesh , block % tend, block % tend_physics , &
block % state % time_levs(2) % state % rho % array(:,:), &
block % diag % rho_edge % array(:,:) )
block => block % next
</font>
</pre>