From 31113104ef9877990504f94bb9f83c912838cbcf Mon Sep 17 00:00:00 2001
From: mmpe <mmpe@dtu.dk>
Date: Tue, 12 Oct 2021 16:39:49 +0200
Subject: [PATCH] Reduce memory consumption of All2AllIterative with NOJDeficit
 + add test of memory usage and memory leak

---
 py_wake/tests/test_sites/test_xrsite.py        | 2 +-
 py_wake/wind_farm_models/engineering_models.py | 4 ++--
 setup.py                                       | 1 +
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/py_wake/tests/test_sites/test_xrsite.py b/py_wake/tests/test_sites/test_xrsite.py
index 6461c8a07..a6825f7d9 100644
--- a/py_wake/tests/test_sites/test_xrsite.py
+++ b/py_wake/tests/test_sites/test_xrsite.py
@@ -204,7 +204,7 @@ def test_turning_mean(complex_grid_site, wfm):
     wt = V80()
     wfm = wfm(site, wt, NOJDeficit())
     sim_res = wfm([500, 500], [100, 400], wd=0, ws=10)
-    print(sim_res.Power)
+    # print(sim_res.Power)
     if 0:
         sim_res.flow_map(XYGrid(y=np.linspace(0, 500, 100))).plot_wake_map()
         plt.show()
diff --git a/py_wake/wind_farm_models/engineering_models.py b/py_wake/wind_farm_models/engineering_models.py
index b9531533b..ae2c095ba 100644
--- a/py_wake/wind_farm_models/engineering_models.py
+++ b/py_wake/wind_farm_models/engineering_models.py
@@ -649,8 +649,8 @@ class All2AllIterative(EngineeringWindFarmModel):
         ct_ilk = self.windTurbines.ct(lw.WS.ilk((I, L, K)), **kwargs)
         D_src_il = D_i[:, na]
         args = {'WS_ilk': lw.WS.ilk((I, L, K)),
-                'TI_ilk': lw.TI.ilk((I, L, K)),
-                'TI_eff_ilk': lw.TI.ilk((I, L, K)),
+                'TI_ilk': lw.TI.ilk(),
+                'TI_eff_ilk': lw.TI.ilk(),
                 'yaw_ilk': yaw_ilk,
                 'tilt_ilk': tilt_ilk,
                 'D_src_il': D_src_il,
diff --git a/setup.py b/setup.py
index 0dfe6e07f..6a26a3457 100644
--- a/setup.py
+++ b/setup.py
@@ -56,6 +56,7 @@ setup(name='py_wake',
           'test': [
               'pytest',  # for testing
               'pytest-cov',  # for calculating coverage
+              'psutil',  # memory profiling
               'sphinx',  # generating documentation
               'sphinx_rtd_theme',  # docs theme
               'line_profiler',  # to check speed
-- 
GitLab