Skip to content

Commit db1159c

Browse files
authored
Removing ndsl.Namelist from Pace (NOAA-GFDL#158)
* Removing ndsl.Namelist * Cleanup from pySHiELD PR 68
1 parent 8842f2f commit db1159c

File tree

3 files changed

+16
-26
lines changed

3 files changed

+16
-26
lines changed

pace/driver.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -241,21 +241,8 @@ def from_dict(cls, kwargs: Dict[str, Any]) -> "DriverConfig":
241241
)
242242

243243
if isinstance(kwargs["physics_config"], dict):
244-
# TODO - After pySHiELD PR #68, replace physics dacite cmd with:
245-
# kwargs["physics_config"] = PhysicsConfig.from_dict(
246-
# kwargs.get("physics_config", {})
247-
# )
248-
phys_dacite_config = dacite.Config(
249-
strict=True,
250-
type_hooks={
251-
Tuple[int, int]: lambda x: tuple(x),
252-
Tuple[str, ...]: lambda x: tuple(x) if x is not None else None,
253-
},
254-
)
255-
kwargs["physics_config"] = dacite.from_dict(
256-
data_class=PhysicsConfig,
257-
data=kwargs.get("physics_config", {}),
258-
config=phys_dacite_config,
244+
kwargs["physics_config"] = PhysicsConfig.from_dict(
245+
kwargs.get("physics_config", {})
259246
)
260247

261248
kwargs["layout"] = tuple(kwargs["layout"])

pace/grid.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import f90nml
77
import xarray as xr
88

9-
from ndsl import Namelist, QuantityFactory, ndsl_log
9+
from ndsl import QuantityFactory, ndsl_log
1010
from ndsl.comm.partitioner import get_tile_index
1111
from ndsl.constants import X_DIM, X_INTERFACE_DIM, Y_DIM, Y_INTERFACE_DIM
1212
from ndsl.grid import (
@@ -22,6 +22,7 @@
2222
from ndsl.grid.stretch_transformation import direct_transform
2323
from ndsl.stencils.testing import TranslateGrid, grid
2424
from ndsl.typing import Communicator
25+
from ndsl.utils import grid_params_from_f90nml
2526
from pace.registry import Registry
2627

2728

@@ -151,8 +152,8 @@ def _f90_namelist(self) -> f90nml.Namelist:
151152
return f90nml.read(self.path + "/input.nml")
152153

153154
@property
154-
def _namelist(self) -> Namelist:
155-
return Namelist.from_f90nml(self._f90_namelist)
155+
def _grid_params(self) -> dict:
156+
return grid_params_from_f90nml(self._f90_namelist)
156157

157158
def _serializer(self, communicator: Communicator):
158159
import serialbox
@@ -171,7 +172,7 @@ def _get_serialized_grid(
171172
) -> grid.Grid: # type: ignore
172173
ser = self._serializer(communicator)
173174
grid = TranslateGrid.new_from_serialized_data(
174-
ser, communicator.rank, self._namelist.layout, backend
175+
ser, communicator.rank, self._grid_params["layout"], backend
175176
).python_grid()
176177
return grid
177178

pace/initialization.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from ndsl import (
1212
CompilationConfig,
1313
DaceConfig,
14-
Namelist,
1514
QuantityFactory,
1615
StencilConfig,
1716
StencilFactory,
@@ -20,6 +19,7 @@
2019
from ndsl.grid import DampingCoefficients, DriverGridData, GridData
2120
from ndsl.stencils.testing import TranslateGrid, grid
2221
from ndsl.typing import Communicator
22+
from ndsl.utils import grid_params_from_f90nml
2323
from pace.registry import Registry
2424
from pace.state import DriverState, TendencyState, _restart_driver_state
2525
from pyfv3 import DycoreState, DynamicalCoreConfig
@@ -253,8 +253,8 @@ def _f90_namelist(self) -> f90nml.Namelist:
253253
return f90nml.read(self.path + "/input.nml")
254254

255255
@property
256-
def _namelist(self) -> Namelist:
257-
return Namelist.from_f90nml(self._f90_namelist)
256+
def _grid_params(self) -> dict:
257+
return grid_params_from_f90nml(self._f90_namelist)
258258

259259
def _get_serialized_grid(
260260
self,
@@ -263,7 +263,7 @@ def _get_serialized_grid(
263263
) -> grid.Grid: # type: ignore
264264
ser = self._serializer(communicator)
265265
grid = TranslateGrid.new_from_serialized_data(
266-
ser, communicator.rank, self._namelist.layout, backend
266+
ser, communicator.rank, self._grid_params["layout"], backend
267267
).python_grid()
268268
return grid
269269

@@ -318,8 +318,8 @@ def _initialize_dycore_state(
318318
dace_config = DaceConfig(
319319
communicator,
320320
backend,
321-
tile_nx=self._namelist.npx,
322-
tile_nz=self._namelist.npz,
321+
tile_nx=self._grid_params["npx"],
322+
tile_nz=self._grid_params["npz"],
323323
)
324324
stencil_config = StencilConfig(
325325
compilation_config=CompilationConfig(
@@ -330,7 +330,9 @@ def _initialize_dycore_state(
330330
stencil_factory = StencilFactory(
331331
config=stencil_config, grid_indexing=grid.grid_indexing
332332
)
333-
translate_object = TranslateFVDynamics(grid, self._namelist, stencil_factory)
333+
translate_object = TranslateFVDynamics(
334+
grid, self._f90_namelist, stencil_factory
335+
)
334336
input_data = translate_object.collect_input_data(ser, savepoint_in)
335337
dycore_state = translate_object.state_from_inputs(input_data)
336338
return dycore_state

0 commit comments

Comments
 (0)