Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation plans #61

Open
6 of 14 tasks
TomNicholas opened this issue Feb 17, 2022 · 2 comments
Open
6 of 14 tasks

Documentation plans #61

TomNicholas opened this issue Feb 17, 2022 · 2 comments
Labels
documentation Improvements or additions to documentation

Comments

@TomNicholas
Copy link
Collaborator

TomNicholas commented Feb 17, 2022

Datatree needs some documentation, even if it has to change in future.

I think most of the documentation would remain relevant even after some changes, as long as we keep the same basic data model (e.g. DataTree vs DataGroups, with no hierarchy).

I really like this breakdown for documentation, which theorizes that there are 4 types of documentation, along two axes, as shown in this diagram:

image

Another thing to consider is how the documentation we write now might eventually be incorporated into xarray's documentation upstream. We don't need to duplicate anything, and we want things we write to neatly slot into sections in xarray's existing documentation.

Some ideas:

Tutorials

How-to Guides

(Some of these could possibly go in xarray's Gallery section)

  • How to define a function which maps an operation over a whole tree.
  • How to work with multi-resolution data.
  • How to convert unusual file structures to DataTrees and vice versa. This is where we could discuss tricky gotchas with Zarr files that can't be immediately represented as trees etc.
  • "How do I" but for various tree manipulation operations. Might need to split up xarray's "how do I" page for clarity. (This one might want to wait for the API to be more solidified)

Explanation

(A lot of this could be grouped under one page on "Working with hierarchical data".)

Reference

This should be pretty much covered by ensuring that the auto-generated API docs work properly. The hard bit will be copying / duplicating the large API of xarray.Dataset that DataTree inherits.

@TomNicholas TomNicholas added the documentation Improvements or additions to documentation label Feb 17, 2022
@jhamman
Copy link

jhamman commented Jan 4, 2023

Just took a look at the docs. They are looking great and much more complete than I was expected. Some comments on the current docs site:

  • The index page would be better used as a light intro to the package, rather than duplicated listing of the ToC. I would suggest adding a bit of context about the package and typical use cases. And I would mention the plan to migrate the package to the core xarray project. (Done in Add content to Index page #182 )
  • Can we make intersphinx work? It would be nice if references to Xarray objects like Dataset and DataArray included a link to the Xarray docs. Also, it would be great if references to DataTree objects linked to the API Reference. (Try to fix code links in docs #183)
  • The Quick overview page is great. Depending on what you do with the Tutorial page, this could stay as is or expand slightly to cover a few more operations: dt.max(dim=...), dt.sel(time=...), and .to_netcdf(...) would be good examples to consider.

Small nits:

@TomNicholas
Copy link
Collaborator Author

Thanks @jhamman for the feedback! I've fixed most of the quick things you mentioned, except for for the intersphinx / code API links which I'm a bit stuck on (see #183).

For the tutorial page I was imagining creating some kind of example tutorial dataset and doing a mock analysis of that (see #142, which I've neglected).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants