Create a standalone hydraulic lookup table for channel cross sections #797
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The creation of hydraulic lookup tables for channel cross sections, using either RouteLink's synthetic channel cross section data or topobathy data, currently occurs within the diffusive.f90 of t-route. To dynamically exchange flow or depth values computed among the MC, diffusive, and reservoir modules within t-route at each time step during runtime, the diffusive module needs to run at the same time step as the MC or reservoir modules, which is currently every 5 minutes. Running the diffusive kernel every 5 minutes unnecessarily repeats the creation of the lookup tables, which is only needed once. Therefore, this PR proposes creating an extension module (chxsec_lookuptable.cpython-<...>.so) that can be called to compute the lookup tables only at the initial simulation time of the diffusive routing and then passed to the diffusive kernel as input arguments at every subsequent simulation time step.
** A refactored version of diffusive.f90 to sync with this extension module is on the way.
Additions
Removals
Changes
Testing
Screenshots
Notes
Todos
Checklist
Testing checklist
Target Environment support
Accessibility
Other