<p><b>laura@ucar.edu</b> 2011-09-27 15:03:37 -0600 (Tue, 27 Sep 2011)</p><p>Added a bunch of stuff related to physics parameterizations, including new logicals and new config variables to use the new time manager<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-09-27 20:57:41 UTC (rev 1031)
+++ branches/atmos_physics/src/core_nhyd_atmos/Registry        2011-09-27 21:03:37 UTC (rev 1032)
@@ -290,47 +290,90 @@
#==================================================================================================
#... NAMELIST VARIABLES ADDED FOR INITIALIZATION OF SURFACE CHARACTERISTICS:
-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 4
-namelist integer physics num_months 12
+namelist integer physics input_soil_temperature_lag 140
+namelist integer physics num_soil_layers 4
+namelist integer physics num_months 12
+#... NAMELIST VARIABLE NEEDED FOR THE TIME MANAGER:
dim nMonths namelist:num_months
+#... DIMENSION NEEDED FOR NUMBER OF SOIL LAYERS:
+dim nSoilLevels namelist:num_soil_layers
+
+#... DIMENSION NEEDED FOR UPDATING THE DEEP SOIL TEMPERATURE:
+dim nLags namelist:input_soil_temperature_lag
+
+#... DIMENSION NEEDED FOR OZONE AND AEROSOLS CONCENTRATIONS IN THE CAM LONGWAVE AND SHORTWAVE
+#... RADIATION PARAMETERIZATIONS.
+# noznlev : number of CAM radiation input ozone levels.
+# naerlev : number of CAM radiation input aerosol levels.
+
+namelist integer physics noznlev 59
+namelist integer physics naerlev 29
+namelist integer physics cam_dim1 4
+dim nOznLevels namelist:noznlev
+dim nAerLevels namelist:naerlev
+dim cam_dim1 namelist:cam_dim1
+
#... 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
dim nVertLevelsP2 nVertLevels+2
-#... DIMENSION NEEDED FOR NUMBER OF SOIL LAYERS:
-dim nSoilLevels namelist:num_soil_layers
-
#... NAMELIST VARIABLES ADDED FOR PHYSICS CONFIGURATION:
-namelist integer physics config_n_physics 01
-namelist integer physics config_n_microp 01
-namelist integer physics config_n_conv 01
-namelist integer physics config_n_pbl 01
-namelist integer physics config_n_lsm 01
-namelist integer physics config_n_eddy 01
-namelist integer physics config_n_radt_lw 01
-namelist integer physics config_n_radt_sw 01
+namelist logical physics config_frac_seaice false
+namelist logical physics config_sfc_albedo false
+namelist logical physics config_sst_update false
+namelist logical physics config_sstdiurn_update false
+namelist logical physics config_deepsoiltemp_update false
-namelist integer physics config_frac_seaice 00
+namelist integer physics config_n_physics 01
+namelist integer physics config_n_microp 01
+namelist integer physics config_n_conv 01
+namelist integer physics config_n_pbl 01
+namelist integer physics config_n_lsm 01
+namelist integer physics config_n_eddy 01
+namelist integer physics config_n_radt_lw 01
+namelist integer physics config_n_radt_sw 01
+namelist character physics config_radtlw_interval none
+namelist character physics config_radtsw_interval none
+namelist character physics config_conv_interval none
-namelist character physics config_microp_scheme off
-namelist character physics config_conv_shallow_scheme off
-namelist character physics config_conv_deep_scheme off
-namelist character physics config_eddy_scheme off
-namelist character physics config_lsm_scheme off
-namelist character physics config_pbl_scheme off
-namelist character physics config_radt_lw_scheme off
-namelist character physics config_radt_sw_scheme off
-namelist character physics config_sfclayer_scheme off
+namelist character physics config_microp_scheme off
+namelist character physics config_conv_shallow_scheme off
+namelist character physics config_conv_deep_scheme off
+namelist character physics config_eddy_scheme off
+namelist character physics config_lsm_scheme off
+namelist character physics config_pbl_scheme off
+namelsit character physics config_radt_cld_scheme off
+namelist character physics config_radt_lw_scheme off
+namelist character physics config_radt_sw_scheme off
+namelist character physics config_sfclayer_scheme off
var persistent real east ( R3 nCells ) 0 r east mesh - -
var persistent real north ( R3 nCells ) 0 r north mesh - -
#--------------------------------------------------------------------------------------------------
+#... ARRAYS AND VARIABLES FOR UPDATING THE DEEP SOIL TEMPERATURE:
+#--------------------------------------------------------------------------------------------------
+
+# nsteps_accum: number of accumulated time-step in a day.
+# ndays_accum : number of accumulated days in a year.
+# tlag : daily mean surface temperature of prior days [K]
+# tday_accum : accumulated daily surface temperature for current day [K]
+# tyear_mean : annual mean surface temperature [K]
+# tyear_accum : accumulated yearly surface temperature for current year [K]
+
+var persistent integer nsteps_accum ( nCells Time ) 1 r nsteps_accum diag_physics - -
+var persistent integer ndays_accum ( nCells Time ) 1 r ndays_accum diag_physics - -
+
+var persistent real tlag ( nLags nCells Time ) 1 r tlag diag_physics - -
+var persistent real tday_accum ( nCells Time ) 1 r tday_accum diag_physics - -
+var persistent real tyear_mean ( nCells Time ) 1 r tyear_mean diag_physics - -
+var persistent real tyear_accum ( nCells Time ) 1 r tyear_accum diag_physics - -
+
+#--------------------------------------------------------------------------------------------------
#... PARAMETERIZATION OF CLOUD MICROPHYSICS:
#--------------------------------------------------------------------------------------------------
@@ -589,7 +632,6 @@
#... PARAMETERIZATION OF LAND-SURFACE SCHEME:
#--------------------------------------------------------------------------------------------------
-# xland :land mask (1 for land; 2 for water) [-]
# acsnom :accumulated melted snow [kg m-2]
# acsnow :accumulated snow [kg m-2]
# canwat :canopy water [kg m-2]
@@ -600,7 +642,6 @@
# potevp :potential evaporation [W m-2]
# qz0 :specific humidity at znt [kg kg-1]
# rib :??
-# sfc_albbck :background albedo [-]
# sfc_albedo :surface albedo [-]
# sfc_embck :background emissivity [-]
# sfc_emiss :surface emissivity [-]
@@ -609,7 +650,8 @@
# smstot :total moisture [m3 m-3]
# snopcx :snow phase change heat flux [W m-2]
# snotime :??
-# snowh :physical snow depth [m]
+# sstsk : skin sea-surface temperature [K]
+# sstsk_diur : skin sea-surface temperature difference [K]
# thc :thermal inertia [Cal cm-1 K-1 s-0.5]
# udrunoff :sub-surface runoff [m s-1]
# xicem :ice mask from previous time-step [-]
@@ -626,7 +668,6 @@
var persistent real potevp ( nCells Time ) 1 ro potevp diag_physics - -
var persistent real qz0 ( nCells Time ) 1 ro qz0 diag_physics - -
var persistent real rib ( nCells Time ) 1 ro rib diag_physics - -
-var persistent real sfc_albbck ( nCells Time ) 1 ro sfc_albbck diag_physics - -
var persistent real sfc_albedo ( nCells Time ) 1 ro sfc_albedo diag_physics - -
var persistent real sfc_emiss ( nCells Time ) 1 ro sfc_emiss diag_physics - -
var persistent real sfc_emibck ( nCells Time ) 1 ro sfc_emibck diag_physics - -
@@ -635,11 +676,11 @@
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 snowh ( nCells Time ) 1 ro snowh diag_physics - -
+var persistent real sstsk ( nCells Time ) 1 ro sstsk diag_physics - -
+var persistent real sstsk_diur ( nCells Time ) 1 ro sstsk_diur diag_physics - -
var persistent real thc ( nCells Time ) 1 ro thc diag_physics - -
var persistent real udrunoff ( nCells Time ) 1 ro udrunoff diag_physics - -
var persistent real xicem ( nCells Time ) 1 ro xicem diag_physics - -
-var persistent real xland ( nCells Time ) 1 ro xland diag_physics - -
var persistent real z0 ( nCells Time ) 1 ro z0 diag_physics - -
var persistent real zs ( nCells Time ) 1 ro zs diag_physics - -
@@ -652,6 +693,7 @@
# isltyp :dominant soil category [-]
# ivgtyp :dominant vegetation category [-]
# landmask :=0 for ocean;=1 for land [-]
+# sfc_albbck :background albedo [-]
# shdmin :minimum areal fractional coverage of annual green vegetation [-]
# shdmax :maximum areal fractional coverage of annual green vegetation [-]
# skintemp :skin temperature [K]
@@ -659,10 +701,13 @@
# snow :snow water equivalent [kg m-2]
# sst :sea-surface temperature [K]
# snowc :flag indicating snow coverage (1 for snow cover) [-]
+# snowh :physical snow depth [m]
# ter :terrain height [-]
# tmn :soil temperature at lower boundary [K]
# vegfra :vegetation fraction [-]
-# xice :sea-ice mask [-]
+# seaice :sea-ice mask (=1 when xice is greater than 0; =0 otherwise) [-]
+# xice :fractional sea-ice coverage [-]
+# xland :land mask (1 for land; 2 for water) [-]
# dzs :thickness of soil layers [m]
# smcrel :soil moisture threshold below which transpiration begins to stress [-]
@@ -677,16 +722,20 @@
var persistent real shdmax ( nCells ) 0 iro shdmax sfc_input - -
var persistent real snoalb ( nCells ) 0 iro snoalb sfc_input - -
var persistent real ter ( nCells ) 0 io ter 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 albedo12m ( nMonths nCells ) 0 iro albedo12m sfc_input - -
+var persistent real greenfrac ( nMonths nCells ) 0 iro greenfrac sfc_input - -
+var persistent real sfc_albbck ( nCells Time ) 1 iro sfc_albbck 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 snowh ( nCells Time ) 1 iro snowh sfc_input - -
var persistent real sst ( nCells Time ) 1 isro 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 seaice ( nCells Time ) 1 iro seaice sfc_input - -
+var persistent real xice ( nCells Time ) 1 isro xice sfc_input - -
+var persistent real xland ( nCells Time ) 1 iro xland 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 - -
Modified: branches/atmos_physics/src/core_nhyd_atmos/module_mpas_core.F
===================================================================
--- branches/atmos_physics/src/core_nhyd_atmos/module_mpas_core.F        2011-09-27 20:57:41 UTC (rev 1031)
+++ branches/atmos_physics/src/core_nhyd_atmos/module_mpas_core.F        2011-09-27 21:03:37 UTC (rev 1032)
@@ -235,7 +235,7 @@
call physics_run_init(mesh, clock)
!initialization of all physics:
- call physics_init(dminfo, config_do_restart, mesh, block % state % time_levs(1) % state, &
+ call physics_init(dminfo, clock, config_do_restart, mesh, block % state % time_levs(1) % state, &
block % diag_physics, block % sfc_input)
endif
@@ -446,7 +446,7 @@
#ifdef DO_PHYSICS
!proceed with physics if moist_physics is set to true:
if(moist_physics) then
- call physics_timetracker(domain,dt,itimestep)
+ call physics_timetracker(domain,dt,clock,itimestep,xtime_s)
if(l_physics) call physics_driver(domain,itimestep,xtime_s)
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-09-27 20:57:41 UTC (rev 1031)
+++ branches/atmos_physics/src/core_nhyd_atmos/module_time_integration.F        2011-09-27 21:03:37 UTC (rev 1032)
@@ -422,8 +422,8 @@
! end if
! if(debug) then
- 101 format('local min, max scalar',i4,2(1x,e17.10))
- 102 format('global min, max scalar',i4,2(1x,e17.10))
+ 101 format(' local min, max scalar',i4,2(1x,e17.10))
+ 102 format(' global min, max scalar',i4,2(1x,e17.10))
write(0,*)
block => domain % blocklist
do while (associated(block))
</font>
</pre>