sunpy / sunpy-project

An issue tracker for project wide tasks and suggestions
0 stars 0 forks source link

An overarching gallery: learn.sunpy.org? #11

Open wafels opened 3 years ago

wafels commented 3 years ago

Description

There's room for more extensive tutorials on how to do solar physics with SunPy. For example, solar physics coordinate systems are a complex topic in themselves, and are fundamental in understanding what you're looking at when you look at a Map. Plus there is a learning opportunity to teach users about the data and how it is acquired.

Tutorials would have a heavier teaching/learning component compared to the existing examples in the Example Gallery. Such tutorials would also allow us to explain some design choices in SunPy, as well as some basic solar physics.

Cadair commented 3 years ago

https://youtu.be/UQHaGhC7C2E?t=49

dstansby commented 3 years ago

I was thinking the other day that our Guide (https://docs.sunpy.org/en/stable/guide/index.html) might be more suited as a set of tutorials.

Cadair commented 3 years ago

I have moved this here as I think it's bigger than core.

We discussed this at the Coordination Meeting and there was a lot of thoughts about we need:

wtbarnes commented 2 years ago

I'm going to attempt to summarize some points from a discussion @ayshih and I had the other day related to this effort. Some of this is definitely repeated in the above comments.

Our example gallery currently has three main purposes:

  1. Provide API documentation for anything that requires plotting something (e.g. assume_spherical_screen)
  2. Give an example of fairly self-contained functionality (e.g. here is how you plot a coordinate on top of a map)
  3. Demonstrate a workflow (e.g. the AIA-to-STEREO coordinate conversion example)

Mixing of three different kinds of content, especially including examples that fall into the third category, has caused our example gallery to grow quite large (a good thing!) making it harder to find the example you're looking for (a bad thing!).

One possible solution for mitigating this scalability problem would be to spin off our longer-form narrative examples (those that fall into category 3) into a set of tutorials separate from our documentation, similar to learn.astropy.org[^1]. As @dstansby points out above, this could also serve to replace the existing user guide, which I don't think we often point people toward. In the case of the user guide format, we could start with the structure of our existing user guide and then add our more advanced narrative-heavy examples (e.g. the AIA-STEREO coordinates one) as advanced topics that follow the introductory sections. How exactly to go about structuring this would require some thought.

Some pros to this approach:

And some cons:

It would be great to have people's thoughts on this. I know we've batted many of these ideas around for a while, but I'm just trying to solidify them in my mind a bit better. This should definitely be a coordination meeting topic, but I plan to make progress on this well-ahead of the meeting as well.

[^1]: I have to say, after looking at the learn.astropy site just now, I'm not entirely sure this same tech stack could be adapted for our efforts that easily. It appears to be built entirely on top of a javascript framework and just links to static renderings of the notebooks with no option for interactivity. Something like JupyterBook seems far more attractive to me.

[^2]: This is not to say there isn't still work to be done in making the example gallery more easily searchable. See sunpy/sunpy#2164

wtbarnes commented 2 years ago

A project of smaller scope, but that would achieve some of these objectives is to just have a gallery page that collects all of the example gallery entries from all of the affiliated and/or sponsored packages. Ideally, this would also support search across all of these gallery examples.

Cadair commented 2 years ago

I found this today: https://sphinx-thebe.readthedocs.io/en/latest/index.html which lets you have executable code blocks backed by binder. Building this into the gallery would be super nifty:tm:

wtbarnes commented 1 year ago

A few ideas for cross-project workflows that documentation like this could demonstrate:

The criteria should be that:

  1. the analysis should be too involved for a short gallery example,
  2. have significant accompanying narrative,
  3. be a task that a scientist may actually want to do in the course of their work, and
  4. involve more than 1 project in the SunPy ecosystem.
wtbarnes commented 1 year ago

The Pythia cookbooks may provide some good inspiration for this kind of an effort: https://cookbooks.projectpythia.org/

wtbarnes commented 11 months ago

Notes from Stuart and Will traveling to the airport and talking about scope of what this thing should be

Philosophy

Technical bits