In [1]:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

import hkvsobekpy as sobekpy

Functies in de package:

  • io
  • plausibility
  • read_bui
  • read_his
  • waterlevelstat
  • write_bui
In [10]:
bui_file = r"D:\Sobek213\Fixed\MB_BERKE.BUI"
his_file = r"d:\Sobek213\BOS_RR.lit\5\UPFLOWDT.HIS"
In [3]:
his_object = sobekpy.read_his.ReadMetadata(his_file)
In [4]:
df_his = his_object.DataFrame()
In [5]:
loc = his_object.GetLocations()
par = his_object.GetParameters()
tsp = his_object.GetTimestamps()
print("locations: \n", loc)
print("\nparameters: \n",par)
print("\ntimestamps: \n",tsp[0:3])
locations: 
 ['Rekken', 'Haagbeek_boven', 'Kip', 'Jonkersbrug', 'Meibeek', 'Haagbeek', 'Berkel_midden', 'Koedijk', 'BerkelBeneden', 'Vierakkerselaak']

parameters: 
 ['Surf. Runoff  [m3/s]', 'Groundw.outfl.[m3/s]', 'Rainfall     [m3/s] ', 'Evap. surface[m3/s] ', 'Infiltration [m3/s] ', 'Net Seepage  [m3/s] ', 'Actual Evap. [m3/s] ', 'Pot. Evapor. [m3/s] ', 'Percolation  [m3/s] ', 'Capill.Rise  [m3/s] ', 'Groundw.Level   [m] ', 'Inundation perc.[%] ', 'Storage Land   [mm] ', 'Groundw.Volume [m3] ', 'Storage Land   [m3] ', 'GW>Threshold [hour] ', 'GWLevel-Surface[m]  ', 'IrrigationSup[m3/s] ', 'Irrigat.GWdem[m3/s] ', 'Storage coefficient ', 'Unsat.Zone    [mm]  ', 'Vol.Unsat.Zone[m3]  ']

timestamps: 
 [datetime.datetime(2000, 1, 1, 0, 0), datetime.datetime(2000, 1, 1, 1, 0), datetime.datetime(2000, 1, 1, 2, 0)]
In [6]:
# blijkbaar maar 1 tijdstap
df_his.head()
Out[6]:
Actual Evap. [m3/s] ... Vol.Unsat.Zone[m3]
BerkelBeneden Berkel_midden Haagbeek Haagbeek_boven Jonkersbrug Kip Koedijk Meibeek Rekken Vierakkerselaak ... BerkelBeneden Berkel_midden Haagbeek Haagbeek_boven Jonkersbrug Kip Koedijk Meibeek Rekken Vierakkerselaak
2000-01-01 00:00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 2544906.75 5977917.0 2325316.50 4190491.25 3603117.25 2460600.25 1625236.250 3181382.00 3224182.25 1382156.625
2000-01-01 01:00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 2544907.00 5977917.0 2325316.50 4190492.00 3603117.50 2460600.25 1625236.250 3181381.75 3224182.25 1382156.625
2000-01-01 02:00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 2544906.25 5977849.0 2325318.25 4190493.00 3603123.75 2460604.00 1625216.125 3181321.50 3224176.75 1382139.875
2000-01-01 03:00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 2544905.50 5977807.5 2325320.25 4190494.00 3603132.00 2460609.00 1625203.125 3181294.00 3224173.25 1382128.750
2000-01-01 04:00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 2544904.75 5977774.0 2325320.25 4190495.50 3603142.00 2460615.00 1625191.500 3181264.00 3224169.25 1382119.375

5 rows × 220 columns

In [13]:
bui = sobekpy.read_bui(bui_file)
bui_dag = bui.resample('D').sum()
bui_dag.head()
Out[13]:
Haagbeek_boven Kip Jonkersbrug Rekken Berkel_midden BerkelBeneden Haagbeek Koedijk Meibeek Vierakkerselaak VredenKA Coesfeld
2000-01-01 1.38 1.22 1.14 1.18 1.13 0.72 1.23 0.80 1.28 0.70 1.5 1.5
2000-01-02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.0
2000-01-03 1.49 1.52 1.70 1.92 1.61 0.79 1.59 0.85 1.61 0.98 1.0 1.0
2000-01-04 14.78 15.41 15.20 12.70 13.23 14.08 13.94 15.03 14.46 14.81 14.8 14.8
2000-01-05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.0
In [32]:
fig, ax1 = plt.subplots(figsize=(30, 10))
ax1.plot(df_his['Groundw.outfl.[m3/s]']['Jonkersbrug'], label="Jonkersbrug")
ax1.plot(df_his['Groundw.outfl.[m3/s]']['Kip'], label="De Kip")
ax1.set_ylim(0,20)
ax1.set_ylabel('afvoer m3/s', fontsize=20)

ax2 = ax1.twinx() 
ax2.set_ylabel('neerslag mm/dag', fontsize=20)
ax2.set_ylim(120, 0)
ax2.bar(bui_dag.index, bui_dag['Jonkersbrug'], label = 'neerslag', color='black')
ax1.legend(fontsize = 20)
ax2.legend(fontsize=20, loc=0)

ax1.tick_params(axis='both', labelsize=20)
ax2.tick_params(axis='both', labelsize=20)
fig.tight_layout()
plt.show()
In [ ]: