oemof-thermal icon indicating copy to clipboard operation
oemof-thermal copied to clipboard

added get_cop to heat_pump.py

Open Pyosch opened this issue 6 years ago • 11 comments

Initial discussion started here Since the function is not in the HeatBuilding class in demandlib.bdew anymore I changed the parameter self to heatbuilding.

Pyosch avatar Nov 20 '18 13:11 Pyosch

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

jnnr avatar Jul 25 '19 13:07 jnnr

Thank you for your feedback! I hope it works for you now.

Pyosch avatar Sep 16 '19 12:09 Pyosch

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.

uvchik avatar Oct 01 '19 12:10 uvchik

@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 avatar Oct 02 '19 11:10 uvchik

@uvchik yes I don't mind. See you in Berlin ;)

Pyosch avatar Oct 02 '19 12:10 Pyosch

@jakob-wo, you have been looking into the heat pump topic recently. I guess your feedback would be really helpful here!

jnnr avatar Oct 05 '19 09:10 jnnr

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.

jakob-wo avatar Oct 07 '19 12:10 jakob-wo

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?

jakob-wo avatar Oct 07 '19 12:10 jakob-wo

@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.

Pyosch avatar Oct 08 '19 08:10 Pyosch

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?

jnnr avatar Nov 06 '19 16:11 jnnr

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 :)

Pyosch avatar Dec 06 '19 12:12 Pyosch