nens / threedigrid

grid administration for 3Di models
Other
9 stars 0 forks source link

Assymmetric YZ profiles are not always correctly converted to Tabulated trapezium #228

Closed leendertvanwolfswinkel closed 4 months ago

leendertvanwolfswinkel commented 4 months ago

@Overmeen ran a simulation on staging with a model that contains several assymetric YZ profiles, but it crashes (https://api.staging.3di.live/v3/simulations/31737/status/). It did not crash on production.

@daanvaningen can you have a look please

Overmeen commented 4 months ago

I ran the testbank test 702 with water level 22 above reference lvl. I get different results than the analytical solution. Upstream I would expect a water level of 25 m to be maintained and in the channel a eq. velocity of 0.125 m/s.

image image image

daanvaningen commented 4 months ago
INFO:client.models.forcings:Initial state initial waterlevel 2d_open_water: [nan nan nan ... nan nan nan] m MSL has been set
** INFO   : Total initial water volume in model domain= 0.184E+10
** INFO   : Total initial water volume in 2D surface domain= 0.232E+09
** INFO   : Total initial water volume in 1D network= 0.161E+10
** INFO   : Created file: /mnt/shared/results_3di.nc
** INFO   : Opened file: /tmp/simulation_aggr.ini
** INFO   : Created file: /mnt/shared/aggregate_results_3di.nc
** WARNING: Physical process not present in model for aggregation: interception
** WARNING: Physical process not present in model for aggregation: leakage
** WARNING: Physical process not present in model for aggregation: pump_discharge
INFO:threedigrid.admin.gridresultadmin:New chunk for timeseries size has been set to 10
INFO:calccore.bulk_event.main:Processing bulkforcing: event_uid=17a2edba-6e8d-48ed-b494-05d15c0c67d9, bulk_event_type=boundaries, offset=0.0, duration=3600.0, event_offset=0
INFO:httpx:HTTP Request: GET http://minio:9000/3di/113115/boundaries_11012a47.json?AWSAccessKeyId=3di&Signature=1sQi%2BdlVoFfoMoyyD393sTDhPes%3D&Expires=1716539613 "HTTP/1.1 200 OK"
** INFO   : boundaries forcing 17a2edba-6e8d-48ed-b494-05d15c0c67d9_0.0_3600.0 added with expiry time   0.3600E+04
** ERROR  : Simulation produced Nan values. Exiting...
WARNING:calccore.executor:Unable to find file structure_control_actions_3di.nc in folder /mnt/shared
WARNING:calccore.executor:Unable to find file water_quality_results_3di.nc in folder /mnt/shared
INFO:calccore.executor:Uploading log files simulation: 31762
WARNING:calccore.executor:Unable to find file water_quality_substance_summary.json in folder /mnt/shared
WARNING:calccore.executor:Unable to find file flow_summary.json in folder /mnt/shared
WARNING:calccore.executor:Unable to find file flow_summary.log in folder /mnt/shared
WARNING:calccore.executor:Unable to find file core3dilog_data.msgpack in folder /mnt/shared
INFO:calccore.executor:Uploading result file results_3di.nc simulation: 31762
INFO:calccore.executor:Uploading aggregation file aggregate_results_3di.nc simulation: 31762
INFO:calccore.executor:Finished uploading results_3di.nc
INFO:calccore.executor:Finished uploading log_files_sim_31762.zip
INFO:calccore.executor:Finished uploading aggregate_results_3di.nc
INFO:calccore.stream:Stream reader received stop signal
ERROR:asyncio-rpc-server:Connection closed by server.

Moet ik even verder in duiken. Lokaal heb ik deze problemen niet.

daanvaningen commented 4 months ago

I reconstructed what you did from the yz_conveyance excel sheet in the testmodels repo. I believe you ran it with a waterlevel of 22m, and not 25m which is 22 meter above the reference level. I am not sure which discharge you put at the boundary but I assume it is 86.7. Regardless, after some digging I found a small difference between the excel script and the calculation core:

In the calculation core we take this part into consideration when calculating the wet perimeter. The vertical wall gets the friction value of the previous / next segment depending on whether it is at the start or end of the profile (no vegetation friction). So the calculation core assumes more friction, therefore the equilibrium state will be different. As I am not 100% sure what kind of parameters you put in, and how to change your excel sheet and formulations in such a way that the vertical was accounted for, can you maybe update the excel sheet and run again? :)

yz-profile-edit.jpg
Overmeen commented 4 months ago

I improved the Excel sheet with help of @GolnesaK and now my answer equals the answer of 3Di (after correct implementation of the invisible friction wall). I think it LGTM