Clarify iteration and indexing for catalog.datasets
I just used this notebook to remind myself how to get data from a THREDDS server, and managed to confuse myself when using catalog.datasets, as documented in siphon#361. I proposed a documentation fix to the DatasetCollection class, but also wanted to propose some changes to this notebook.
Specifically,
- In section 1, cell 4: cat.datasets, when printed, looks like a list. I recommend adding "Here,
cat.datasetsis a dictionary, and what you see above is a list of its keys, which are also the filenames of the datasets. Accessingcat.datasetswith one of these keys will return theDatasetthat can be used to download the data, as you'll see below." - In section 3, above cell 10: "As noted above, the dataset name can be used to access each
Dataset, but we can also index by position. - and below cell 11: "As you might have noticed,
datasetsis a special kind of dictionary that can be indexed in two ways, but it doesn't work like a list when you loop over it. Instead, sincedatasetsis a dictionary, if you loop through it you will get a sequence of keys: the filenames. So, to loop through eachDatasetand download it, you would writefor ds_name in datasets: datasets[ds_name].download(). That could be useful if you want to further filter out datasets based on the dataset name."
That might not be the best / shortest wording for a workshop setting, so suggestions welcome.
Also (@dcamron ?) is there anything special about updating content in the tutorial notebooks? Is it just the main notebook that has to be updated?
Yeah, there's nothing special to making changes to notebooks for outside contributors right now, and it should be fine for you to just update this notebook. Feel free to open a PR with these changes to Siphon Overview.ipynb and just clear any outputs after you confirm that it fully executes in your environment. I'll be glad to review it.
Thanks @dcamron, it's ready, after some rethinking of my proposed fix, for your review.