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

Local inertial solution 1-D/2-D #182

Merged
merged 24 commits into from
Jan 25, 2022
Merged

Local inertial solution 1-D/2-D #182

merged 24 commits into from
Jan 25, 2022

Conversation

verseve
Copy link
Member

@verseve verseve commented Dec 13, 2021

Routing for model type sbm has been extended with a local inertial solution for 2-D for overland/ floodplain flow. It is linked to the existing local inertial solution for 1-D river flow (subgrid channel). The 2-D solution makes use of a D4 (four direction) routing scheme, while the 1-D river flow solution uses a D8 (eight direction) routing scheme. For 2-D overland/ floodplain on a staggered grid the numerical scheme proposed by Almeida et al. (2012) is adopted.

docs/src/lateral/local-inertial.md Outdated Show resolved Hide resolved
src/sbm_model.jl Outdated Show resolved Hide resolved
verseve and others added 18 commits January 21, 2022 12:15
update of wflow_sbm model Moselle (including states and forcing), includes now river elevation data for local inertial approach.
with different struct for Land and River part
should have been part of previous commit. for lateral subsurface flow/ groundwater kinematic wave is used for now.
update function with sub-grid channel model: local inertial approximation of the shallow water equation (Almeida et al., 2012), 1D (sub-grid) for the river channel, and 2D for the floodplain/ overland flow.
- runoff to land domain of shallow water now also includes river and lateral ssf inputs
- moved update of land and river domain from sbm_swf_model.jl to a function in flow.jl
- adaptive time stepping is calculated (was fixed)
- cleanup code in sbm_swf_model.jl
- decreased memory allocation by Wflow.update_sbm_swf(model)
- sbm_swf_model and update of forcing/cyclic (load_dynamic_input!(model)) and prepare_reader
- related to new version of test model Moselle
- local inertial model for land and river domain are now part of surface routing
- implemented for sbm_model as option to run local inertial model for both river and land domain
- warm state working correctly now for local inertial routing (overland and river flow)
- update of sbm Moselle test model and test results based on HydroMT updates (river bathymetry)
- small test for local inertial routing (overland and river flow)
- update of fields ShallowWaterLand
- for local inertial approach river and overland flow.
- move check for zero flow width
- remove double entry "lateral.land.volume .= ..."
Removes MacOS from the tests since it is unlikely to find any additional issues, and takes the most time in CI.
verseve and others added 4 commits January 21, 2022 13:39
for the calculation of the effective flow width as part of local inertial overland flow, a check on the maximum index was missing.
and preserve the floating point type
src/flow.jl Show resolved Hide resolved
Copy link
Member

@visr visr left a comment

Choose a reason for hiding this comment

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

Looks good to me! I added some commits, please check them before merging.

Possibly there are more performance gains still on the table, but we can always improve on that later. Would be nice to have some animations of local inertial 2D spreading along the land, maybe as embedded videos in the documentation? Not for this PR though.

@verseve
Copy link
Member Author

verseve commented Jan 21, 2022

Thanks for the review @visr! I agree, there are probably more performance gains, just came across this interesting paper (lisflood-fp):
https://www.sciencedirect.com/science/article/pii/S1364815217307478

@verseve verseve merged commit b706cb8 into master Jan 25, 2022
@verseve verseve deleted the shallow_water branch January 25, 2022 10:43
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

3 participants