Setup Information
- xhydro version: 0.3.3
- Python version: 3.11.8
- Operating System: Windows 10
Description
J'obtiens une erreur à la ligne:
ds = xd.Query(
*{
"datasets":{
"deh":{
"id" :["020"],
"regulated":["Natural"],
"variables":["streamflow"],
}
}, "time":{"start": "1970-01-01",
"minimum_duration":(15*365, 'd')},
}
).data.squeeze().load()
L'erreur:
ValidationError Traceback (most recent call last)
Cell In[2], line 1
----> 1 ds = xd.Query(
2 *{
3 "datasets":{
4 "deh":{
5 "id" :["020"],
6 "regulated":["Natural"],
7 "variables":["streamflow"],
8 }
9 }, "time":{"start": "1970-01-01",
10 "minimum_duration":(15*365, 'd')},
11
12 }
13 ).data.squeeze().load()
15 # This dataset lacks some of the aforementioned attributes, so we need to add them.
16 ds["id"].attrs["cf_role"] = "timeseries_id"
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\xdatasets\core.py:122, in Query.init(self, datasets, space, time, catalog_path)
119 self.space = self._resolve_space_params(**space)
120 self.time = self._resolve_time_params(**time)
--> 122 self.load_query(datasets=self.datasets, space=self.space, time=self.time)
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\xdatasets\core.py:256, in Query.load_query(self, datasets, space, time)
253 except:
254 pass
--> 256 ds_one = self._process_one_dataset(
257 dataset_name=dataset_name,
258 variables=variables_name,
259 space=space,
260 time=time,
261 **kwargs,
262 )
263 dsets.append(ds_one)
265 try:
266 # Try naively merging datasets into single dataset
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\xdatasets\core.py:299, in Query._process_one_dataset(self, dataset_name, variables, space, time, **kwargs)
296 dataset_category = "user-provided"
298 elif isinstance(dataset_name, str):
--> 299 dataset_category = [
300 category
301 for category in self.catalog._entries.keys()
302 for name in self.catalog[category]._entries.keys()
303 if name == dataset_name
304 ][0]
306 if dataset_category in ["atmosphere"]:
307 with warnings.catch_warnings():
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\xdatasets\core.py:302, in (.0)
296 dataset_category = "user-provided"
298 elif isinstance(dataset_name, str):
299 dataset_category = [
300 category
301 for category in self.catalog._entries.keys()
--> 302 for name in self.catalog[category]._entries.keys()
303 if name == dataset_name
304 ][0]
306 if dataset_category in ["atmosphere"]:
307 with warnings.catch_warnings():
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\base.py:472, in Catalog.getitem(self, key)
463 """Return a catalog entry by name.
464
465 Can also use attribute syntax, like cat.entry_name
, or
(...)
468 cat['name1', 'name2']
469 """
470 if not isinstance(key, list) and key in self:
471 # triggers reload_on_change
--> 472 s = self._get_entry(key)
473 if s.container == "catalog":
474 s.name = key
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\utils.py:43, in reload_on_change..wrapper(self, *args, **kwargs)
40 @functools.wraps(f)
41 def wrapper(self, *args, **kwargs):
42 self.reload()
---> 43 return f(self, *args, **kwargs)
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\base.py:355, in Catalog._get_entry(self, name)
353 ups = [up for name, up in self.user_parameters.items() if name not in up_names]
354 entry._user_parameters = ups + (entry._user_parameters or [])
--> 355 return entry()
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\entry.py:60, in CatalogEntry.call(self, persist, **kwargs)
58 def call(self, persist=None, **kwargs):
59 """Instantiate DataSource with given user arguments"""
---> 60 s = self.get(**kwargs)
61 s._entry = self
62 s._passed_kwargs = list(kwargs)
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\local.py:313, in LocalCatalogEntry.get(self, **user_parameters)
310 return self._default_source
312 plugin, open_args = self._create_open_args(user_parameters)
--> 313 data_source = plugin(**open_args)
314 data_source.catalog_object = self._catalog
315 data_source.name = self.name
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\local.py:613, in YAMLFileCatalog.init(self, path, text, autoreload, **kwargs)
611 self.filesystem = kwargs.pop("fs", None)
612 self.access = "name" not in kwargs
--> 613 super(YAMLFileCatalog, self).init(**kwargs)
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\base.py:128, in Catalog.init(self, entries, name, description, metadata, ttl, getenv, getshell, persist_mode, storage_options, user_parameters)
126 self.updated = time.time()
127 self._entries = entries if entries is not None else self._make_entries_container()
--> 128 self.force_reload()
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\base.py:186, in Catalog.force_reload(self)
184 """Imperative reload data now"""
185 self.updated = time.time()
--> 186 self._load()
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\local.py:648, in YAMLFileCatalog._load(self, reload)
646 logger.warning("Use of '!template' deprecated - fixing")
647 text = text.replace("!template ", "")
--> 648 self.parse(text)
File ~\Anaconda3\envs\xhydro-dev\Lib\site-packages\intake\catalog\local.py:728, in YAMLFileCatalog.parse(self, text)
726 result = CatalogParser(data, context=context, getenv=self.getenv, getshell=self.getshell)
727 if result.errors:
--> 728 raise exceptions.ValidationError(
729 "Catalog '{}' has validation errors:\n\n{}"
730 "".format(self.path, "\n".join(result.errors)),
731 result.errors,
732 )
734 cfg = result.data
736 self._entries = {}
ValidationError: Catalog 'C:/Users/maied01/AppData/Local/Temp/catalogs//hydrology.yaml' has validation errors:
("missing 'module'", {'module': 'intake_xarray'})
Steps To Reproduce
No response
Additional context
J'ai créé un environnement conda en suivant les étapes de la procédure et j'ai lancé un Jupyter Notebook en utilisant Anaconda Navigator.
Contribution