More lenient guess_coord_axis() rules?

Open
#464 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
data

Research direction

Start by reading the guess_coord_axis() implementation and its existing tests, focusing on the current name-matching rules and intentional exclusions described in the issue. This is currently a design discussion: completion requires a maintainer-agreed leniency approach, including how eta and xi should be handled, followed by behavior tests.

Written by the indexing model from the issue text.

Description

Hi. I regularly find myself wishing guess_coord_axis() would find more dimension and coordinate names. I was just adding some to do a PR but I see that some are purposely excluded. For example I would like it to find "lat" when the variable name doesn't start with "lat" but it is just in the name somewhere. I see this was purposefully done because some people must have datasets that use "nlat" as a dimension to count their latitudes but want it to be "Y" not "latitude". Same with lon, time, and Z.

I also would like to add "eta" and "xi" to the guess regex for "Y" and "X" respectively to pick up dimensions in ROMS files. However, perhaps this would cause a problem for some users if they have other variable names with those names in them.

Would it make sense to have a flag for levels of leniency for guesses? Or for whether they have to be at the start of the variable name or not?

I can submit the code I have if this is too abstract to discuss. Thanks.

Dominant language
Python
Stars
181
Forks
49
Avg merge
43m
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from xarray-contrib/cf-xarray

All issues in xarray-contrib/cf-xarray

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.