59 Visualizing DoubletCalc Results#

This notebook illustrates how to create the output plots provided by DoubletCalc with matplotlib.

Importing Libraries#

[1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

Reading DoubletCalc Results CSV File#

[2]:
data = pd.read_csv('data/export_output.csv',
                   skiprows = 2,
                   delimiter = ',',
                   encoding = "ISO-8859-1",
                   skipfooter = 1)
data
C:\Users\ale93371\AppData\Local\Temp\ipykernel_15364\1359617900.py:1: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support skipfooter; you can avoid this warning by specifying engine='python'.
  data = pd.read_csv('data/export_output.csv',
[2]:
iS aquifer permeability (mD) aquifer gross thickness (m) aquifer net to gross (-) aquifer top at injector (m TVD) aquifer top at producer (m TVD) aquifer water salinity (ppm) aquifer kH net (Dm) mass flow (kg/s) delta T (°C) heat capacity (kJ/(kg*K)) av. production density (kg/m³) required pump power (kW) pump volume flow (m³/h) geothermal power (MW) COP (kW/kW)
0 1 254.29453 98.67665 0.809259 2458.3457 2457.9678 0.119523 20.306683 40.136295 49.975120 3664.4312 1057.3365 248.91680 136.65536 7.350175 29.528645
1 2 232.21005 101.61317 0.787313 2643.6982 2521.1965 0.123078 18.577118 37.513557 51.644176 3651.1710 1058.8849 232.31094 127.53875 7.073621 30.448938
2 3 347.02588 110.62248 0.783280 2322.7173 2336.0005 0.102066 30.069246 51.665833 47.223145 3733.5127 1046.2684 323.81015 177.77185 9.109110 28.131021
3 4 416.37143 110.71101 0.793836 2409.1120 2465.4832 0.126697 36.593388 57.302696 51.169163 3636.7332 1062.0903 353.78850 194.22997 10.663378 30.140543
4 5 385.43112 106.67485 0.803228 2553.3394 2534.5093 0.123331 33.025370 54.664562 53.064050 3650.8708 1058.3341 338.69850 185.94554 10.590165 31.267237
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
995 996 208.79338 107.78278 0.796793 2371.8330 2634.3254 0.116407 17.931303 38.144660 55.109097 3679.4836 1051.8035 237.80956 130.55750 7.734708 32.524796
996 997 335.04092 107.57787 0.803419 2431.6885 2622.8328 0.123286 28.957619 51.833920 55.581284 3652.3357 1056.8402 321.61395 176.56612 10.522364 32.717373
997 998 230.71222 100.96610 0.813266 2666.8223 2487.1226 0.108363 18.944315 38.278194 50.756508 3709.6392 1048.6069 239.36952 131.41393 7.207337 30.109667
998 999 246.51558 102.81991 0.757966 2573.6740 2542.2840 0.130512 19.211943 38.543340 52.329730 3622.4026 1063.8132 237.58229 130.43272 7.306250 30.752502
999 1000 294.76205 105.02041 0.792474 2348.7234 2447.9807 0.122900 24.531853 45.703700 50.095210 3651.1333 1059.6786 282.81820 155.26726 8.359403 29.557512

1000 rows × 16 columns

Plotting the DoubletCalc Results#

[3]:
fig, axes = plt.subplots(1,3, figsize=(15,5))

axes[0].plot(data[' pump volume flow (m³/h)'].sort_values(ascending=False).values, np.linspace(0.1,100,len(data)))
axes[1].plot(data[' COP (kW/kW)'].sort_values(ascending=False).values, np.linspace(0.1,100,len(data)))
axes[2].plot(data[' geothermal power (MW)'].sort_values(ascending=False).values, np.linspace(0.1,100,len(data)))

axes[0].grid()
axes[1].grid()
axes[2].grid()

#set label text
axes[0].set_ylabel("Probability [%]")
axes[0].set_xlabel("pump volume flow (m³/h)")

axes[1].set_ylabel("Probability [%]")
axes[1].set_xlabel("COP (kW/kW)")

axes[2].set_ylabel("Probability [%]")
axes[2].set_xlabel("geothermal power (MW)")

plt.tight_layout()
../../_images/getting_started_tutorial_59_Visualizing_DoubletCalc_Results_5_0.png