Skip to content

partitioning subset hydrofabrics (NGWPC-6553)#44

Closed
cmaynard-ngwpc wants to merge 9 commits intorelease-candidatefrom
PhilMiller-7218-partitioning-again
Closed

partitioning subset hydrofabrics (NGWPC-6553)#44
cmaynard-ngwpc wants to merge 9 commits intorelease-candidatefrom
PhilMiller-7218-partitioning-again

Conversation

@cmaynard-ngwpc
Copy link

Prior to this PR, partitioning a hydrofabric in which there was a nexus that had multiple contributing catchments and no downstream catchment could lead to corrupted run results if those catchments were spread across multiple processes.

Fixes: NOAA-OWP#284

Additions

  • SentinelFeature type for the placeholder GeoJSON features that have no geography or geometry associated with them

Changes

  • Detect potential victim nexuses in the partitionGenerator input, and add sentinel flowpaths downstream of them
  • Elaborate the CMake summary print just a bit

Removals

  • Bits of dead code

Testing

  1. Output from partitionGenerator on test subset hydrofabric from bug report looks as intended

Screenshots

{
    "partitions":[
        {"id":0,
        "cat-ids":["cat-2395", "cat-2404", "cat-1118", "cat-758", "cat-757", "cat-1257", "cat-1344", "cat-1057", "cat-1480", "cat-1962", "cat-1368", "wb-TERMINAL_SENTINEL-nex-759"],
        "nex-ids":["nex-758", "nex-757", "nex-759"],
        "remote-connections":[
            {"mpi-rank": 1, "nex-id": "nex-759", "cat-id": "cat-1002", "cat-direction": "orig_cat-to-nex"},
            {"mpi-rank": 1, "nex-id": "nex-759", "cat-id": "cat-1143", "cat-direction": "orig_cat-to-nex"},
            {"mpi-rank": 1, "nex-id": "nex-759", "cat-id": "cat-1221", "cat-direction": "orig_cat-to-nex"},
            {"mpi-rank": 1, "nex-id": "nex-759", "cat-id": "cat-1418", "cat-direction": "orig_cat-to-nex"}]}, 
        {"id":1,
        "cat-ids":["cat-1354", "cat-1454", "cat-1591", "cat-1002", "cat-1670", "cat-1001", "cat-1143", "cat-1221", "cat-2018", "cat-1858", "cat-1418"],
        "nex-ids":["nex-1001", "nex-1002", "nex-1143", "nex-1221", "nex-1418", "nex-759"],
        "remote-connections":[
            {"mpi-rank": 0, "nex-id": "nex-759", "cat-id": "wb-TERMINAL_SENTINEL-nex-759", "cat-direction": "nex-to-dest_cat"}]}    ]
}

Checklist

  • PR has an informative and human-readable title
  • Changes are limited to a single goal (no scope creep)
  • Code can be automatically merged (no conflicts)
  • Code follows project standards (link if applicable)
  • Passes all existing automated tests
  • Any change in functionality is tested
  • New functions are documented (with a description, list of inputs, and expected output)
  • Placeholder code is flagged / future todos are captured in comments
  • Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
  • Reviewers requested with the Reviewers tool ➡️

@cmaynard-ngwpc cmaynard-ngwpc marked this pull request as draft September 23, 2025 19:01
@cmaynard-ngwpc
Copy link
Author

cmaynard-ngwpc commented Sep 23, 2025

We are merging the current release-candidate branch to development and these commits are already part of development. Moved to draft until this process is done, then will close.

@cmaynard-ngwpc
Copy link
Author

Closing because we have suspended updating release-candidate until an actual delivery date has been set. All updates are now being made in development. This update was already merged into development as PR #32

@cmaynard-ngwpc cmaynard-ngwpc deleted the PhilMiller-7218-partitioning-again branch September 26, 2025 16:12
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