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

Notebook development #2

Merged
merged 24 commits into from
Oct 25, 2024
Merged

Notebook development #2

merged 24 commits into from
Oct 25, 2024

Conversation

BSchilperoort
Copy link
Member

Created this PR so the changes in the notebook_development branch are easier to see

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@BSchilperoort
Copy link
Member Author

I merged main into this branch, to make the SRC link etc. work.

Copy link
Member Author

@BSchilperoort BSchilperoort Oct 24, 2024

Choose a reason for hiding this comment

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

  • GRPC4BMI, a 'translater' for BMI function calls between different programming languages. This library was build by the eWaterCycle team, but is available openly for anyone that can benefit from its functionality.

Might be good to mention that the main reason this is needed is to be able to talk across containers. There are other ways to communicate between languages if they're all locally installed, e.g. PyMT.

Copy link
Member Author

Choose a reason for hiding this comment

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

image
@RolfHut is this block needed? The names aren't used anywhere. Or just put them closer where they're used and don't put them in a code block, just markdown for explanation

Copy link
Contributor

Choose a reason for hiding this comment

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

these are a holdover from the calibration thing... will remove

Copy link
Member Author

@BSchilperoort BSchilperoort Oct 24, 2024

Choose a reason for hiding this comment

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

# # option one: generate forcing data

# # option two: load data you generated yourself

# option three: load data someone else generated

I think we can merge option two and three for conciseness ("load data you or someone else generated") @RolfHut

@BSchilperoort
Copy link
Member Author

The main reason why your calibration breaks is that netCDF4 and HDF5 don't support concurrent reads. You have multiple ensemble members all trying to read the same file at the same time.

There are libraries that support concurrent file IO for netCDF files e.g.; https://github.com/gauteh/hidefix
The alternative is to use a format such as Zarr, which can be accessed concurrently (and can be directly hosted online, for more info see https://excited-co2.github.io/workshop_tutorial/main/overview.html#introduction-to-zarr

Workaround is copying the forcing files and only providing unique nc files to each ensemble member.

@RolfHut
Copy link
Contributor

RolfHut commented Oct 24, 2024

I don't understand why this has become a problem? In the previous iteration we had the same situation: one netcdf forcing file and 100 ensemble members reading it.

I'm trying to get my head around what changed

@BSchilperoort BSchilperoort merged commit dca284d into main Oct 25, 2024
6 checks passed
@BSchilperoort BSchilperoort deleted the notebook_development branch October 25, 2024 10:05
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