GHEpy (Greenhouse energy-python) is a python tool for evaluation of heating demand in greenhouses when data are not provided elsewhere.
GHEpy is a Python-based model implemented for greenhouses according to the energy balance equations. This calculation is intended as a guide for estimation purposes.
To estimate the heating demand of a greenhouse GHEpy needs parameters like location, dimantions, and inside minimum temperature. The required dimentions for the model are shown below:
The energy balance of a greenhouse can be calculated by:
Where:
-
$Q ̇_g (t)$ is the required heating energy to maintain greenhouse conditions. -
$Q̇_{con}(t)$ is energy transfer by conduction and convection mechanisms. -
$Q̇_l(t)$ is the energy exchange due to long-wave and short-wave radiations. -
$Q̇_{trans}(t)$ is the energy flow rate caused by crop transpiration. -
$Q̇_{vent}(t)$ is the heat flow rate due to mass transfer for ventilation -
$Q̇_s(t)$ is the solar irradiation energy transfer.
GHEpy requires numpy
, plotly
, CoolProp
, folium
, vincent
. The code is tested for Python 3, while compatibility of Python 2 is not guaranteed anymore. It can be installed using pip
or directly from the source code.
To install the package just type:
> !pip install ghepy
To uninstall the package:
> !pip uninstall ghepy
GHEpy has three main functions that can help you with calculating heating demand of a greenhouse to use any of them you need to have climate data. To acquire data, you just need to take a token from renewable ninja platform.
-
First function is
energymodel
which gives you energy demand of the greenhouse in 8760 hours of a year. To use this function just type:> from GHEpy import model token = "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" # Token code that you should get from renewable ninja database lat = 52.225121 # latitude lon = 36.681990 # longitude T_i = 18 # minimum inside temperature h = 3 # dimension L = 100 # dimension d = 100 # dimension heating_demand = model.greenhouse.energymodel(token, lat, lon, T_i, h, L, d, G= 2, U = 4)
-
The second funciton is
visualization
which gives you a figure of temperatures and energy demands during a year. An example of the result of this function can be seen here:> from GHEpy import model token = "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" # Token code that you should get from renewable ninja database lat = 52.225121 # latitude lon = 36.681990 # longitude T_i = 18 # minimum inside temperature h = 3 # dimension L = 100 # dimension d = 100 # dimension fig = model.greenhouse.visualization(token, lat, lon, T_i, h, L, d, G= 2, U = 4) fig.show()
The result would be something like this:
-
The last function is
CDFmap
which shows the location of greenhouse and cumulative distribution of greenhouse heating demand. This can help you realize how long your greenhouse needs heating or cooing during a year.> from GHEpy import model token = "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" # Token code that you should get from renewable ninja database lat = 52.225121 # latitude lon = 36.681990 # longitude T_i = 18 # minimum inside temperature h = 3 # dimension L = 100 # dimension d = 100 # dimension map = model.greenhouse.CDFmap(token, lat, lon, T_i, h, L, d, G= 2, U = 4) map
The result would be something like this:
GHEpy is developed and mantained by
under the supervision of Prof. Ramin Roshandel.
Contact us by email for further information or questions about GHEpy, or suggest pull requests. Contributions improving either the code or the documentation are welcome! You can find out more about my projects by visiting my website.
If you find this package helpful in your work, please consider citing our research paper: Ahmadpour, M., Roshandel, R. & Shafii, M.B. The effect of organic Rankine cycle system design on energy-based agro-industrial symbiosis. Energy Efficiency 17, 39 (2024). https://doi.org/10.1007/s12053-024-10221-0
See the LICENSE file for license rights and limitations (MIT).