Skip to content

[BUG] Unexpected behaviour of .search(..., require_all=True) for conda/analysis3>25.07 #527

@dougiesquire

Description

@dougiesquire

Describe the bug

This issue should possibly be in the intake-dataframe-catalog repo, but I'm opening here because the demo of the behaviour uses the ACCESS-NRI Intake Catalog.

Basically, releases of the conda/analysis3 environment more recent that 25.07 produce unexpected behaviour when using the require_all=True argument on .search.

To Reproduce

Run the following:

import intake
catalog = intake.cat.access_nri

variable=[
    "tx_trans", "ty_trans",
    "mld", 
    "area_t",
    "^d[hz]t$",
]

catalog.search(
    model="ACCESS-OM2.*",
    variable=variable,
    require_all=True
)

With conda/analysis3-25.07 this produces a filtered catalog containing only the (46) experiments that include all the required variables

With conda/analysis3>25.07 the search appears to treat every variable as a regex and so includes experiments that don't contain all the required variables. It doesn't appear to be that simple though, as the following returns no experiments:

variable=[
    "^tx_trans$", "^ty_trans$",
    "^mld$", 
    "^area_t$",
    "^d[hz]t$",
]

catalog.search(
    model="ACCESS-OM2.*",
    variable=variable,
    require_all=True
)

Additional context

I came across this behaviour while responding to this Forum topic.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions