eWaterCycle / eWaterCycle/era5cli

Design discussion: how do we check a CLI call, and should we?

Open
#85 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
59
Forks
8
PR merge metrics
No merged PRs in 30d

Description

There is a fundamental design discussion we should have about protecting the user against potentially impossible requests. The main reason era5cli exists is to facilitate a data request easily in a workflow, not to make sure a request is solid. There are various checks on the call done at the moment, but they are diffuse and scattered throughout the tool. We could take this two ways:

1. We implement a single "request checker" that applies all checks (i.e. are the variables correct; are variables possible given the time frame of hourly or monthly; are there no impossible combinations of flags, etc) in one place, so a clear overview gets created and checks are not duplicated or missed.
2. We do not wish to validate a request but simply translate a quick CLI call into an API request, and let CDS determine whether this results in data or not. This means we will keep the checks inside the tool to a minimum.

There are middle grounds here and combinations, of course, but this is a fundamental conversation we should have that will inform further development.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.