oemof-thermal
oemof-thermal copied to clipboard
added get_cop to heat_pump.py
Initial discussion started here
Since the function is not in the HeatBuilding
class in demandlib.bdew anymore I changed the parameter self
to heatbuilding
.
Thanks for your effort! And sorry to see that this is quite a late reply. If this PR is still active, please do the following:
- Change base to dev.
- Place the module heat_pump.py in the new directory structure: src/oemof/thermal/heat_pump.py
Thank you for your feedback! I hope it works for you now.
Thank you for your approach.
I do not know if it is a good idea to create a dependency on the demandlib. This will make it more difficult to use it for other purposes.
def get_cop(building_temperature, heatpump_type="Air", water_temp=60):
...
return cop
If you want to use it together with the demandlib you can just use the following code:
heatbuilding.cop = get_cop(heatbuilding.temperature)
For everybody else it would be much easier because users will not have to install the demandlib and instantiate a heat_building they do not want use just to pass a temperature time series.
@Pyosch We are planning to use the MIT licence in the future. Would you agree that your contribution will be under this licence? We need your agreement for the demandlib as well but you can just write a comment here for both contributions. Thanks in advance.
@uvchik yes I don't mind. See you in Berlin ;)
@jakob-wo, you have been looking into the heat pump topic recently. I guess your feedback would be really helpful here!
Hi @Pyosch,
thanks for enriching the COP calculation with field test data - I like that approach.
As mentioned already above I am also about to come up with a COP calculation for compression heat pumps. I am planning to call the module src/compression_heatpumps_and_chillers.py
(features/cmpr_heatpumps_and_chillers).
Furthermore, there is going to be a module on absorptions heat pumps somewhen in the near future.
It would be good to name your module clearly and distinguish between compression and absorption. I also think it might be helpful to make clear, that the module contains hard coded parameters/coefficients by including somethink like "field_test_regression" in the name.
One more remark: The paper gives a temperature range the equations (Eq. 4) can be applied in. Wouldn't it be nice to check whether the input data fullfills that condition and raise a UserWarning if someone exceeds the limit?
@uvchik, @jnnr and @jakob-wo thank you for your feedback! I'll look into it again. @jakob-wo your approach sounds very interesting too. I am looking forward to try it out.
Seems like travis does not run the tests properly. Might be because this PR comes from a fork. Anybody got an idea how to fix this?
I added the warning messages and an example. The import of heat_pump inside the example is not correct I guess, but I couldn't quite figure out how the import is supposed to be structured. I looked at the other examples but it didn't help.
Any advice is appreciated :)