Open a network result file.
import mikeio1d
res = mikeio1d.open("../tests/testdata/network.res1d")
res
<mikeio1d.Res1D>
res.info()
Start time: 1994-08-07 16:35:00 End time: 1994-08-07 18:35:00 # Timesteps: 110 # Catchments: 0 # Nodes: 119 # Reaches: 118 # Globals: 0 0 - Water level (m) 1 - Discharge (m^3/s)
res.quantities
['WaterLevel', 'Discharge']
res.derived_quantities
['ReachWaterLevelAboveCritical', 'ReachFlooding', 'ReachWaterDepth', 'NodeWaterDepth', 'NodeFlooding', 'ReachFilling', 'ReachAbsoluteDischarge', 'ReachQQManning', 'NodeWaterLevelAboveCritical']
Read all available results
df = res.read()
df.head()
WaterLevel:1 | WaterLevel:2 | WaterLevel:3 | WaterLevel:4 | WaterLevel:5 | WaterLevel:6 | WaterLevel:7 | WaterLevel:8 | WaterLevel:9 | WaterLevel:10 | ... | Discharge:99l1:22.2508 | WaterLevel:9l1:0 | WaterLevel:9l1:10 | Discharge:9l1:5 | WaterLevel:Weir:119w1:0 | WaterLevel:Weir:119w1:1 | Discharge:Weir:119w1:0.5 | WaterLevel:Pump:115p1:0 | WaterLevel:Pump:115p1:82.4281 | Discharge:Pump:115p1:41.214 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1994-08-07 16:35:00.000 | 195.052994 | 195.821503 | 195.8815 | 193.604996 | 193.615005 | 193.625000 | 193.675003 | 193.764999 | 193.774994 | 193.804993 | ... | 0.000002 | 193.774994 | 193.764999 | 0.000031 | 193.550003 | 188.479996 | 0.0 | 193.304993 | 195.005005 | 0.0 |
1994-08-07 16:36:01.870 | 195.052994 | 195.821701 | 195.8815 | 193.604996 | 193.615005 | 193.625320 | 193.675110 | 193.765060 | 193.775116 | 193.804993 | ... | 0.000002 | 193.775070 | 193.765060 | 0.000031 | 193.550003 | 188.479996 | 0.0 | 193.306061 | 195.005005 | 0.0 |
1994-08-07 16:37:07.560 | 195.052994 | 195.821640 | 195.8815 | 193.604996 | 193.615005 | 193.625671 | 193.675369 | 193.765106 | 193.775513 | 193.804993 | ... | 0.000002 | 193.775391 | 193.765106 | 0.000033 | 193.550034 | 188.479996 | 0.0 | 193.307144 | 195.005005 | 0.0 |
1994-08-07 16:38:55.828 | 195.052994 | 195.821503 | 195.8815 | 193.604996 | 193.615005 | 193.626236 | 193.675751 | 193.765228 | 193.776077 | 193.804993 | ... | 0.000002 | 193.775894 | 193.765228 | 0.000037 | 193.550079 | 188.479996 | 0.0 | 193.308884 | 195.005005 | 0.0 |
1994-08-07 16:39:55.828 | 195.052994 | 195.821503 | 195.8815 | 193.604996 | 193.615005 | 193.626556 | 193.675949 | 193.765335 | 193.776352 | 193.804993 | ... | 0.000002 | 193.776154 | 193.765335 | 0.000039 | 193.550095 | 188.479996 | 0.0 | 193.309860 | 195.005005 | 0.0 |
5 rows × 495 columns
Read subsets of available results
df = res.reaches.read()
df.head()
WaterLevel:100l1:0 | WaterLevel:100l1:47.6827 | WaterLevel:101l1:0 | WaterLevel:101l1:66.4361 | WaterLevel:102l1:0 | WaterLevel:102l1:10.9366 | WaterLevel:103l1:0 | WaterLevel:103l1:26.0653 | WaterLevel:104l1:0 | WaterLevel:104l1:34.4131 | ... | Discharge:93l1:24.5832 | Discharge:94l1:21.2852 | Discharge:95l1:21.9487 | Discharge:96l1:14.9257 | Discharge:97l1:5.71207 | Discharge:98l1:8.00489 | Discharge:99l1:22.2508 | Discharge:9l1:5 | Discharge:Weir:119w1:0.5 | Discharge:Pump:115p1:41.214 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1994-08-07 16:35:00.000 | 195.441498 | 194.661499 | 195.931503 | 195.441498 | 193.550003 | 193.550003 | 195.801498 | 195.701508 | 197.072006 | 196.962006 | ... | 0.000004 | 0.000003 | 0.000001 | 0.000005 | 0.000013 | 0.000003 | 0.000002 | 0.000031 | 0.0 | 0.0 |
1994-08-07 16:36:01.870 | 195.441498 | 194.661621 | 195.931503 | 195.441605 | 193.550140 | 193.550064 | 195.801498 | 195.703171 | 197.072006 | 196.962051 | ... | 0.000004 | 0.000003 | 0.000001 | 0.000005 | 0.000010 | 0.000003 | 0.000002 | 0.000031 | 0.0 | 0.0 |
1994-08-07 16:37:07.560 | 195.441498 | 194.661728 | 195.931503 | 195.441620 | 193.550232 | 193.550156 | 195.801498 | 195.703400 | 197.072006 | 196.962082 | ... | 0.000004 | 0.000003 | 0.000001 | 0.000005 | 0.000010 | 0.000003 | 0.000002 | 0.000033 | 0.0 | 0.0 |
1994-08-07 16:38:55.828 | 195.441498 | 194.661804 | 195.931503 | 195.441605 | 193.550369 | 193.550308 | 195.801498 | 195.703690 | 197.072006 | 196.962112 | ... | 0.000004 | 0.000003 | 0.000001 | 0.000005 | 0.000009 | 0.000003 | 0.000002 | 0.000037 | 0.0 | 0.0 |
1994-08-07 16:39:55.828 | 195.441498 | 194.661972 | 195.931503 | 195.441605 | 193.550430 | 193.550369 | 195.801498 | 195.703827 | 197.072006 | 196.962128 | ... | 0.000004 | 0.000003 | 0.000001 | 0.000005 | 0.000009 | 0.000003 | 0.000002 | 0.000039 | 0.0 | 0.0 |
5 rows × 376 columns
df = res.reaches["100l1"].read()
df.head()
WaterLevel:100l1:0 | WaterLevel:100l1:47.6827 | Discharge:100l1:23.8414 | |
---|---|---|---|
1994-08-07 16:35:00.000 | 195.441498 | 194.661499 | 0.000006 |
1994-08-07 16:36:01.870 | 195.441498 | 194.661621 | 0.000006 |
1994-08-07 16:37:07.560 | 195.441498 | 194.661728 | 0.000006 |
1994-08-07 16:38:55.828 | 195.441498 | 194.661804 | 0.000006 |
1994-08-07 16:39:55.828 | 195.441498 | 194.661972 | 0.000006 |
df = res.reaches["100l1"].WaterLevel.read()
df.head()
WaterLevel:100l1:0 | WaterLevel:100l1:47.6827 | |
---|---|---|
1994-08-07 16:35:00.000 | 195.441498 | 194.661499 |
1994-08-07 16:36:01.870 | 195.441498 | 194.661621 |
1994-08-07 16:37:07.560 | 195.441498 | 194.661728 |
1994-08-07 16:38:55.828 | 195.441498 | 194.661804 |
1994-08-07 16:39:55.828 | 195.441498 | 194.661972 |
# Index by gridpoint number
df = res.reaches["100l1"][0].read()
df.head()
WaterLevel:100l1:0 | |
---|---|
1994-08-07 16:35:00.000 | 195.441498 |
1994-08-07 16:36:01.870 | 195.441498 |
1994-08-07 16:37:07.560 | 195.441498 |
1994-08-07 16:38:55.828 | 195.441498 |
1994-08-07 16:39:55.828 | 195.441498 |
# Or index by gridpoint chainage
df = res.reaches["100l1"]["23.841"].read()
df.head()
Discharge:100l1:23.8414 | |
---|---|
1994-08-07 16:35:00.000 | 0.000006 |
1994-08-07 16:36:01.870 | 0.000006 |
1994-08-07 16:37:07.560 | 0.000006 |
1994-08-07 16:38:55.828 | 0.000006 |
1994-08-07 16:39:55.828 | 0.000006 |
Make plots by replacing read() with plot()
ax = res.nodes["101"].WaterLevel.plot()
Dynamically select quantities with add() followed by read()
res.nodes["101"].WaterLevel.add()
res.nodes["102"].WaterLevel.add()
df = res.read()
df.head()
WaterLevel:101 | WaterLevel:102 | |
---|---|---|
1994-08-07 16:35:00.000 | 195.931503 | 193.550003 |
1994-08-07 16:36:01.870 | 195.931595 | 193.550140 |
1994-08-07 16:37:07.560 | 195.931625 | 193.550232 |
1994-08-07 16:38:55.828 | 195.931656 | 193.550369 |
1994-08-07 16:39:55.828 | 195.931656 | 193.550430 |