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

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

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions