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..691fb2b7fd 100644 --- a/pvlib/tests/test_modelchain.py +++ b/pvlib/tests/test_modelchain.py @@ -719,7 +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']) - assert not mc.results.ac.empty + # check that effective_irradiance was used + assert m_noct_sam.call_args[1] == { + 'effective_irradiance': mc.results.effective_irradiance} def test_run_model_tracker(sapm_dc_snl_ac_system, location, weather, mocker):