From 9add3599edf6dff0c37e3c49be9a549e8003762d Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Mon, 15 Mar 2021 18:22:45 -0600 Subject: [PATCH 1/4] fix kwargs in ModelChain._set_celltemp, add to test --- pvlib/modelchain.py | 4 ++-- pvlib/tests/test_modelchain.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pvlib/modelchain.py b/pvlib/modelchain.py index 1547df18e6..d5971f8bd0 100644 --- a/pvlib/modelchain.py +++ b/pvlib/modelchain.py @@ -998,11 +998,11 @@ def _set_celltemp(self, model): self.results.effective_irradiance) temp_air = _tuple_from_dfs(self.weather, 'temp_air') wind_speed = _tuple_from_dfs(self.weather, 'wind_speed') - arg_list = [poa, temp_air, wind_speed] kwargs = {} if model == self.system.noct_sam_celltemp: kwargs['effective_irradiance'] = self.results.effective_irradiance - self.results.cell_temperature = model(*tuple(arg_list)) + self.results.cell_temperature = model(poa, temp_air, wind_speed, + **kwargs) return self def sapm_temp(self): diff --git a/pvlib/tests/test_modelchain.py b/pvlib/tests/test_modelchain.py index 28e7889414..372d7aea02 100644 --- a/pvlib/tests/test_modelchain.py +++ b/pvlib/tests/test_modelchain.py @@ -719,6 +719,9 @@ def test_run_model_with_weather_noct_sam_temp(sapm_dc_snl_ac_system, location, assert m_noct_sam.call_count == 1 assert_series_equal(m_noct_sam.call_args[0][1], weather['temp_air']) assert_series_equal(m_noct_sam.call_args[0][2], weather['wind_speed']) + # check that effective_irradiance was used + assert_series_equal(m_noct_sam.call_args[0][3], + mc.results.effective_irradiance) assert not mc.results.ac.empty From 5e37926036ff2c23b67cc2c2a03a9e93ba115179 Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Mon, 15 Mar 2021 18:34:33 -0600 Subject: [PATCH 2/4] change to kwargs in mocker.spy --- pvlib/tests/test_modelchain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/tests/test_modelchain.py b/pvlib/tests/test_modelchain.py index 372d7aea02..814868f40b 100644 --- a/pvlib/tests/test_modelchain.py +++ b/pvlib/tests/test_modelchain.py @@ -720,7 +720,7 @@ def test_run_model_with_weather_noct_sam_temp(sapm_dc_snl_ac_system, location, assert_series_equal(m_noct_sam.call_args[0][1], weather['temp_air']) assert_series_equal(m_noct_sam.call_args[0][2], weather['wind_speed']) # check that effective_irradiance was used - assert_series_equal(m_noct_sam.call_args[0][3], + assert_series_equal(m_noct_sam.call_args[1][0], mc.results.effective_irradiance) assert not mc.results.ac.empty From e0dbe57e9c57a306c7ade1559e6d4b3d79974e2f Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Mon, 15 Mar 2021 19:10:22 -0600 Subject: [PATCH 3/4] try this --- pvlib/tests/test_modelchain.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pvlib/tests/test_modelchain.py b/pvlib/tests/test_modelchain.py index 814868f40b..0589f1d300 100644 --- a/pvlib/tests/test_modelchain.py +++ b/pvlib/tests/test_modelchain.py @@ -720,9 +720,8 @@ def test_run_model_with_weather_noct_sam_temp(sapm_dc_snl_ac_system, location, assert_series_equal(m_noct_sam.call_args[0][1], weather['temp_air']) assert_series_equal(m_noct_sam.call_args[0][2], weather['wind_speed']) # check that effective_irradiance was used - assert_series_equal(m_noct_sam.call_args[1][0], - mc.results.effective_irradiance) - assert not mc.results.ac.empty + assert m_noct_sam.call_args.kwargs == { + 'effective_irradiance': mc.results.effective_irradiance} def test_run_model_tracker(sapm_dc_snl_ac_system, location, weather, mocker): From 80230b51c9d7a873a32f88c8046cb15da91c2af6 Mon Sep 17 00:00:00 2001 From: Cliff Hansen Date: Tue, 16 Mar 2021 09:07:00 -0600 Subject: [PATCH 4/4] test fix --- pvlib/tests/test_modelchain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/tests/test_modelchain.py b/pvlib/tests/test_modelchain.py index 0589f1d300..691fb2b7fd 100644 --- a/pvlib/tests/test_modelchain.py +++ b/pvlib/tests/test_modelchain.py @@ -720,7 +720,7 @@ def test_run_model_with_weather_noct_sam_temp(sapm_dc_snl_ac_system, location, assert_series_equal(m_noct_sam.call_args[0][1], weather['temp_air']) assert_series_equal(m_noct_sam.call_args[0][2], weather['wind_speed']) # check that effective_irradiance was used - assert m_noct_sam.call_args.kwargs == { + assert m_noct_sam.call_args[1] == { 'effective_irradiance': mc.results.effective_irradiance}