Skip to content

xarray: Use Dataset.sizes instead of Dataset.dims #3333

@samsrabin

Description

@samsrabin

There are some places in the Python scripts where we use the dims member of Xarray Datasets in order to get dimension lengths. As of the latest ctsm_pylib (Python 3.13.2, Xarray 2025.1.2), this produces a warning (here produced from ctsm5.3.063):

modify_fsurdat.py:49: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
  self.numurbl = self.file.dims["numurbl"]

We should go ahead and convert all such instances to Dataset.sizes so we don't have confusing failures when we eventually update Xarray to a version with the new behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bfbbit-for-bitcode healthimproving internal code structure to make easier to maintain (sustainability)priority: lowBackground task that doesn't need to be done right away.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions