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

Chunk Control documentation #5597

Merged
merged 17 commits into from
Nov 23, 2023

Conversation

ESadek-MO
Copy link
Contributor

@ESadek-MO ESadek-MO commented Nov 21, 2023

🚀 Pull Request

Closes #5400.

Added documentation, outlining the changes made in #5399 to implement further user control over chunksizes from
netcdf files.

  • Approve and update existing docstrings from Finish NetCDF loading chunk control code #5399.
  • Complete doctests in docstrings.
    • Code for each context manager
  • Create a new technical paper NetCDF IO, including TBC titles and a completed section on chunk control.
    • Duplicate doctests from code.

21/11 *Note: This is very much WIP, and will go through many changes. The commits at time of PR creation
are consciously disorganized, unclear and dysfunctional.

@ESadek-MO
Copy link
Contributor Author

I think I've decided not to write code examples in the docstrings of each context manager, aside from "set".
There's not much to demonstrate, in terms of how to use, there are no special parameters or the like.

I could also remove them from the TP (only included as i felt it was less disruptive in full documentation). Open to disagreement though.

@ESadek-MO ESadek-MO marked this pull request as ready for review November 22, 2023 15:26
Copy link
Contributor

@trexfeathers trexfeathers left a comment

Choose a reason for hiding this comment

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

Think we're most of the way there, just various annoying small bits...

docs/src/techpapers/netcdf_io.rst Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
lib/iris/fileformats/netcdf/loader.py Outdated Show resolved Hide resolved
lib/iris/fileformats/netcdf/loader.py Outdated Show resolved Hide resolved
lib/iris/fileformats/netcdf/loader.py Outdated Show resolved Hide resolved
lib/iris/fileformats/netcdf/loader.py Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
docs/src/techpapers/netcdf_io.rst Outdated Show resolved Hide resolved
lib/iris/fileformats/netcdf/loader.py Outdated Show resolved Hide resolved
lib/iris/fileformats/netcdf/loader.py Show resolved Hide resolved
@trexfeathers trexfeathers merged commit 06d3eaf into SciTools:FEATURE_chunk_control Nov 23, 2023
13 of 16 checks passed
ESadek-MO added a commit that referenced this pull request Nov 23, 2023
* Merge chunk control code into latest iris (#5565)

* Dask chunking control for netcdf loading.

* renamed loader

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix indentation error, perhaps also docstring error

* fixed result error in loader, and set tests to treat as big files

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* trial and error, solve non iterable tuple 1.0

* trial and error, solve non iterable tuple 2.0 (used if var is none: instead of if var: )

* commented out docstring

* fixed mock 'no name' failure

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed precommit issues

* corrected docstrings as per review comments

* Removed unnecessary line

Co-authored-by: Martin Yeo <[email protected]>

---------

Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Martin Yeo <[email protected]>

* Chunk control modes (#5575)

* added modes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added as_dask mode

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* cleaned up enum and as_dask, as per review comments

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* corrected  to  in final place

* unindented lazy_param assignment one indent

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Corrected required type of dimension_chunksizes. (#5581)

* Chunk Control Tests (#5583)

* converted tests to pytest, added neg_one, and incomplete from_file and as_dask tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added from_file test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added mocking tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* trial and error with mocks and patches, may or may not work

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* converted Mock to patch in as_dask test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* review comment changes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* pre commit fixes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* review comments, and added test in test__get_cf_var_data()

* added in another test

* added tests and fixed review comments

* added AuxCoord test

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Chunk control minor fixes (#5593)

* Disallow chunks=None in optimum_chunksize.

* Clearer docstrings.

* Corrected docstring.

* Chunk Control documentation (#5597)

* init PR, skeleton TP

* whoops, missed the TP.

* fixed doctests in rst file

* correct triple chevron to elipses

* updated set doctest to better show functionality

* removed in-progress doctest code

* Review comments, part 1

* Review comments, part 2

* changed numpy docs dict

* wait, this way is better

* fixed linkcheck failures (maybe)

* fixed :meth:

* fixed a couple doc bits

* hopefully fixed doctests

* newest review comments

* fixed rendering, and wording in docstring

* fixed docstring numpyness

* What's New Entry (#5601)

* written whatsnew entry

* added ref

* moved label to before title

---------

Co-authored-by: Elias <[email protected]>
Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@ESadek-MO ESadek-MO deleted the cc_docs branch November 23, 2023 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document NetCDF loading chunk control
2 participants