Skip to content

Internally process the request kwargs to optimize caching #208

@malmans2

Description

@malmans2

Is your feature request related to a problem? Please describe.

The following snippet triggers 2 requests from the CDS, although the only difference in the requests is the order of the variables requested.

import earthkit.data
from earthkit.data import settings

settings.auto_save_settings = False
settings.set("cache-policy", "temporary")

request_kwargs = {
    "product_type": "reanalysis",
    "area": [50, -10, 40, 10],  # N,W,S,E
    "grid": [2, 2],
    "date": "2012-05-10",
    "time": "12:00",
}
for reverse in (True, False):
    earthkit.data.from_source(
        "cds",
        "reanalysis-era5-single-levels",
        variable=sorted(["2t", "msl"], reverse=reverse),
        **request_kwargs
    )

Describe the solution you'd like

Internally process the request kwargs to optimize caching.
For example, sort lists (all but area/grid), squeeze single element lists (or do the opposite), change types when possible, ...

Describe alternatives you've considered

No response

Additional context

No response

Organisation

B-Open / CADS-EQC

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions