alimaye / sun-fan-delta-model

GNU General Public License v3.0
0 stars 0 forks source link

Simulation demo with slope break and water set at the slope break #48

Closed amoodie closed 2 years ago

amoodie commented 3 years ago

Did an experiment to see if things are mostly on track for the slope break simulations, here still with a water-filled basin. oceanLevel is set to the elevation of the slope break, and is represented by the black contour.

Screenshot from 2021-09-10 14-21-24

Two issues that we will need to consider how to address.

Disequilibrium at the inlet

The background elevation slope is very high, such that equil sediment transport at the inlet is much greater than sediment supply. This leads to erosion of the inlet cell and the channel profile to the coast to incise until the channel reaches a transport equilibrium. There are many ways we can address this, but it is worth starting to think about. (note grid.DEMoptions.slopeBreak.carveChannel = false for this run)

what boundary condition changes will make the most sense to simulate the mars cases? Set sediment supply to equilibrium with transport capacity? Force-prevent erosion at inlet? Change the bed slope to match transport? Other? Not worry about it?

I guess the uncertainty on the models for Mars is probably in the water and sediment inputs, rather than the topography/slope, so might make sense to tune the water and sediment inputs to match the slope.

Avulsions at the outlet

The avulsion criteria is repeatedly met by the most downstream cell of any channel pathway. This leads to a succession of avulsions at this downstream cell, which each take one step into a new ocean cell, and then the cycle repeats. See, for example, the red channel pathway that runs through the "ocean" down to the model boundary.

Truthfully, I'm not sure if this is a major technical issue, because sediment does not go down the pathway beyond the first few ocean cells (which seems reasonable). It just seems kind of confusing and conceptually wrong to have a "channel" running through the ocean. Possible fix here might be to add more restrictions to which cells can avulsion (e.g., no avulsion if surrounded by oceanFlag).

amoodie commented 3 years ago

To elaborate a bit on the second point:

I do think this is something we may want to actually find a fix for. The issue does not appear in the flat domain case, because the outlet cells have very small to-neighbor bed slopes (the slopes are just due to the very small added noise). In the case of a sloping domain though, the outlet cell is almost always surrounded by cells that have a considerable bed slope (the three downstream neighbor cells), so the avulsion criteria is repeatedly met. The avulsion criteria is based on bed slope (NOT water slope), so it doesn't care whether it is in an ocean cell or not (the ocean bottom is sloped).

We need to figure out a way to prevent this that works for the case when there are no ocean cells too, though (no water-filled receiving basin). The flow-depth criteria to stop avulsion routing that I implemented does work (it stops routing an avulsion), but it doesn't fix this issue because avulsions jsut occur in rapid fire at the outlets on each timestep...

amoodie commented 3 years ago

FWIW, unsurprisingly, this same second issue with routing across the domain by successive avulsions at the outlet occurs when no water is present in the basin.

Screenshot from 2021-09-10 15-39-11

Still, a decent promising result!