DTUWindEnergy / PyWake

Mirror of https://gitlab.windenergy.dtu.dk/TOPFARM/PyWake
MIT License
76 stars 26 forks source link

TurbOPark consistency between PropagateDownwind and All2AllIterative #14

Open o2bentley opened 1 week ago

o2bentley commented 1 week ago

Hi,

I have a set-up of pywake using TurboPark set-up the same way as in turbopark.py and I understand the importance of the wake_deficitModel.WS_key = 'WS_jlk' line. I am now updating my implementation to use All2AllIterative as I am in the process of adding a blockage model. Prior to adding the blockage model I am checking that my implementation of TurbOPark gives the same results with PropateDownwind as All2AllIterative.

If I include the wake_deficitModel.WS_key = 'WS_jlk' line the code throws the error: _calc_deficit() missing 1 required positional argument: 'WS_ref_ijlk'

However if I omit the wake_deficitModel.WS_key = 'WS_jlk' line the results are different to the PropateDownwind approach. Please could you assist me with the correct set-up to maintain consistency of results for the two set-ups.

Kind regards, Olivia

madsmpedersen commented 1 week ago

Please use the issue tracker on https://gitlab.windenergy.dtu.dk/TOPFARM/PyWake/-/issues. You can write me an email if you are waiting for approval.

There is a very easy fix for this problem, but I am hesitating about merging it, because the WS_jlk is imho at least questionable. And I am therefore worried about making it even more available to users, but a proper error message would of course be beneficial.

I think you should carefully reconsider your study as the TurboPark model is calibrated to a database of Ørsted wind farm measurements. These measurements obviously includes blockage, so adding a blockage model will require a recalibration of the TurboPark parameters.