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

Blaylockbk/issue52 Add some multithreading tools to Herbie #69

Merged
merged 7 commits into from
Apr 22, 2022

Conversation

blaylockbk
Copy link
Owner

Added some tools that use multithreading to make some processes faster.

Creating a Herbie object is a lot of network traffic (Herbie check if a GRIB file exits at a lot of different remote archives and also looks for index files). Herbie also downloads the GRIB2 files, which is also mainly done over the network, and reading the data into xarray depends on the downloads.

Multithreading is useful for I/O bound tasks. As I understand, communication across the internet falls under this category. So multi threads can be helpful when creating many Herbie objects.

This pull request applies multithreading for the following tasks:

  1. Creating lots of Herbie objects (herbie.tools.fast_Herbie)
  2. Downloading lots of files (herbie.tools.fast_Herbie_download)
  3. Loading lots of files into xarray (herbie.tools.fast_Herbie_xarray)

I'll add some documentation before making a new Herbie release.

@blaylockbk blaylockbk merged commit 4600663 into master Apr 22, 2022
@blaylockbk blaylockbk deleted the blaylockbk/issue52 branch April 22, 2022 23:03
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.

None yet

1 participant