Skip to content

Conversation

@reint-fischer
Copy link
Contributor

@reint-fischer reint-fischer commented Oct 28, 2025

Implements proposed changes from #2310

Major changes

  1. Separate “Getting Started” from “User Guide”
  2. Separate and bring forward “Contributing” and “Community” pages

Notes

In my current view, the strength of our documentation has always been the extended Jupyter Notebooks; tutorials, which I think we should call “How-to guides”, because they are for advanced users and typically answer a “how to?” such as “How to write a Kernel which encodes ARGO behavior?” or “How to set up a FieldSet with a Curvilinear grid?”. I think we should keep this strength, and put it within a “User guide”, which includes beginner tutorials and explanation (.md files) of important Parcels concepts. See Divio for an extended description of the differences between tutorials, explanations, and how-to guides.

TODO:

  • Outline parcels concepts explanation
  • Add docstring rules to per-file ruff lint
  • Add Lagrangian Diagnostics to community

Fixes #2302

@reint-fischer reint-fischer mentioned this pull request Oct 29, 2025
@VeckoTheGecko
Copy link
Contributor

Looks like great progress! Happy to do a full review when ready.

image

Note that this badge does not work (its linking to the website instead - likely because clicking anywhere in the card links to the website). Maybe you can link to the Zulip using a button like for the GitHub?

The Zulip badge was mainly for the README

@reint-fischer
Copy link
Contributor Author

Thanks Nick! I have fixed the Zulip badge which should work now. I am considering requesting a full review now, as the next things I want to look into are the Reference API and how to outline the Parcels concept explanation files, see main PR message. I could work on those separately from this PR? Or I can wait for your initial review and work on those later and switch to some other tasks for the moment?

@VeckoTheGecko
Copy link
Contributor

I could work on those separately from this PR?

I think that would be best. Its easier if I can review these changes - get them merged, and then get the other changes merged via another PR (otherwise this PR gets too large, or I have to re-review which is difficult)

@VeckoTheGecko VeckoTheGecko marked this pull request as ready for review October 30, 2025 15:29
@github-project-automation github-project-automation bot moved this from Backlog to Done in Parcels development Oct 31, 2025
@VeckoTheGecko VeckoTheGecko reopened this Oct 31, 2025
@github-project-automation github-project-automation bot moved this from Done to Backlog in Parcels development Oct 31, 2025
@VeckoTheGecko
Copy link
Contributor

(re-triggering CI)

sphinx-autobuild = "*"
myst-parser = "*"
sphinxcontrib-mermaid = "*"
sphinx-design = "*"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this is used for the grid? Happy to add

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep

pyproject.toml Outdated
Comment on lines 128 to 132

[tool.ruff.lint.per-file-ignores]
# Ignore docstring rules everywhere except for the stable files (particleset.py).
"!src/parcels/_core/{particleset}.py" = [
# Missing docstring in public module
"D100",
# Missing docstring in public class
"D101",
# Missing docstring in public method
"D102",
# Missing docstring in public function
"D103",
]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Up to you whether you'd like to manage this in the same file this way, or via a separate file - either works

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I will move this to a new PR however, where we can implement the Reference API more thoroughly.

# epub_use_index = True

# -- Options for MyST parser ----------------------------------------------
myst_heading_anchors = 3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great

Comment on lines 96 to 101
Getting started <getting_started/index>
Documentation <user_guide/index>
Community <community/index>
Contributing <contributing/index>
API reference <reference>
Contributing, Release Notes and more <community/index>
Parcels website <https://parcels-code.org/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the card - I assume the "Getting started" section still needs the quickstart tutorial?

I like the split of "Getting Started" from the rest of the user guide.

I wouldn't mind more sprinkling of TODO comments/note blocks in the documentation (e.g., creating an empty quickstart page with "TODO") to signpost the future development. This makes it easier to review - to have an idea for the structure that you have in mind in a way that is surfaced directly in the website, since at the moment I need to pull from context (e.g., I only deduced that the Quickstart tutorial was planned for the "Getting Started" section via the card on the homepage).

Something like

<!-- nearly empty file docs/getting_started/quickstart.md -->
```{note}
TODO: Write quickstart tutorial. This should focus on ....
```

Creating such empty files that need to be filled out is a nice workflow I think - scaffolding things out

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, thank you!

I have started on some of the tutorials in other PRs, so I will also merge those in, but there is still quite some scaffolding which will be useful

docs/index.md Outdated
Getting started <getting_started/index>
Documentation <user_guide/index>
Community <community/index>
Contributing <contributing/index>
Copy link
Contributor

@VeckoTheGecko VeckoTheGecko Oct 31, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should rename Contributing to Development, as that encompasses the different pages inside

Contributing Guidelines
Versioning Policy
Release Notes
Maintainers notes

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that a lot!

:hidden:
v3 to v4 migration guide <v4-migration>
Example scripts <additional_examples>
Community examples <https://github.com/Parcels-code/parcels_contributions>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the current maintenance status of parcels_contributions, I don't think that we should promote this here in the sidebar. I think its important to distinguish it as a separate project - happy to just reference it in the community section.

@VeckoTheGecko VeckoTheGecko force-pushed the documentation-structure-v4 branch from e409fc1 to ac81305 Compare October 31, 2025 11:20
@VeckoTheGecko
Copy link
Contributor

Reminder @reint-fischer : If you want this PR to automatically close any issues on merge, you can put fixes #1234 (or "resolves", or "closes") in the PR body.

For multiple: fixes #1, fixes #2, fixes #3 etc.

Wasn't sure if you wanted this to close #2310 - just thought I'd mention

GitHub docs: https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword

@reint-fischer reint-fischer force-pushed the documentation-structure-v4 branch from 63bccc1 to 2d49457 Compare November 3, 2025 14:12
conda activate parcels
```

**Step 4:** Download [a zipped copy](https://docs.parcels-code.org/en/latest/_downloads/307c382eb1813dc691e8a80d6c0098f7/parcels_tutorials.zip) of the Parcels tutorials and examples and unzip it.
Copy link
Contributor

@VeckoTheGecko VeckoTheGecko Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since #2293 this step 4 is outdated and can be removed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And I assume step 5 is too then right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

@reint-fischer
Copy link
Contributor Author

From the card - I assume the "Getting started" section still needs the quickstart tutorial?

I like the split of "Getting Started" from the rest of the user guide.

I wouldn't mind more sprinkling of TODO comments/note blocks in the documentation (e.g., creating an empty quickstart page with "TODO") to signpost the future development. This makes it easier to review - to have an idea for the structure that you have in mind in a way that is surfaced directly in the website, since at the moment I need to pull from context (e.g., I only deduced that the Quickstart tutorial was planned for the "Getting Started" section via the card on the homepage).

Something like

<!-- nearly empty file docs/getting_started/quickstart.md -->
```{note}
TODO: Write quickstart tutorial. This should focus on ....

Creating such empty files that need to be filled out is a nice workflow I think - scaffolding things out

I have now added some scaffolding which would improve navigation and helps visualise TODO items, but I realised that splitting out notebooks over multiple folders, instead of having them in one “examples” folder, might complicate testing them. Depending on what we decide in #2335 , this might not be such a big problem, but we should figure it out before merging this.

@reint-fischer reint-fischer merged commit bba37f4 into v4-dev Nov 5, 2025
10 of 11 checks passed
@reint-fischer reint-fischer deleted the documentation-structure-v4 branch November 5, 2025 14:28
@github-project-automation github-project-automation bot moved this from Backlog to Done in Parcels development Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Link in documentation to parcels_contributions

3 participants