3737from pace .initialization import InitializerSelector
3838from pace .safety_checks import SafetyChecker
3939from pace .state import DriverState
40- from pyfv3 import DynamicalCore , DynamicalCoreConfig
41- from pyfv3 .initialization .analytic_init import AnalyticCase
42- from pyshield import Physics , PhysicsConfig
43- from pyshield .update import update_atmos_state
40+ from pyFV3 import DynamicalCore , DynamicalCoreConfig
41+ from pySHiELD import Physics , PhysicsConfig
42+ from pySHiELD .update import update_atmos_state
4443
4544
4645try :
@@ -116,7 +115,6 @@ class DriverConfig:
116115 default_factory = DynamicalCoreConfig
117116 )
118117 physics_config : PhysicsConfig = dataclasses .field (default_factory = PhysicsConfig )
119-
120118 days : int = 0
121119 hours : int = 0
122120 minutes : int = 0
@@ -267,6 +265,9 @@ def from_dict(cls, kwargs: Dict[str, Any]) -> "DriverConfig":
267265 kwargs ["comm_config" ] = CreatesCommSelector .from_dict (
268266 kwargs .get ("comm_config" , {})
269267 )
268+ kwargs ["initialization" ] = InitializerSelector .from_dict (
269+ kwargs ["initialization" ]
270+ )
270271 if "grid_config" in kwargs :
271272 kwargs ["grid_config" ] = GridInitializerSelector .from_dict (
272273 kwargs ["grid_config" ]
@@ -278,17 +279,6 @@ def from_dict(cls, kwargs: Dict[str, Any]) -> "DriverConfig":
278279 if grid_type > 3 :
279280 kwargs ["dycore_config" ].ntiles = 1
280281
281- analytic_hooks = {}
282- if kwargs ["initialization" ]["type" ] == "analytic" :
283- kwargs ["initialization" ]["config" ]["dycore_config" ] = kwargs [
284- "dycore_config"
285- ]
286- analytic_hooks [AnalyticCase ] = AnalyticCase
287- kwargs ["initialization" ] = InitializerSelector .from_dict (
288- kwargs ["initialization" ],
289- hooks = analytic_hooks ,
290- )
291-
292282 if (
293283 isinstance (kwargs ["stencil_config" ], dict )
294284 and "dace_config" in kwargs ["stencil_config" ].keys ()
@@ -331,9 +321,6 @@ def write_for_restart(
331321 config_dict ["dycore_config" ].pop (field , None )
332322 config_dict ["physics_config" ].pop (field , None )
333323 config_dict ["initialization" ]["type" ] = "restart"
334- # Remove existing initialization config and repopulate
335- config_dict ["initialization" ].pop ("config" )
336- config_dict ["initialization" ]["config" ] = {}
337324 config_dict ["initialization" ]["config" ]["start_time" ] = time
338325 config_dict ["initialization" ]["config" ]["path" ] = restart_path
339326 # convert physics package enum to str
@@ -663,7 +650,13 @@ def _critical_path_step_all(
663650 timestep = dt ,
664651 )
665652 if not self .config .dycore_only :
666- self .physics (self .state .physics_state , timestep = dt )
653+ self .physics (
654+ self .state .physics_state ,
655+ self .state .radiation_state ,
656+ self .state .surface_state ,
657+ self .time ,
658+ timestep = dt ,
659+ )
667660 self .end_of_step_update (
668661 dycore_state = self .state .dycore_state ,
669662 phy_state = self .state .physics_state ,
0 commit comments