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 modes #5575

Merged

Conversation

ESadek-MO
Copy link
Contributor

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

🚀 Pull Request

Follows #5565, addresses step two of #5399 .
Implemented new modes, as discussed in a comment in aforementioned issue.

  • Default
  • File
  • Dask
  • -1

WILL NEED REBASING ONCE PRECEDING PR IS MERGED.

Copy link

codecov bot commented Nov 10, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

❗ No coverage uploaded for pull request base (FEATURE_chunk_control@f73f479). Click here to learn what that means.

Additional details and impacted files
@@                   Coverage Diff                    @@
##             FEATURE_chunk_control    #5575   +/-   ##
========================================================
  Coverage                         ?   89.33%           
========================================================
  Files                            ?       89           
  Lines                            ?    22689           
  Branches                         ?     5414           
========================================================
  Hits                             ?    20270           
  Misses                           ?     1664           
  Partials                         ?      755           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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 Outdated Show resolved Hide resolved
@ESadek-MO ESadek-MO reopened this Nov 14, 2023
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.

Looking good. Couple of things I missed originally...

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
@ESadek-MO
Copy link
Contributor Author

In _lazy_data, there are two checks for as_dask, at 263 and 283.
This might not be needed, if the check at 280 could be done before 275.

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.

Sorry for so many comments. They're all easy!

lib/iris/_lazy_data.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 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/_lazy_data.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
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.

Great!

But you missed a spot 😉

lib/iris/fileformats/netcdf/loader.py Outdated Show resolved Hide resolved
@trexfeathers trexfeathers merged commit ef895e1 into SciTools:FEATURE_chunk_control Nov 15, 2023
17 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 chunk_control_modes 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.

2 participants