NCAS-CMS / cfstore

A CF compliant data store with interfaces to local and remote storage.
MIT License
2 stars 1 forks source link

Support cell method queries #92

Closed bnlawrence closed 7 months ago

bnlawrence commented 1 year ago

When we have cell methods in the database, we want to be able to issue something approximating plain language queries such as:

"Find me all the monthly mean data"

"Find me all the climatological monthly mean data"

and other likely combinations of cell methods queries.

bnlawrence commented 1 year ago

Probably start by finding specific cell method strings. One option would be to copy one from a query on a variable and then find all other variables with that cell method.

bnlawrence commented 1 year ago

We discussed this yesterday, there are several considerations which were bound up here, but aren't really cell method queries, e.g. find all the monthly mean data is a question about cell methods (mean) and frequency (monthly). It is non-trivial to know if a dataset is monthly, at least by inspection of the time axes (coordinate and bounds) alone. However, we determined that while it can be done, it's not a priority for now, What is a priority for now is for @davidhassell to get cf-python support for when during an aggregation, it is recognised that a) the cell extent is the same for each time-cell, and b) the cell frequency is constant. In this case we would have field variable (domain) attributes representing sampling_bound, and sampling_frequency (recognising that both may need two values for a number and units and we don't want to pack those into a string, so we may have 0, 2, or 4 attributes in play). cfstore should then support that when the aggregation delivers it (we may have to be a bit clever about backporting for existing CANARI aggregations).

There are a few interesting cases to consider, amongst which are