-
Notifications
You must be signed in to change notification settings - Fork 0
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
Bouw RIBASIM model met default parameters #5
Comments
@visr, we missen t.o.v. aangeleverde RIBASIM LHM test-model de node-types LevelControl en LinearLevelConnection in de Julia-code en de documentatie (https://deltares.github.io/Ribasim/core/usage.html). Zijn die vervallen? Als zo, hoe kunnen we ervoor zorgen dat een peil gehandhaafd wordt in peilgestuurde gebieden? |
Hoi @d2hydro LinearlevelConnection is hernoemd tot LinearResistance. |
Een combinatie van een LinearResistance en LevelBoundary doet precies wat de oude LevelControl node deed. |
@visr in reactie op #5 (comment);
|
Nee, water wordt niet over de LevelBoundary getransporteert, het is echt een randvoorwaarde. Het kan wel om meerdere basins aan heet LevelBoundary te koppelen, die delen dezelfde randvoorwaarde. Ik zie inderdaad dat de LinearResistance mist, heb er een issue voor aangemaakt: Deltares/Ribasim#268 De formule is |
We hebben nu alle Node:type == Basin knopen aangemaakt met bijbehorende profielen (Basin / profile) . Profielen hebben we, waar mogelijk, gelezen uit:
We gaan ervan uit dat tussen elke Basin minimaal nog een ander type knoopje moet liggen dat de flow tussen de basins beschrijft. |
Mooi! Heb je voor de profielen ook gekeken naar de simplified NetCDF? De profielen van LSWs in de Mozart data leken niet altijd goed. De QH relaties staan ook in de simplified NetCDF.
Inderdaad, voor peilgestuurde gebieden is dat typisch een weerstand (LinearResistance of ManningResistance), en voor vrij afwaterend een TabulatedRatingCurve. Voor de profielen gaan we trouwens nog de storage eruit halen, omdat dat zoals je zegt kan worden berekend op basis van level en area. (Deltares/Ribasim#225) |
Heb je ook de methode/scripts waarmee deze gesimplificeerde tabellen zijn gemaakt? Probleem is dat wij andere LSWs hebben, waarschijnlijk LHM4.3 versus <LHM4.3 ofzo. Zo kunnen we ze zelf berekenen. Tabellen van DM-knopen zien er ook niet allemaal fris uit, dus daar moeten we ook nog even naar kijken. |
Andere topic; we zien dat tabellen worden gekoppeld aan de Node layer via de fid. Ik ben bang dat dat problemen op gaat leveren. Stel ik doe:
Dan kloppen volgens mij alle tabellen die aan Node hangen (dus alle tabellen :-) niet meer met de Node-indices; gdf.to_file doet namelijk een Ik ben fan van een expliciete |
Ken je de
Ik heb je een mail gestuurd met een download link / meer info. |
Hi @visr, we begrijpen iets niet óf er zit een foutje in het geleverde ribasim-model: Ik had hier 267 verwacht i.p.v. (Basin / profile): Immers, Node:fid == 267 is een Basin en 268 is een water-user: Klopt het dat "Basin / profile":node_id moet koppelen aan Node:fid? En als dat zo is, klopt het dat dit een foutje is, of zie ik toch iets over het hoofd? |
Dat klopt, dit lijkt inderdaad op een foutje. |
@visr, kun je helpen dit model draaiend te krijgen: https://we.tl/t-XFOxS2plwb? We hebben nu eerst even allen Flevoland gedaan, zodat we relatief snel kunnen kijken of de knoopjes goed liggen: |
Nice! Ik heb er even een ribasim_model.toml naastgezet met starttime = 2020-01-01 00:00:00
endtime = 2021-01-01 00:00:00
geopackage = "ribasim_model.gpkg" En dan met Ik krijg eerst een error: no such column: edge_type. Dat komt omdat er afgelopen week "control" edges zijn toegevoegd. Dus ik heb aan de Edge tabel een edge_type kolom met alle waardes "flow" toegevoegd. Als je ribasim-python update zou dat vanzelf moeten gaan. Daarna krijg ik een aantal network validation errors. Een deel daarvan is volgens mij onterecht, zie Deltares/Ribasim#327. De andere zijn wel een netwerk issue:
De level based knopen (ManningResistance en LevelBoundary hier) zijn bidirectional, en de FractionalFlow is alleen maar 1 kant op. Als je vanuit een Basin naar meerdere LevelBoundaries wilt connecten, dan kan je verschillende Resistances ertussen zetten. Of wellicht wil je wat anders hier. |
OK, leest logisch, maar voor de check:
|
This came up in a model from @d2hydro (d2hydro/lhm-ribasim#5 (comment)). FractionalFlow, FlowBoundary and TabulatedRatingCurve should be able to flow out into a LevelBoundary. This is slightly odd since in these cases the level of the level boundary does not matter, since the flow is always into the LevelBoundary as determined by the other side. So using a Terminal might make more sense there. Still, validation shouldn't block this since you may want a single boundary node that connects to multiple node types, some directed like this, some with resistance for which you need a level.
Klopt, want de TabulatedRatingCurve bepaalt dan de Q die de FractionalFlow kan verdelen. Je kan hier trouwens ook twee TabulatedRatingCurve, met eigen Qh relaties op de Basin zetten en zo het water verdelen.
Precies. |
@visr; hierbij een nieuwe GPKG voor Flevoland: https://we.tl/t-PqQkYyLXNv. Deze comments zijn verwerkt: #5 (comment) |
Thanks. Ik zie nog wat issues, bijvoorbeeld met de profielen: Docs: Er mist een Gebruik je (de main branch van) ribasim-python? Want die valideert de tabellen volgens de schemas. Er mist in de static tabellen bijvoorbeeld een control_state text kolom. Die mag verder leeg zijn. |
OK, jij wint :-): nu netjes gebouwd met de Ribasim python-module; kwam bovenstaande, en meer, issues inderdaad tegen: https://we.tl/t-YwDIrQp5P2 |
Ha mooi, dit komt de validatie inderdaad door. Alleen krijg ik een error omdat ManningResistance eigenlijk alleen tussen basins werkt, en niet tussen Basin en LevelBoundary. Je zou die (of alle) resistances kunnen vervangen door LinearResistance voor nu. |
Ik heb het nu gefixt door een boundary knoop 100m noordelijk te leggen van elke knoop die nergens meer naar afwatert: https://we.tl/t-OvfnwUvD3M |
|
|
Zie nieuw setje: https://we.tl/t-xbMDDaZxFu. Ik heb het nu zo opgelost: |
Dit zijn de LSWs: https://we.tl/t-uj0PCvphKI. Ik heb bovenstaande schematisatie gemaakt door het LHM netwerk te knippen op de total_bounds van DWRN == 30. Vandaar dat je, naast Flevoland, ook randjes Veluwe mee krijgt. Misschien wel handig een disclaimer op te nemen bij het plaatje in je presentatie; deze schematisatie is nog work-in-progress, dient nu vooral software-ontwikkeling en zal nog ver-van zinnige resultaten leveren :-) |
@visr; zelfde kwaliteit schematisatie, maar dan voor heel NL: https://we.tl/t-obZfNJn4KC |
Thanks! Hij draait nog niet, vanwege NULL areas in de Basin / profile tabel. En er zitten ook nog twee extreme levels in.
Ik zie in de Node tabel trouwens een |
Kolom Ik heb de NaNs uit area gehaald, maar krijg nu instabiliteit; hoe kan ik dat verder onderzoeken? Model staat hier: https://github.com/d2hydro/lhm-ribasim/tree/main/models/ribasim_model_nederland |
Tot nu toe zagen we dit iedere keer door invalide Qh relaties, zie de regels in dit issue: Deltares/Ribasim#279 Ik heb nog niet gekeken of deze tabel aan alle regels voldoet. Maar eerder kregen we hetzelfde issue als een h bijvoorbeeld twee keer voorkomt in de relatie. |
N.a.v. deze issue: #5 (comment) Gevonden:
Hierna, geen model-crashes, wél een lange (infinite?) rekentijd: |
Met de nieuwe progress bar zag ik een ETA van 17 uur... Heb dit issue aangemaakt om ernaar te kijken: Deltares/Ribasim#419 |
The text was updated successfully, but these errors were encountered: