-
Notifications
You must be signed in to change notification settings - Fork 322
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
update(Mf6Splitter): change how node mapping is stored and loaded #2465
base: develop
Are you sure you want to change the base?
Conversation
* `save_node_mapping` now writes a compressed `hdf5` file and stores additional modelgrid reconstruction information for original and split model representations * `load_node_mapping` changed to a static method that returns a Mf6Splitter object that can be used for array reconstruction * updated autotests * added example usage to `mf6_parallel_model_splitting_example.py` * json node mapping files no longer supported, user must rewrite node mapping files as hdf5 files.
@mjr-deltares, here are the updates to the model splitter for more efficient storage and loading of the "node mapping" files. If you'd like to give them a test, usage is as follows mfs = Mf6Splitter(my_sim)
new_sim = mfs.split_model(array)
node_map_file = "my_node_map.h5"
mfs.save_node_mapping(node_map_file)
mfs2 = Mf6Splitter.load_node_mapping(node_map_file) I tested this on the average annual long island model and HDF5 file processing and write time was ~5 seconds, read and reconstruction time was ~1.5 seconds, and HDF5 file size was about 63 MB, which includes information to reconstruct the original and split model grids, and the mappings to link these together. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #2465 +/- ##
=========================================
+ Coverage 68.4% 74.3% +5.8%
=========================================
Files 294 293 -1
Lines 59390 62092 +2702
=========================================
+ Hits 40652 46135 +5483
+ Misses 18738 15957 -2781
🚀 New features to boost your workflow:
|
save_node_mapping
now writes a compressedhdf5
file and stores additional modelgrid reconstruction information for original and split model representationsload_node_mapping
changed to a static method that returns a Mf6Splitter object that can be used for array reconstructionmf6_parallel_model_splitting_example.py