Right now, we have code for calculating GHI, DHI, and DNI via the component sum equations in pvlib/pvanalytics, and doing nighttime corrections (pvlib/pvanalytics#163). @cwhanse and @kanderso-nrel suggested we port over the 3 component sum equations to the pvlib.irradiance module, and call them directly in pvlib/pvanalytics before applying a nighttime filter. This would require taking the guts out of pvlib.modelchain.ModelChain._complete_irradiance and creating a new function in pvlib.irradiance.