Comments (7)
And once I get the dataset from the cds store
The variables are again called differently than in the request! Quite confusing and incosistent.
from xcube-cds.
Isn't this a duplicate of #15 ?
from xcube-cds.
Isn't this a duplicate of #15 ?
Looks like it, but we do not use the UI at all anymore. So how about closing 15 and adress this issue here?
from xcube-cds.
Looks like it, but we do not use the UI at all anymore. So how about closing 15 and adress this issue here?
OK, I can copy-paste the relevant content from #15 (there isn't much).
from xcube-cds.
Some background, adapted from comments at #15 :
The CDS API doesn't have unified variable names between the request and the result -- in some cases, e.g. in the soil moisture data set, there isn't even a one-to-one mapping between the two sets of variables. the CDS store plugin generally tries to provide a thin interface to the CDS API (i.e. manipulates the requests and results as little as possible). Of course it would be possible to expand the scope of the plugin to rename variables and unify the two schemes, but that's quite a lot of implementation and maintenance effort. We should discuss whether this ought to be a design goal for the plugin (and for other data store plugins).
Comment from 2021-02-21: After discussion today: still no clear resolution on how we should proceed with this, so I'm leaving the bug open but not actively working on it.
from xcube-cds.
To expand on the earlier comments above: data_vars
in the return value of describe_data
for a data store describes the values you can expect to see in the returned dataset. The parameters you can use in the request are not described under data_vars
but under open_params_schema
(which you can also get by calling get_open_data_params_schema
), and there is no guarantee that the parameters schema will contain a list of variable names which corresponds exactly with those in the returned dataset. Indeed, there isn't even a guarantee that there will be a list of variable names in the parameter schema at all (e.g. it might be a one-variable dataset that therefore doesn't need to to explicitly specify the variables).
In the CDS store, the parameter schema is taken as directly as possible from the parameter schema of the CDS backend itself, so e.g. for reanalysis-era5-land
, the user can browse around at https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-land-monthly-means?tab=form and use the same parameter names in their xcube request.
from xcube-cds.
Plan, after internal discussion: expand the parameter schema and implementation to include, as an alternative to variable_names
, an additional parameter era5_variable_names
, where the caller can specify the requested variable names using the ERA5 identifiers (matching the names in the returned dataset) instead of the CDS identifiers. Implementation should be fairly straightforward, since the store already has a table to map between these identifiers.
from xcube-cds.
Related Issues (20)
- Fix handling of undefined parameters in get_open_data_params_schema HOT 1
- Provide version number in xcube_cds.__version__
- Mac OS CI builds failing HOT 1
- Extend CDS Store by supporting seaice data HOT 1
- CDS credential parameters can't be passed to new_data_store HOT 1
- Extract archives more safely HOT 2
- Soil moisture requests failing due to CDS API changes HOT 1
- Update example notebooks to use `new_data_store`
- Make satellite-lai-fapar available via xcube-cds HOT 1
- AppVeyor Ubuntu builds failing
- Rename "master" branch to "main" HOT 1
- Reformat code using black
- CI runs failing due to removal of xcube's setup.py
- Update AppVeyor config for micromamba 2.0
- Update xcube-cds to work with new CDS backend API HOT 2
- Remove defaults channel from environment file
- test_version_number should use PEP 440 format, not Semver
- Use pyproject.toml instead of setup.py
- AppVeyor CI failing due to micromamba update
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xcube-cds.